patches/glibc/linuxthreads-2.3.6/100-cygwin.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Jun 08 23:26:54 2010 +0200 (2010-06-08)
changeset 1976 2d90ec981ba3
parent 402 197e1b49586e
permissions -rw-r--r--
config: add support for a second part of the generated choices

Some components have configuration options that can depend on
generic options, so they should go below those.

uClibc for example:
- has its own options (wchar...)
- uses the generic options (threads...)
- if linuxthreads chosen, offers two impls

So we need to be able to split the components options in 2,
one part that is above the generic options, and one part that
ends up below the generic options.
     1 Fixes
     2 elf/librtld.os: In function `process_envvars': : undefined reference to `__access'
     3 ...
     4 when building glibc-2.3.3 on cygwin
     5 
     6 Idea from
     7 http://sources.redhat.com/ml/bug-glibc/2002-01/msg00071/glibc-2.2-cygin-shared.patch
     8 Basically, make glibc use .oST as suffix for 'object static'
     9 instead of .oS, since cygwin has trouble distinguishing .os from .oS
    10 (Original patch had .on, but .oST is more mnemonic for 'object static')
    11 
    12 glibc-linuxthreads-2.3.3 also requires a patch, see 
    13 ../glibc-linuxthreads-2.3.3/glibc-linuxthreads-2.3.3-cygwin.patch
    14 
    15 [ rediffed against glibc-2.3.5 ]
    16 
    17 diff -aur glibc-2.3.5/linuxthreads/Makefile glibc-2.3.5-cygwin/linuxthreads/Makefile
    18 --- glibc-2.3.5/linuxthreads/Makefile	2005-02-16 12:26:38.000000000 +0100
    19 +++ glibc-2.3.5-cygwin/linuxthreads/Makefile	2005-05-11 08:32:50.453125000 +0200
    20 @@ -159,7 +159,7 @@
    21  install: $(inst_libdir)/libpthread.so
    22  $(inst_libdir)/libpthread.so: $(common-objpfx)format.lds \
    23  			      $(objpfx)libpthread.so$(libpthread.so-version) \
    24 -			      $(inst_libdir)/$(patsubst %,$(libtype.oS),\
    25 +			      $(inst_libdir)/$(patsubst %,$(libtype.oST),\
    26  							$(libprefix)pthread) \
    27  			      $(+force)
    28  	(echo '/* GNU ld script';\
    29 @@ -167,7 +167,7 @@
    30  	 echo '   the static library, so try that secondarily.  */';\
    31  	 cat $<; \
    32  	 echo 'GROUP ( $(slibdir)/libpthread.so$(libpthread.so-version)' \
    33 -	      '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)pthread)'\
    34 +	      '$(libdir)/$(patsubst %,$(libtype.oST),$(libprefix)pthread)'\
    35  	      ')' \
    36  	) > $@.new
    37  	mv -f $@.new $@