From: cgf@bbc.com (Christopher Faylor)
Subject: Re: comments on cygwin32 b19 ld problems
13 Mar 1998 13:15:04 -0800
Message-ID: <199803120243.VAA06365.cygnus.gnu-win32@hardy.bbc.com>
To: khan@xraylith.wisc.edu
Cc: gnu-win32@cygnus.com, ian@cygnus.com, khan@eh_pc11.xraylith.wisc.edu,
        noer@cygnus.com, sos@prospect.com.ru

I can confirm that this works.  I'm using Mumit's EGCS/binutils with a
change very similar to the one he shows below.

cgf

>Christopher Faylor <cgf@bbc.com> writes:
>> 
>> It should be easy to fix.  We can just name the section ".data_nocopy"
>> instead of ".data$nocopy" and explicitly include .data_nocopy after __data_en
>> d
>> in the ldtemplate files.
>> 
>
>Following Chris' suggestion, I propose something along the lines of the
>following (changes to b19 winsup and gas-980303 ld template). Now both
>cygwin32 b19 fork works, and so do C++ code that uses grouped sections 
>for template data.
>
>===== WINSUP
>Wed Mar 11 20:28:42 1998  Mumit Khan <khan@xraylith.wisc.edu>
>
>	* winsup.h (NO_COPY): Use explicitly named section.
>
>--- ../../src/winsup/winsup.h	Sun Feb 22 20:29:02 1998
>+++ winsup.h	Wed Mar 11 20:03:50 1998
>@@ -357,7 +357,7 @@ extern "C" class shared_info *cygwin32_g
> 
> #define WM_ASYNCIO	0x8000		// WM_APP
> 
>-#define NO_COPY __attribute__((section(".data$nocopy")))
>+#define NO_COPY __attribute__((section(".data_cygwin_nocopy")))
> 
> /* Note that MAX_PATH is defined in the windows headers */
> /* There is also PATH_MAX and MAXPATHLEN.
>
>===== BINUTILS 980303
>
>Wed Mar 11 20:32:30 1998  Mumit Khan <khan@xraylith.wisc.edu>
>
>	* scripttempl/pe.sc: Put cygwin32-specific .data_cygwin_nocopy in 
>	.data section.
>
>--- scripttempl/pe.sc.~1	Wed Mar 11 20:30:40 1998
>+++ scripttempl/pe.sc		Wed Mar 11 20:31:10 1998
>@@ -37,6 +37,7 @@ SECTIONS
>     *(.data2)
>     ${RELOCATING+*(.data\$*)}
>     ${RELOCATING+__data_end__ = . ;}
>+    *(.data_cygwin_nocopy)
>   }
> 
>   .bss ${RELOCATING+BLOCK(__section_alignment__)} :
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".
