This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
win32 patch 2 -- ASM_OUTPUT_SECTION_NAME fix
- To: egcs-patches at cygnus dot com
- Subject: win32 patch 2 -- ASM_OUTPUT_SECTION_NAME fix
- From: Mumit Khan <khan at xraylith dot wisc dot edu>
- Date: Sat, 05 Sep 1998 11:22:55 -0500
I was being over-cautious in checking the exact section attributes in
ASM_OUTPUT_SECTION_NAME, which breaks down when creating C++ vtables to
be exported for a win32 DLL. My goof when I sent in the c++ jump table
fix for cygwin32 right before the release, and a good excuse for me to
figure out how to add a local dejagnu testsuite.
An example sequence that can trigger incorrect error is the following:
.globl __vt$12DllClassBase
.section .data$_vt$12DllClassBase,"w" <<< (1)
.linkonce same_size
.align 8
.section .drectve
.ascii " -export:_vt$12DllClassBase"
.section .data$_vt$12DllClassBase,"" <<< (2)
__vt$12DllClassBase:
The error is triggered at (2) after the section switch.
Regards,
Mumit -- khan@xraylith.wisc.edu
=====================================================================
Sat Aug 29 13:32:58 1998 Mumit Khan <khan@xraylith.wisc.edu>
* i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't check for
for exact section attributions.
Index: egcs-1.1/gcc/config/i386/cygwin32.h
diff -u -3 -p -r1.1.1.1 egcs-1.1/gcc/config/i386/cygwin32.h
--- egcs-1.1/gcc/config/i386/cygwin32.h 1998/09/01 19:41:13 1.1.1.1
+++ egcs-1.1/gcc/config/i386/cygwin32.h 1998/09/03 04:33:15
@@ -376,9 +376,6 @@ do { \
} \
else \
{ \
- if (DECL && s->type != type) \
- error_with_decl (DECL, "%s causes a section type conflict"); \
- \
fprintf (STREAM, ".section\t%s,\"%s\"\n", NAME, mode); \
} \
} while (0)