patches/glibc/linuxthreads-2.3.6/100-cygwin.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jul 17 22:43:07 2011 +0200 (2011-07-17)
changeset 2893 a8a65758664f
parent 402 197e1b49586e
permissions -rw-r--r--
cc/gcc: do not use the core pass-2 to build the baremetal compiler

In case we build a baremetal compiler, use the standard passes:
- core_cc is used to build the C library;
- as such, it is meant to run on build, not host;
- the final compiler is meant to run on host;

As the current final compiler step can not build a baremetal compiler,
call the core backend from the final step.

NB: Currently, newlib is built during the start_files pass, so we have
to have a core compiler by then... Once we can build the baremetal
compiler from the final cc step, then we can move the newlib build to
the proper step, and then get rid of the core pass-1 static compiler...

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