diff options
author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-03-01 16:55:15 +0000 |
---|---|---|
committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-03-01 16:55:15 +0000 |
commit | 8a3289d2e5e204d9300840164257c79cc602ac4c (patch) | |
tree | 5696e89a9ccd065d7df27c20be9bd6576b0154af /gcc/config/i386/winnt.c | |
parent | 04fa5ba8ef57ef1f01ec32d69fa3cc2870eb7bd5 (diff) | |
download | gcc-8a3289d2e5e204d9300840164257c79cc602ac4c.tar.gz |
* config/i386/winnt.c (i386_pe_unique_section): Put read-only
data in the text section unless READONLY_DATA_SECTION is defined.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18342 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i386/winnt.c')
-rw-r--r-- | gcc/config/i386/winnt.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/gcc/config/i386/winnt.c b/gcc/config/i386/winnt.c index e8e5df36425..8c35f3979c7 100644 --- a/gcc/config/i386/winnt.c +++ b/gcc/config/i386/winnt.c @@ -1,6 +1,6 @@ /* Subroutines for insn-output.c for Windows NT. Contributed by Douglas Rupp (drupp@cs.washington.edu) - Copyright (C) 1995 Free Software Foundation, Inc. + Copyright (C) 1995, 1997 Free Software Foundation, Inc. This file is part of GNU CC. @@ -19,8 +19,8 @@ along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include <stdio.h> #include "config.h" +#include <stdio.h> #include "rtl.h" #include "regs.h" #include "hard-reg-set.h" @@ -78,11 +78,18 @@ i386_pe_unique_section (decl, reloc) /* The object is put in, for example, section .text$foo. The linker will then ultimately place them in .text - (everything from the $ on is stripped). */ + (everything from the $ on is stripped). Don't put + read-only data in .rdata section to avoid a PE linker + bug when .rdata$* grouped sections are used in code + without a .rdata section. */ if (TREE_CODE (decl) == FUNCTION_DECL) prefix = ".text$"; else if (DECL_READONLY_SECTION (decl, reloc)) +#ifdef READONLY_DATA_SECTION prefix = ".rdata$"; +#else + prefix = ".text$"; +#endif else prefix = ".data$"; len = strlen (name) + strlen (prefix); |