patches/glibc/linuxthreads-2.3.6/100-cygwin.patch
author Johannes Stezenbach <js@sig21.net>
Tue Oct 30 00:22:25 2012 +0000 (2012-10-30)
changeset 3097 5c67476c7342
parent 402 197e1b49586e
permissions -rw-r--r--
scripts/functions: fix endless loop in debug-shell with IO redirection

CT_DEBUG_INTERACTIVE is disabled when stdin, stdout or
stderr are redirected, but the check is only done at
the start of the build and doesn't catch when individual
build commands use redirection. When stdin is redirected
it will cause the debug shell to exit immediately, causing
and endless loop. Thus, save the stdin/our/err file handles
and restore them before invoking the debug shell.

Signed-off-by: Johannes Stezenbach <js@sig21.net>
Message-Id: <20121030102225.GA8303@sig21.net>
Patchwork-Id: 195409
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 $@