Commit 81023100 by Mumit Khan Committed by Jeff Law

winnt.c (i386_pe_unique_section): Put read-only data in the text section unless…

winnt.c (i386_pe_unique_section): Put read-only data in the text section unless READONLY_DATA_SECTION is defined.

        * config/i386/winnt.c (i386_pe_unique_section): Put read-only
        data in the text section unless READONLY_DATA_SECTION is defined.

From-SVN: r18342
parent 818e50a5
Sun Mar 1 17:57:34 1998 Mumit Khan <khan@xraylith.wisc.edu>
* config/i386/winnt.c (i386_pe_unique_section): Put read-only
data in the text section unless READONLY_DATA_SECTION is defined.
Sun Mar 1 17:48:46 1998 Jeffrey A Law (law@cygnus.com)
* c-parse.in (undeclared variable error): Tweak error message to
......
/* 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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment