This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

win32 patch 2 -- ASM_OUTPUT_SECTION_NAME fix



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)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]