mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2025-01-18 02:39:46 +00:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
0d17d26005
@ -71,9 +71,9 @@ choice
|
||||
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
config CC_GCC_V_6_1_0
|
||||
config CC_GCC_V_6_2_0
|
||||
bool
|
||||
prompt "6.1.0"
|
||||
prompt "6.2.0"
|
||||
select CC_GCC_6
|
||||
|
||||
config CC_GCC_V_5_4_0
|
||||
@ -160,6 +160,7 @@ config CC_GCC_5
|
||||
select CC_GCC_HAS_LNK_HASH_STYLE
|
||||
select CC_GCC_HAS_LIBQUADMATH
|
||||
select CC_GCC_HAS_LIBSANITIZER
|
||||
select CC_GCC_HAS_LIBMPX
|
||||
select CC_SUPPORT_GOLANG
|
||||
|
||||
config CC_GCC_5_or_later
|
||||
@ -178,6 +179,7 @@ config CC_GCC_6
|
||||
select CC_GCC_HAS_LNK_HASH_STYLE
|
||||
select CC_GCC_HAS_LIBQUADMATH
|
||||
select CC_GCC_HAS_LIBSANITIZER
|
||||
select CC_GCC_HAS_LIBMPX
|
||||
select CC_SUPPORT_GOLANG
|
||||
|
||||
config CC_GCC_6_or_later
|
||||
@ -276,13 +278,16 @@ config CC_GCC_HAS_LIBQUADMATH
|
||||
config CC_GCC_HAS_LIBSANITIZER
|
||||
bool
|
||||
|
||||
config CC_GCC_HAS_LIBMPX
|
||||
bool
|
||||
|
||||
if ! CC_GCC_CUSTOM
|
||||
|
||||
config CC_GCC_VERSION
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "6.1.0" if CC_GCC_V_6_1_0
|
||||
default "6.2.0" if CC_GCC_V_6_2_0
|
||||
default "5.4.0" if CC_GCC_V_5_4_0
|
||||
default "linaro-5.2-2015.11-2" if CC_GCC_V_linaro_5_2
|
||||
default "linaro-4.9-2015.06" if CC_GCC_V_linaro_4_9
|
||||
|
@ -182,6 +182,17 @@ config CC_GCC_LIBSANITIZER
|
||||
|
||||
The default is 'N'. Say 'Y' if you need it, and report success/failure.
|
||||
|
||||
config CC_GCC_LIBMPX
|
||||
bool
|
||||
default y
|
||||
prompt "Compile libmpx"
|
||||
depends on CC_GCC_HAS_LIBMPX
|
||||
depends on ARCH_x86
|
||||
# MUSL does not define libc types that GCC requires. Mingw lacks certain headers.
|
||||
depends on !LIBC_musl && ! LIBC_mingw
|
||||
help
|
||||
Enable GCC support for Intel Memory Protection Extensions (MPX).
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
comment "Misc. obscure options."
|
||||
|
@ -60,6 +60,8 @@ config LIBC_UCLIBC_CUSTOM_VERSION
|
||||
prompt "Custom uClibc Version"
|
||||
help
|
||||
Enter the version number for your custom uClibc.
|
||||
Version 1.0.18 is only enabled in EXPERIMENTAL builds due to issues
|
||||
with static libraries.
|
||||
|
||||
config LIBC_VERSION
|
||||
string
|
||||
@ -75,10 +77,17 @@ choice
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_BELOW
|
||||
|
||||
config LIBC_UCLIBC_NG_V_1_0_12
|
||||
# List 1.0.17 first to make it default. 1.0.18 has issues with static libs.
|
||||
config LIBC_UCLIBC_NG_V_1_0_17
|
||||
bool
|
||||
prompt "1.0.12"
|
||||
select LIBC_UCLIBC_NG_1_0_12_or_later
|
||||
prompt "1.0.17"
|
||||
select LIBC_UCLIBC_NG_1_0_15_or_later
|
||||
|
||||
config LIBC_UCLIBC_NG_V_1_0_18
|
||||
bool
|
||||
prompt "1.0.18"
|
||||
depends on EXPERIMENTAL
|
||||
select LIBC_UCLIBC_NG_1_0_15_or_later
|
||||
|
||||
config LIBC_UCLIBC_V_0_9_33_2
|
||||
bool
|
||||
@ -91,12 +100,13 @@ config LIBC_VERSION
|
||||
string
|
||||
# Don't remove next line
|
||||
# CT_INSERT_VERSION_STRING_BELOW
|
||||
default "1.0.12" if LIBC_UCLIBC_NG_V_1_0_12
|
||||
default "1.0.18" if LIBC_UCLIBC_NG_V_1_0_18
|
||||
default "1.0.17" if LIBC_UCLIBC_NG_V_1_0_17
|
||||
default "0.9.33.2" if LIBC_UCLIBC_V_0_9_33_2
|
||||
|
||||
endif # ! LIBC_UCLIBC_CUSTOM
|
||||
|
||||
config LIBC_UCLIBC_NG_1_0_12_or_later
|
||||
config LIBC_UCLIBC_NG_1_0_15_or_later
|
||||
bool
|
||||
select LIBC_UCLIBC_NG_1_0_0_or_later
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# uClibc second-part option
|
||||
|
||||
if THREADS_LT
|
||||
if THREADS_LT && !LIBC_UCLIBC_NG_1_0_15_or_later
|
||||
|
||||
choice
|
||||
bool
|
||||
@ -30,10 +30,12 @@ endchoice
|
||||
|
||||
endif # THREADS_LT
|
||||
|
||||
# uClibc-ng 1.0.15 did away with 2 implementations of linuxthreads
|
||||
config LIBC_UCLIBC_LNXTHRD
|
||||
string
|
||||
default "" if THREADS_NONE
|
||||
default "" if THREADS_NATIVE
|
||||
default "" if LIBC_UCLIBC_NG_1_0_15_or_later
|
||||
default "old" if LIBC_UCLIBC_LNXTHRD_OLD
|
||||
default "new" if LIBC_UCLIBC_LNXTHRD_NEW
|
||||
|
||||
|
@ -1,12 +0,0 @@
|
||||
diff -dur ELFkickers.orig/sstrip/Makefile ELFkickers/sstrip/Makefile
|
||||
--- ELFkickers.orig/sstrip/Makefile 2001-03-24 12:58:27.000000000 +0100
|
||||
+++ ELFkickers/sstrip/Makefile 2007-05-31 21:17:18.000000000 +0200
|
||||
@@ -1,7 +1,7 @@
|
||||
# Makefile for sstrip
|
||||
|
||||
sstrip: sstrip.c
|
||||
- gcc -ggdb -Wall -W -o sstrip sstrip.c
|
||||
+ $(CC) -Wall -W -o sstrip sstrip.c
|
||||
|
||||
clean:
|
||||
rm -f sstrip
|
@ -1,40 +0,0 @@
|
||||
Message-ID: <4269173F.7020705@zee2.com>
|
||||
Date: Fri, 22 Apr 2005 16:24:47 +0100
|
||||
From: Steve Papacharalambous <stevep@zee2.com>
|
||||
To: "Robert P. J. Day" <rpjday@mindspring.com>
|
||||
CC: crossgcc list <crossgcc@sources.redhat.com>
|
||||
Subject: Re: cygwin source directory has moved
|
||||
In-Reply-To: <Pine.LNX.4.61.0504181746050.11794@localhost.localdomain>
|
||||
|
||||
Hi Robert,
|
||||
|
||||
I've attached two patches:
|
||||
|
||||
1/ For crosstool-0.31 which changes the CYGWIN_URL to one which has the
|
||||
cygwin source archives. The version of cygwin that is used to build the
|
||||
cross toolchain has been changed to cygwin-1.5.15-1-src.tar.bz2 since
|
||||
most of the mirror sites don't seem to have the original archive used.
|
||||
[created gcc-3.3.2-cygwin-1.5.15-1.dat - dank]
|
||||
|
||||
|
||||
2/ The later cygwin source archive fails to cross build with the error:
|
||||
/opt/crosstool/i686-pc-cygwin/gcc-3.3.2-cygwin-1.5.15-1/lib/gcc-lib/i686-pc-cygwin/bin/ld:
|
||||
cannot find -luser32
|
||||
|
||||
unless the second patch is applied,
|
||||
|
||||
|
||||
diff -uNr cygwin-1.5.15-1.orig/winsup/mingw/Makefile.in cygwin-1.5.15-1/winsup/mingw/Makefile.in
|
||||
--- cygwin-1.5.15-1.orig/winsup/mingw/Makefile.in 2005-02-28 22:51:02.000000000 +0000
|
||||
+++ cygwin-1.5.15-1/winsup/mingw/Makefile.in 2005-04-22 15:29:18.000000000 +0100
|
||||
@@ -71,7 +71,7 @@
|
||||
mkinstalldirs = $(SHELL) @MKINSTALLDIRS@
|
||||
|
||||
CC := @CC@
|
||||
-override CC := ${filter-out -L% -B%,${shell echo $(CC) | sed -e 's%\(-isystem\|-iwithprefixbefore\) *[^ ]*\( \|$$\)% %g'}}
|
||||
+override CC := ${filter-out -B%,${shell echo $(CC) | sed -e 's%\(-isystem\|-iwithprefixbefore\) *[^ ]*\( \|$$\)% %g'}}
|
||||
# FIXME: Which is it, CC or CC_FOR_TARGET?
|
||||
CC_FOR_TARGET = $(CC)
|
||||
AS_FOR_TARGET = $(AS)
|
||||
|
||||
|
@ -1,32 +0,0 @@
|
||||
diff -dur duma_2_5_1/Makefile duma_2_5_1.orig/Makefile
|
||||
--- duma_2_5_1/Makefile 2006-06-18 06:02:13.000000000 +0200
|
||||
+++ duma_2_5_1.orig/Makefile 2007-07-11 17:49:43.000000000 +0200
|
||||
@@ -98,10 +98,6 @@
|
||||
LIBS=-lpthread
|
||||
endif
|
||||
|
||||
-
|
||||
-CC=gcc
|
||||
-CXX=g++
|
||||
-AR=ar
|
||||
INSTALL=install
|
||||
|
||||
############################################################
|
||||
@@ -169,7 +165,7 @@
|
||||
|
||||
createconf: createconf.o
|
||||
- rm -f createconf
|
||||
- $(CC) $(CFLAGS) $(DUMA_OPTIONS) createconf.o -o createconf
|
||||
+ $(HOSTCC) $(HOSTCFLAGS) $(DUMA_OPTIONS) createconf.o -o createconf
|
||||
|
||||
tstheap: libduma.a tstheap.o
|
||||
- rm -f tstheap
|
||||
@@ -211,7 +207,7 @@
|
||||
# define rules how to build objects for createconf
|
||||
#
|
||||
createconf.o:
|
||||
- $(CC) $(CFLAGS) $(DUMA_OPTIONS) -c createconf.c -o $@
|
||||
+ $(HOSTCC) $(HOSTCFLAGS) $(DUMA_OPTIONS) -c createconf.c -o $@
|
||||
|
||||
|
||||
#
|
@ -1,20 +0,0 @@
|
||||
diff -dur duma_2_5_1.orig/Makefile duma_2_5_1/Makefile
|
||||
--- duma_2_5_1.orig/Makefile 2007-07-11 17:49:43.000000000 +0200
|
||||
+++ duma_2_5_1/Makefile 2007-07-11 17:50:46.000000000 +0200
|
||||
@@ -115,9 +115,14 @@
|
||||
dumatest.c tstheap.c dumatestpp.cpp testoperators.cpp \
|
||||
createconf.c
|
||||
|
||||
-OBJECTS = dumapp.o duma.o sem_inc.o print.o
|
||||
+OBJECTS = duma.o sem_inc.o print.o
|
||||
+SO_OBJECTS = duma_so.o sem_inc_so.o print_so.o
|
||||
+
|
||||
+ifeq ($(DUMA_CPP),1)
|
||||
+OBJECTS += dumapp.o
|
||||
+SO_OBJECTS += dumapp_so.o
|
||||
+endif
|
||||
|
||||
-SO_OBJECTS = dumapp_so.o duma_so.o sem_inc_so.o print_so.o
|
||||
|
||||
all: libduma.a $(DUMASO) tstheap dumatest dumatestpp testoperators tstheap_so dumatestpp_so
|
||||
@ echo "Testing DUMA."
|
@ -1,31 +0,0 @@
|
||||
diff -durN duma_2_5_12.orig/Makefile duma_2_5_12/Makefile
|
||||
--- duma_2_5_12.orig/Makefile 2007-08-17 09:34:25.000000000 +0200
|
||||
+++ duma_2_5_12/Makefile 2007-09-07 21:50:04.000000000 +0200
|
||||
@@ -93,9 +93,6 @@
|
||||
# also define 'WIN32'
|
||||
|
||||
# some defaults:
|
||||
-CC=gcc
|
||||
-CXX=g++
|
||||
-AR=ar
|
||||
INSTALL=install
|
||||
RM=rm
|
||||
RMFORCE=rm -f
|
||||
@@ -299,7 +296,7 @@
|
||||
|
||||
createconf$(EXEPOSTFIX): createconf.o
|
||||
- $(RMFORCE) createconf$(EXEPOSTFIX)
|
||||
- $(CC) $(CFLAGS) $(DUMA_OPTIONS) createconf.o -o createconf$(EXEPOSTFIX)
|
||||
+ $(HOSTCC) $(HOSTCFLAGS) $(DUMA_OPTIONS) createconf.o -o createconf$(EXEPOSTFIX)
|
||||
|
||||
tstheap$(EXEPOSTFIX): libduma.a tstheap.o
|
||||
- $(RMFORCE) tstheap$(EXEPOSTFIX)
|
||||
@@ -360,7 +357,7 @@
|
||||
# define rules how to build objects for createconf
|
||||
#
|
||||
createconf.o:
|
||||
- $(CC) $(CFLAGS) $(DUMA_OPTIONS) -c createconf.c -o $@
|
||||
+ $(HOSTCC) $(HOSTCFLAGS) $(DUMA_OPTIONS) -c createconf.c -o $@
|
||||
|
||||
|
||||
#
|
@ -1,19 +0,0 @@
|
||||
diff -durN duma_2_5_12.orig/Makefile duma_2_5_12/Makefile
|
||||
--- duma_2_5_12.orig/Makefile 2007-09-07 21:57:45.000000000 +0200
|
||||
+++ duma_2_5_12/Makefile 2007-09-07 21:58:35.000000000 +0200
|
||||
@@ -231,9 +231,13 @@
|
||||
dumatest.c tstheap.c thread-test.c testmt.c dumatestpp.cpp testoperators.cpp \
|
||||
createconf.c
|
||||
|
||||
-OBJECTS = dumapp.o duma.o sem_inc.o print.o
|
||||
+OBJECTS = duma.o sem_inc.o print.o
|
||||
+SO_OBJECTS = duma_so.o sem_inc_so.o print_so.o
|
||||
|
||||
-SO_OBJECTS = dumapp_so.o duma_so.o sem_inc_so.o print_so.o
|
||||
+ifeq ($(DUMA_CPP),1)
|
||||
+OBJECTS += dumapp.o
|
||||
+SO_OBJECTS += dumapp_so.o
|
||||
+endif
|
||||
|
||||
all: libduma.a tstheap$(EXEPOSTFIX) dumatest$(EXEPOSTFIX) thread-test$(EXEPOSTFIX) testmt$(EXEPOSTFIX) dumatestpp$(EXEPOSTFIX) testoperators$(EXEPOSTFIX) $(DUMA_DYN_DEPS)
|
||||
@ $(ECHOLF)
|
@ -1,32 +0,0 @@
|
||||
diff -durN duma_2_5_14.orig/Makefile duma_2_5_14/Makefile
|
||||
--- duma_2_5_14.orig/Makefile 2008-03-13 00:54:10.000000000 +0100
|
||||
+++ duma_2_5_14/Makefile 2008-06-17 10:28:45.000000000 +0200
|
||||
@@ -93,10 +93,6 @@
|
||||
# also define 'WIN32'
|
||||
|
||||
# some defaults:
|
||||
-CC=gcc
|
||||
-CXX=g++
|
||||
-AR=ar
|
||||
-RANLIB=ranlib
|
||||
INSTALL=install
|
||||
RM=rm
|
||||
RMFORCE=rm -f
|
||||
@@ -317,7 +313,7 @@
|
||||
|
||||
createconf$(EXEPOSTFIX): createconf.o
|
||||
- $(RMFORCE) createconf$(EXEPOSTFIX)
|
||||
- $(CC) $(CFLAGS) $(DUMA_OPTIONS) createconf.o -o createconf$(EXEPOSTFIX)
|
||||
+ $(HOSTCC) $(HOSTCFLAGS) $(DUMA_OPTIONS) createconf.o -o createconf$(EXEPOSTFIX)
|
||||
|
||||
tstheap$(EXEPOSTFIX): libduma.a tstheap.o
|
||||
- $(RMFORCE) tstheap$(EXEPOSTFIX)
|
||||
@@ -378,7 +374,7 @@
|
||||
# define rules how to build objects for createconf
|
||||
#
|
||||
createconf.o:
|
||||
- $(CC) $(CFLAGS) $(DUMA_OPTIONS) -c createconf.c -o $@
|
||||
+ $(HOSTCC) $(HOSTCFLAGS) $(DUMA_OPTIONS) -c createconf.c -o $@
|
||||
|
||||
|
||||
#
|
@ -1,19 +0,0 @@
|
||||
diff -durN duma_2_5_14.orig/Makefile duma_2_5_14/Makefile
|
||||
--- duma_2_5_14.orig/Makefile 2008-06-17 10:30:40.000000000 +0200
|
||||
+++ duma_2_5_14/Makefile 2008-06-17 10:30:17.000000000 +0200
|
||||
@@ -228,9 +228,13 @@
|
||||
dumatest.c tstheap.c thread-test.c testmt.c dumatestpp.cpp testoperators.cpp \
|
||||
createconf.c
|
||||
|
||||
-OBJECTS = dumapp.o duma.o sem_inc.o print.o
|
||||
+OBJECTS = duma.o sem_inc.o print.o
|
||||
+SO_OBJECTS = duma_so.o sem_inc_so.o print_so.o
|
||||
|
||||
-SO_OBJECTS = dumapp_so.o duma_so.o sem_inc_so.o print_so.o
|
||||
+ifeq ($(DUMA_CPP),1)
|
||||
+OBJECTS += dumapp.o
|
||||
+SO_OBJECTS += dumapp_so.o
|
||||
+endif
|
||||
|
||||
all: libduma.a tstheap$(EXEPOSTFIX) dumatest$(EXEPOSTFIX) thread-test$(EXEPOSTFIX) testmt$(EXEPOSTFIX) dumatestpp$(EXEPOSTFIX) testoperators$(EXEPOSTFIX) $(DUMA_DYN_DEPS)
|
||||
|
@ -1,31 +0,0 @@
|
||||
diff -durN duma_2_5_8.orig/Makefile duma_2_5_8/Makefile
|
||||
--- duma_2_5_8.orig/Makefile 2007-08-17 09:34:25.000000000 +0200
|
||||
+++ duma_2_5_8/Makefile 2007-09-07 21:50:04.000000000 +0200
|
||||
@@ -93,9 +93,6 @@
|
||||
# also define 'WIN32'
|
||||
|
||||
# some defaults:
|
||||
-CC=gcc
|
||||
-CXX=g++
|
||||
-AR=ar
|
||||
INSTALL=install
|
||||
RM=rm
|
||||
RMFORCE=rm -f
|
||||
@@ -281,7 +278,7 @@
|
||||
|
||||
createconf$(EXEPOSTFIX): createconf.o
|
||||
- $(RMFORCE) createconf$(EXEPOSTFIX)
|
||||
- $(CC) $(CFLAGS) $(DUMA_OPTIONS) createconf.o -o createconf$(EXEPOSTFIX)
|
||||
+ $(HOSTCC) $(HOSTCFLAGS) $(DUMA_OPTIONS) createconf.o -o createconf$(EXEPOSTFIX)
|
||||
|
||||
tstheap$(EXEPOSTFIX): libduma.a tstheap.o
|
||||
- $(RMFORCE) tstheap$(EXEPOSTFIX)
|
||||
@@ -338,7 +335,7 @@
|
||||
# define rules how to build objects for createconf
|
||||
#
|
||||
createconf.o:
|
||||
- $(CC) $(CFLAGS) $(DUMA_OPTIONS) -c createconf.c -o $@
|
||||
+ $(HOSTCC) $(HOSTCFLAGS) $(DUMA_OPTIONS) -c createconf.c -o $@
|
||||
|
||||
|
||||
#
|
@ -1,19 +0,0 @@
|
||||
diff -durN duma_2_5_8.orig/Makefile duma_2_5_8/Makefile
|
||||
--- duma_2_5_8.orig/Makefile 2007-09-07 21:57:45.000000000 +0200
|
||||
+++ duma_2_5_8/Makefile 2007-09-07 21:58:35.000000000 +0200
|
||||
@@ -216,9 +216,13 @@
|
||||
dumatest.c tstheap.c testmt.c dumatestpp.cpp testoperators.cpp \
|
||||
createconf.c
|
||||
|
||||
-OBJECTS = dumapp.o duma.o sem_inc.o print.o
|
||||
+OBJECTS = duma.o sem_inc.o print.o
|
||||
+SO_OBJECTS = duma_so.o sem_inc_so.o print_so.o
|
||||
|
||||
-SO_OBJECTS = dumapp_so.o duma_so.o sem_inc_so.o print_so.o
|
||||
+ifeq ($(DUMA_CPP),1)
|
||||
+OBJECTS += dumapp.o
|
||||
+SO_OBJECTS += dumapp_so.o
|
||||
+endif
|
||||
|
||||
all: libduma.a tstheap$(EXEPOSTFIX) dumatest$(EXEPOSTFIX) testmt$(EXEPOSTFIX) dumatestpp$(EXEPOSTFIX) testoperators$(EXEPOSTFIX) $(DUMA_DYN_DEPS)
|
||||
@ $(ECHOLF)
|
@ -0,0 +1,29 @@
|
||||
From 9bf6066d588632dab9f78932df15b5b4140f31f3 Mon Sep 17 00:00:00 2001
|
||||
From: "Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be>
|
||||
Date: Fri, 6 Nov 2015 14:27:23 +0100
|
||||
Subject: [PATCH] gcc/config.gcc: fix typo for powerpc e6500 cpu_is_64bit
|
||||
|
||||
Otherwise it is not recognized as a 64-bit powerpc and gcc will not generate
|
||||
64-bit binaries by default.
|
||||
|
||||
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
|
||||
---
|
||||
gcc/config.gcc | 2 +-
|
||||
2 files changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gcc/config.gcc b/gcc/config.gcc
|
||||
index 4a7cbd2..9cc765e 100644
|
||||
--- a/gcc/config.gcc
|
||||
+++ b/gcc/config.gcc
|
||||
@@ -439,7 +439,7 @@ powerpc*-*-*)
|
||||
cpu_type=rs6000
|
||||
extra_headers="ppc-asm.h altivec.h spe.h ppu_intrinsics.h paired.h spu2vmx.h vec_types.h si2vmx.h htmintrin.h htmxlintrin.h"
|
||||
case x$with_cpu in
|
||||
- xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[345678]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|Xe6500)
|
||||
+ xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[345678]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|xe6500)
|
||||
cpu_is_64bit=yes
|
||||
;;
|
||||
esac
|
||||
--
|
||||
2.6.2
|
||||
|
@ -1,34 +0,0 @@
|
||||
2007-02-15 Khem Raj <kraj@xxxxxxxxxx>
|
||||
|
||||
* sysdeps/unix/sysv/linux/i386/sysdep.h: Re-define __i686.
|
||||
* nptl/sysdeps/pthread/pt-initfini.c: Ditto.
|
||||
|
||||
diff -urN glibc-2.10.1.orig/nptl/sysdeps/pthread/pt-initfini.c glibc-2.10.1/nptl/sysdeps/pthread/pt-initfini.c
|
||||
--- glibc-2.10.1.orig/nptl/sysdeps/pthread/pt-initfini.c 2009-12-08 21:10:20.000000000 +0100
|
||||
+++ glibc-2.10.1/nptl/sysdeps/pthread/pt-initfini.c 2010-12-30 11:33:31.520855595 +0100
|
||||
@@ -45,6 +45,11 @@
|
||||
/* Embed an #include to pull in the alignment and .end directives. */
|
||||
asm ("\n#include \"defs.h\"");
|
||||
|
||||
+asm ("\n#if defined __i686 && defined __ASSEMBLER__");
|
||||
+asm ("\n#undef __i686");
|
||||
+asm ("\n#define __i686 __i686");
|
||||
+asm ("\n#endif");
|
||||
+
|
||||
/* The initial common code ends here. */
|
||||
asm ("\n/*@HEADER_ENDS*/");
|
||||
|
||||
diff -urN glibc-2.10.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h glibc-2.10.1/sysdeps/unix/sysv/linux/i386/sysdep.h
|
||||
--- glibc-2.10.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h 2009-12-08 21:10:20.000000000 +0100
|
||||
+++ glibc-2.10.1/sysdeps/unix/sysv/linux/i386/sysdep.h 2010-12-30 11:33:31.520855595 +0100
|
||||
@@ -29,6 +29,10 @@
|
||||
#include <dl-sysdep.h>
|
||||
#include <tls.h>
|
||||
|
||||
+#if defined __i686 && defined __ASSEMBLER__
|
||||
+#undef __i686
|
||||
+#define __i686 __i686
|
||||
+#endif
|
||||
|
||||
/* For Linux we can use the system call table in the header file
|
||||
/usr/include/asm/unistd.h
|
@ -1,28 +0,0 @@
|
||||
diff -urN glibc-2.10.1-orig/posix/sys/types.h glibc-2.10.1/posix/sys/types.h
|
||||
--- glibc-2.10.1-orig/posix/sys/types.h 2010-12-13 11:47:26.000000000 +0100
|
||||
+++ glibc-2.10.1/posix/sys/types.h 2011-03-29 14:16:00.374064708 +0200
|
||||
@@ -114,7 +114,10 @@
|
||||
#ifdef __USE_BSD
|
||||
# ifndef __daddr_t_defined
|
||||
typedef __daddr_t daddr_t;
|
||||
+# if ! defined(caddr_t) && ! defined(__caddr_t_defined)
|
||||
typedef __caddr_t caddr_t;
|
||||
+# define __caddr_t_defined
|
||||
+# endif
|
||||
# define __daddr_t_defined
|
||||
# endif
|
||||
#endif
|
||||
diff -urN glibc-2.10.1-orig/sunrpc/rpc/types.h glibc-2.10.1/sunrpc/rpc/types.h
|
||||
--- glibc-2.10.1-orig/sunrpc/rpc/types.h 2010-12-13 11:47:26.000000000 +0100
|
||||
+++ glibc-2.10.1/sunrpc/rpc/types.h 2011-03-29 14:16:32.988910439 +0200
|
||||
@@ -80,7 +80,10 @@
|
||||
#endif
|
||||
#ifndef __daddr_t_defined
|
||||
typedef __daddr_t daddr_t;
|
||||
+# if ! defined(caddr_t) && ! defined(__caddr_t_defined)
|
||||
typedef __caddr_t caddr_t;
|
||||
+# define __caddr_t_defined
|
||||
+# endif
|
||||
# define __daddr_t_defined
|
||||
#endif
|
||||
|
@ -1,16 +0,0 @@
|
||||
diff -urN glibc-2.10.1-orig/manual/Makefile glibc-2.10.1/manual/Makefile
|
||||
--- glibc-2.10.1-orig/manual/Makefile 2006-01-07 22:43:47.000000000 -0800
|
||||
+++ glibc-2.10.1/manual/Makefile 2014-01-15 11:49:08.256982014 -0800
|
||||
@@ -232,7 +232,11 @@
|
||||
.PHONY: stubs
|
||||
stubs: $(objpfx)stubs
|
||||
endif
|
||||
-$(objpfx)stubs ../po/manual.pot $(objpfx)stamp%:
|
||||
+$(objpfx)stamp%:
|
||||
+ $(make-target-directory)
|
||||
+ touch $@
|
||||
+
|
||||
+$(objpfx)stubs ../po/manual.pot:
|
||||
$(make-target-directory)
|
||||
touch $@
|
||||
|
@ -1,34 +0,0 @@
|
||||
2007-02-15 Khem Raj <kraj@xxxxxxxxxx>
|
||||
|
||||
* sysdeps/unix/sysv/linux/i386/sysdep.h: Re-define __i686.
|
||||
* nptl/sysdeps/pthread/pt-initfini.c: Ditto.
|
||||
|
||||
diff -urN glibc-2.11.1.orig/nptl/sysdeps/pthread/pt-initfini.c glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c
|
||||
--- glibc-2.11.1.orig/nptl/sysdeps/pthread/pt-initfini.c 2009-12-08 21:10:20.000000000 +0100
|
||||
+++ glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c 2010-12-30 11:33:31.520855595 +0100
|
||||
@@ -45,6 +45,11 @@
|
||||
/* Embed an #include to pull in the alignment and .end directives. */
|
||||
asm ("\n#include \"defs.h\"");
|
||||
|
||||
+asm ("\n#if defined __i686 && defined __ASSEMBLER__");
|
||||
+asm ("\n#undef __i686");
|
||||
+asm ("\n#define __i686 __i686");
|
||||
+asm ("\n#endif");
|
||||
+
|
||||
/* The initial common code ends here. */
|
||||
asm ("\n/*@HEADER_ENDS*/");
|
||||
|
||||
diff -urN glibc-2.11.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h
|
||||
--- glibc-2.11.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h 2009-12-08 21:10:20.000000000 +0100
|
||||
+++ glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h 2010-12-30 11:33:31.520855595 +0100
|
||||
@@ -29,6 +29,10 @@
|
||||
#include <dl-sysdep.h>
|
||||
#include <tls.h>
|
||||
|
||||
+#if defined __i686 && defined __ASSEMBLER__
|
||||
+#undef __i686
|
||||
+#define __i686 __i686
|
||||
+#endif
|
||||
|
||||
/* For Linux we can use the system call table in the header file
|
||||
/usr/include/asm/unistd.h
|
@ -1,28 +0,0 @@
|
||||
diff -urN glibc-2.11.1-orig/posix/sys/types.h glibc-2.11.1/posix/sys/types.h
|
||||
--- glibc-2.11.1-orig/posix/sys/types.h 2010-12-13 11:47:26.000000000 +0100
|
||||
+++ glibc-2.11.1/posix/sys/types.h 2011-03-29 14:16:00.374064708 +0200
|
||||
@@ -114,7 +114,10 @@
|
||||
#ifdef __USE_BSD
|
||||
# ifndef __daddr_t_defined
|
||||
typedef __daddr_t daddr_t;
|
||||
+# if ! defined(caddr_t) && ! defined(__caddr_t_defined)
|
||||
typedef __caddr_t caddr_t;
|
||||
+# define __caddr_t_defined
|
||||
+# endif
|
||||
# define __daddr_t_defined
|
||||
# endif
|
||||
#endif
|
||||
diff -urN glibc-2.11.1-orig/sunrpc/rpc/types.h glibc-2.11.1/sunrpc/rpc/types.h
|
||||
--- glibc-2.11.1-orig/sunrpc/rpc/types.h 2010-12-13 11:47:26.000000000 +0100
|
||||
+++ glibc-2.11.1/sunrpc/rpc/types.h 2011-03-29 14:16:32.988910439 +0200
|
||||
@@ -80,7 +80,10 @@
|
||||
#endif
|
||||
#ifndef __daddr_t_defined
|
||||
typedef __daddr_t daddr_t;
|
||||
+# if ! defined(caddr_t) && ! defined(__caddr_t_defined)
|
||||
typedef __caddr_t caddr_t;
|
||||
+# define __caddr_t_defined
|
||||
+# endif
|
||||
# define __daddr_t_defined
|
||||
#endif
|
||||
|
@ -1,34 +0,0 @@
|
||||
2007-02-15 Khem Raj <kraj@xxxxxxxxxx>
|
||||
|
||||
* sysdeps/unix/sysv/linux/i386/sysdep.h: Re-define __i686.
|
||||
* nptl/sysdeps/pthread/pt-initfini.c: Ditto.
|
||||
|
||||
diff -urN glibc-2.11.orig/nptl/sysdeps/pthread/pt-initfini.c glibc-2.11/nptl/sysdeps/pthread/pt-initfini.c
|
||||
--- glibc-2.11.orig/nptl/sysdeps/pthread/pt-initfini.c 2009-12-08 21:10:20.000000000 +0100
|
||||
+++ glibc-2.11/nptl/sysdeps/pthread/pt-initfini.c 2010-12-30 11:33:31.520855595 +0100
|
||||
@@ -45,6 +45,11 @@
|
||||
/* Embed an #include to pull in the alignment and .end directives. */
|
||||
asm ("\n#include \"defs.h\"");
|
||||
|
||||
+asm ("\n#if defined __i686 && defined __ASSEMBLER__");
|
||||
+asm ("\n#undef __i686");
|
||||
+asm ("\n#define __i686 __i686");
|
||||
+asm ("\n#endif");
|
||||
+
|
||||
/* The initial common code ends here. */
|
||||
asm ("\n/*@HEADER_ENDS*/");
|
||||
|
||||
diff -urN glibc-2.11.orig/sysdeps/unix/sysv/linux/i386/sysdep.h glibc-2.11/sysdeps/unix/sysv/linux/i386/sysdep.h
|
||||
--- glibc-2.11.orig/sysdeps/unix/sysv/linux/i386/sysdep.h 2009-12-08 21:10:20.000000000 +0100
|
||||
+++ glibc-2.11/sysdeps/unix/sysv/linux/i386/sysdep.h 2010-12-30 11:33:31.520855595 +0100
|
||||
@@ -29,6 +29,10 @@
|
||||
#include <dl-sysdep.h>
|
||||
#include <tls.h>
|
||||
|
||||
+#if defined __i686 && defined __ASSEMBLER__
|
||||
+#undef __i686
|
||||
+#define __i686 __i686
|
||||
+#endif
|
||||
|
||||
/* For Linux we can use the system call table in the header file
|
||||
/usr/include/asm/unistd.h
|
@ -1,28 +0,0 @@
|
||||
diff -urN glibc-2.11-orig/posix/sys/types.h glibc-2.11/posix/sys/types.h
|
||||
--- glibc-2.11-orig/posix/sys/types.h 2010-12-13 11:47:26.000000000 +0100
|
||||
+++ glibc-2.11/posix/sys/types.h 2011-03-29 14:16:00.374064708 +0200
|
||||
@@ -114,7 +114,10 @@
|
||||
#ifdef __USE_BSD
|
||||
# ifndef __daddr_t_defined
|
||||
typedef __daddr_t daddr_t;
|
||||
+# if ! defined(caddr_t) && ! defined(__caddr_t_defined)
|
||||
typedef __caddr_t caddr_t;
|
||||
+# define __caddr_t_defined
|
||||
+# endif
|
||||
# define __daddr_t_defined
|
||||
# endif
|
||||
#endif
|
||||
diff -urN glibc-2.11-orig/sunrpc/rpc/types.h glibc-2.11/sunrpc/rpc/types.h
|
||||
--- glibc-2.11-orig/sunrpc/rpc/types.h 2010-12-13 11:47:26.000000000 +0100
|
||||
+++ glibc-2.11/sunrpc/rpc/types.h 2011-03-29 14:16:32.988910439 +0200
|
||||
@@ -80,7 +80,10 @@
|
||||
#endif
|
||||
#ifndef __daddr_t_defined
|
||||
typedef __daddr_t daddr_t;
|
||||
+# if ! defined(caddr_t) && ! defined(__caddr_t_defined)
|
||||
typedef __caddr_t caddr_t;
|
||||
+# define __caddr_t_defined
|
||||
+# endif
|
||||
# define __daddr_t_defined
|
||||
#endif
|
||||
|
@ -1,12 +0,0 @@
|
||||
diff -urN glibc-2.11-orig/configure glibc-2.11/configure
|
||||
--- glibc-2.11-orig/configure 2015-07-14 08:14:11.671891176 -0700
|
||||
+++ glibc-2.11/configure 2015-07-14 09:14:10.053054117 -0700
|
||||
@@ -5108,7 +5108,7 @@
|
||||
ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'`
|
||||
case $ac_prog_version in
|
||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
||||
- 3.79* | 3.[89]*)
|
||||
+ 3.79* | 3.[89]* | 4.* )
|
||||
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
|
||||
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
|
||||
|
@ -1,34 +0,0 @@
|
||||
2007-02-15 Khem Raj <kraj@xxxxxxxxxx>
|
||||
|
||||
* sysdeps/unix/sysv/linux/i386/sysdep.h: Re-define __i686.
|
||||
* nptl/sysdeps/pthread/pt-initfini.c: Ditto.
|
||||
|
||||
diff -urN glibc-2.12.1.orig/nptl/sysdeps/pthread/pt-initfini.c glibc-2.12.1/nptl/sysdeps/pthread/pt-initfini.c
|
||||
--- glibc-2.12.1.orig/nptl/sysdeps/pthread/pt-initfini.c 2009-10-30 18:17:08.000000000 +0100
|
||||
+++ glibc-2.12.1/nptl/sysdeps/pthread/pt-initfini.c 2010-12-30 11:36:19.858708534 +0100
|
||||
@@ -45,6 +45,11 @@
|
||||
/* Embed an #include to pull in the alignment and .end directives. */
|
||||
asm ("\n#include \"defs.h\"");
|
||||
|
||||
+asm ("\n#if defined __i686 && defined __ASSEMBLER__");
|
||||
+asm ("\n#undef __i686");
|
||||
+asm ("\n#define __i686 __i686");
|
||||
+asm ("\n#endif");
|
||||
+
|
||||
/* The initial common code ends here. */
|
||||
asm ("\n/*@HEADER_ENDS*/");
|
||||
|
||||
diff -urN glibc-2.12.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h glibc-2.12.1/sysdeps/unix/sysv/linux/i386/sysdep.h
|
||||
--- glibc-2.12.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h 2009-10-30 18:17:08.000000000 +0100
|
||||
+++ glibc-2.12.1/sysdeps/unix/sysv/linux/i386/sysdep.h 2010-12-30 11:36:19.858708534 +0100
|
||||
@@ -29,6 +29,10 @@
|
||||
#include <dl-sysdep.h>
|
||||
#include <tls.h>
|
||||
|
||||
+#if defined __i686 && defined __ASSEMBLER__
|
||||
+#undef __i686
|
||||
+#define __i686 __i686
|
||||
+#endif
|
||||
|
||||
/* For Linux we can use the system call table in the header file
|
||||
/usr/include/asm/unistd.h
|
@ -1,28 +0,0 @@
|
||||
diff -urN glibc-2.12.1-orig/posix/sys/types.h glibc-2.12.1/posix/sys/types.h
|
||||
--- glibc-2.12.1-orig/posix/sys/types.h 2010-12-13 11:47:26.000000000 +0100
|
||||
+++ glibc-2.12.1/posix/sys/types.h 2011-03-29 14:16:00.374064708 +0200
|
||||
@@ -114,7 +114,10 @@
|
||||
#ifdef __USE_BSD
|
||||
# ifndef __daddr_t_defined
|
||||
typedef __daddr_t daddr_t;
|
||||
+# if ! defined(caddr_t) && ! defined(__caddr_t_defined)
|
||||
typedef __caddr_t caddr_t;
|
||||
+# define __caddr_t_defined
|
||||
+# endif
|
||||
# define __daddr_t_defined
|
||||
# endif
|
||||
#endif
|
||||
diff -urN glibc-2.12.1-orig/sunrpc/rpc/types.h glibc-2.12.1/sunrpc/rpc/types.h
|
||||
--- glibc-2.12.1-orig/sunrpc/rpc/types.h 2010-12-13 11:47:26.000000000 +0100
|
||||
+++ glibc-2.12.1/sunrpc/rpc/types.h 2011-03-29 14:16:32.988910439 +0200
|
||||
@@ -80,7 +80,10 @@
|
||||
#endif
|
||||
#ifndef __daddr_t_defined
|
||||
typedef __daddr_t daddr_t;
|
||||
+# if ! defined(caddr_t) && ! defined(__caddr_t_defined)
|
||||
typedef __caddr_t caddr_t;
|
||||
+# define __caddr_t_defined
|
||||
+# endif
|
||||
# define __daddr_t_defined
|
||||
#endif
|
||||
|
@ -1,15 +0,0 @@
|
||||
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=blob_plain;f=source/base/glibc/make-3.82-fix.patch;hb=8217c32ecc2e14962847ba3d8a272eb64a3dba4f
|
||||
|
||||
--- glibc-2.10.1.OLD/manual/Makefile
|
||||
+++ glibc-2.10.1.NEW/manual/Makefile
|
||||
@@ -232,7 +232,9 @@
|
||||
.PHONY: stubs
|
||||
stubs: $(objpfx)stubs
|
||||
endif
|
||||
-$(objpfx)stubs ../po/manual.pot $(objpfx)stamp%:
|
||||
+$(objpfx)stubs ../po/manual.pot:
|
||||
+ touch $@
|
||||
+$(objpfx)stamp%:
|
||||
$(make-target-directory)
|
||||
touch $@
|
||||
|
@ -1,34 +0,0 @@
|
||||
2007-02-15 Khem Raj <kraj@xxxxxxxxxx>
|
||||
|
||||
* sysdeps/unix/sysv/linux/i386/sysdep.h: Re-define __i686.
|
||||
* nptl/sysdeps/pthread/pt-initfini.c: Ditto.
|
||||
|
||||
diff -urN glibc-2.12.2.orig/nptl/sysdeps/pthread/pt-initfini.c glibc-2.12.2/nptl/sysdeps/pthread/pt-initfini.c
|
||||
--- glibc-2.12.2.orig/nptl/sysdeps/pthread/pt-initfini.c 2009-10-30 18:17:08.000000000 +0100
|
||||
+++ glibc-2.12.2/nptl/sysdeps/pthread/pt-initfini.c 2010-12-30 11:36:19.858708534 +0100
|
||||
@@ -45,6 +45,11 @@
|
||||
/* Embed an #include to pull in the alignment and .end directives. */
|
||||
asm ("\n#include \"defs.h\"");
|
||||
|
||||
+asm ("\n#if defined __i686 && defined __ASSEMBLER__");
|
||||
+asm ("\n#undef __i686");
|
||||
+asm ("\n#define __i686 __i686");
|
||||
+asm ("\n#endif");
|
||||
+
|
||||
/* The initial common code ends here. */
|
||||
asm ("\n/*@HEADER_ENDS*/");
|
||||
|
||||
diff -urN glibc-2.12.2.orig/sysdeps/unix/sysv/linux/i386/sysdep.h glibc-2.12.2/sysdeps/unix/sysv/linux/i386/sysdep.h
|
||||
--- glibc-2.12.2.orig/sysdeps/unix/sysv/linux/i386/sysdep.h 2009-10-30 18:17:08.000000000 +0100
|
||||
+++ glibc-2.12.2/sysdeps/unix/sysv/linux/i386/sysdep.h 2010-12-30 11:36:19.858708534 +0100
|
||||
@@ -29,6 +29,10 @@
|
||||
#include <dl-sysdep.h>
|
||||
#include <tls.h>
|
||||
|
||||
+#if defined __i686 && defined __ASSEMBLER__
|
||||
+#undef __i686
|
||||
+#define __i686 __i686
|
||||
+#endif
|
||||
|
||||
/* For Linux we can use the system call table in the header file
|
||||
/usr/include/asm/unistd.h
|
@ -1,28 +0,0 @@
|
||||
diff -urN glibc-2.12.2-orig/posix/sys/types.h glibc-2.12.2/posix/sys/types.h
|
||||
--- glibc-2.12.2-orig/posix/sys/types.h 2010-12-13 11:47:26.000000000 +0100
|
||||
+++ glibc-2.12.2/posix/sys/types.h 2011-03-29 14:16:00.374064708 +0200
|
||||
@@ -114,7 +114,10 @@
|
||||
#ifdef __USE_BSD
|
||||
# ifndef __daddr_t_defined
|
||||
typedef __daddr_t daddr_t;
|
||||
+# if ! defined(caddr_t) && ! defined(__caddr_t_defined)
|
||||
typedef __caddr_t caddr_t;
|
||||
+# define __caddr_t_defined
|
||||
+# endif
|
||||
# define __daddr_t_defined
|
||||
# endif
|
||||
#endif
|
||||
diff -urN glibc-2.12.2-orig/sunrpc/rpc/types.h glibc-2.12.2/sunrpc/rpc/types.h
|
||||
--- glibc-2.12.2-orig/sunrpc/rpc/types.h 2010-12-13 11:47:26.000000000 +0100
|
||||
+++ glibc-2.12.2/sunrpc/rpc/types.h 2011-03-29 14:16:32.988910439 +0200
|
||||
@@ -80,7 +80,10 @@
|
||||
#endif
|
||||
#ifndef __daddr_t_defined
|
||||
typedef __daddr_t daddr_t;
|
||||
+# if ! defined(caddr_t) && ! defined(__caddr_t_defined)
|
||||
typedef __caddr_t caddr_t;
|
||||
+# define __caddr_t_defined
|
||||
+# endif
|
||||
# define __daddr_t_defined
|
||||
#endif
|
||||
|
@ -1,34 +0,0 @@
|
||||
2007-02-15 Khem Raj <kraj@xxxxxxxxxx>
|
||||
|
||||
* sysdeps/unix/sysv/linux/i386/sysdep.h: Re-define __i686.
|
||||
* nptl/sysdeps/pthread/pt-initfini.c: Ditto.
|
||||
|
||||
diff -urN glibc-2.12.1.orig/nptl/sysdeps/pthread/pt-initfini.c glibc-2.12.1/nptl/sysdeps/pthread/pt-initfini.c
|
||||
--- glibc-2.12.1.orig/nptl/sysdeps/pthread/pt-initfini.c 2009-10-30 18:17:08.000000000 +0100
|
||||
+++ glibc-2.12.1/nptl/sysdeps/pthread/pt-initfini.c 2010-12-30 11:36:19.858708534 +0100
|
||||
@@ -45,6 +45,11 @@
|
||||
/* Embed an #include to pull in the alignment and .end directives. */
|
||||
asm ("\n#include \"defs.h\"");
|
||||
|
||||
+asm ("\n#if defined __i686 && defined __ASSEMBLER__");
|
||||
+asm ("\n#undef __i686");
|
||||
+asm ("\n#define __i686 __i686");
|
||||
+asm ("\n#endif");
|
||||
+
|
||||
/* The initial common code ends here. */
|
||||
asm ("\n/*@HEADER_ENDS*/");
|
||||
|
||||
diff -urN glibc-2.12.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h glibc-2.12.1/sysdeps/unix/sysv/linux/i386/sysdep.h
|
||||
--- glibc-2.12.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h 2009-10-30 18:17:08.000000000 +0100
|
||||
+++ glibc-2.12.1/sysdeps/unix/sysv/linux/i386/sysdep.h 2010-12-30 11:36:19.858708534 +0100
|
||||
@@ -29,6 +29,10 @@
|
||||
#include <dl-sysdep.h>
|
||||
#include <tls.h>
|
||||
|
||||
+#if defined __i686 && defined __ASSEMBLER__
|
||||
+#undef __i686
|
||||
+#define __i686 __i686
|
||||
+#endif
|
||||
|
||||
/* For Linux we can use the system call table in the header file
|
||||
/usr/include/asm/unistd.h
|
@ -1,28 +0,0 @@
|
||||
diff -urN glibc-2.12.1-orig/posix/sys/types.h glibc-2.12.1/posix/sys/types.h
|
||||
--- glibc-2.12.1-orig/posix/sys/types.h 2010-12-13 11:47:26.000000000 +0100
|
||||
+++ glibc-2.12.1/posix/sys/types.h 2011-03-29 14:16:00.374064708 +0200
|
||||
@@ -114,7 +114,10 @@
|
||||
#ifdef __USE_BSD
|
||||
# ifndef __daddr_t_defined
|
||||
typedef __daddr_t daddr_t;
|
||||
+# if ! defined(caddr_t) && ! defined(__caddr_t_defined)
|
||||
typedef __caddr_t caddr_t;
|
||||
+# define __caddr_t_defined
|
||||
+# endif
|
||||
# define __daddr_t_defined
|
||||
# endif
|
||||
#endif
|
||||
diff -urN glibc-2.12.1-orig/sunrpc/rpc/types.h glibc-2.12.1/sunrpc/rpc/types.h
|
||||
--- glibc-2.12.1-orig/sunrpc/rpc/types.h 2010-12-13 11:47:26.000000000 +0100
|
||||
+++ glibc-2.12.1/sunrpc/rpc/types.h 2011-03-29 14:16:32.988910439 +0200
|
||||
@@ -80,7 +80,10 @@
|
||||
#endif
|
||||
#ifndef __daddr_t_defined
|
||||
typedef __daddr_t daddr_t;
|
||||
+# if ! defined(caddr_t) && ! defined(__caddr_t_defined)
|
||||
typedef __caddr_t caddr_t;
|
||||
+# define __caddr_t_defined
|
||||
+# endif
|
||||
# define __daddr_t_defined
|
||||
#endif
|
||||
|
@ -1,20 +0,0 @@
|
||||
Prevent erroneous inline optimization of initfini.s on PowerPC64.
|
||||
|
||||
The problem and the fix was reported there:
|
||||
http://sourceware.org/ml/libc-alpha/2012-01/msg00195.html
|
||||
Git commit:
|
||||
commit 1fe05ea95e1460e5e1cf1568a8ce3982f0f02de6
|
||||
Author: Ryan S. Arnold <rsa@us.ibm.com>
|
||||
Date: Tue May 3 17:26:17 2011 -0500
|
||||
|
||||
--- glibc.orig/sysdeps/powerpc/powerpc64/Makefile 2012-12-22 19:10:06.713568781 -0800
|
||||
+++ glibc/sysdeps/powerpc/powerpc64/Makefile 2012-12-22 19:10:50.318605517 -0800
|
||||
@@ -31,7 +31,7 @@
|
||||
ifneq ($(elf),no)
|
||||
# The initfini generation code doesn't work in the presence of -fPIC, so
|
||||
# we use -fpic instead which is much better.
|
||||
-CFLAGS-initfini.s += -fpic -O1
|
||||
+CFLAGS-initfini.s += -fpic -O1 -fno-inline
|
||||
endif
|
||||
endif
|
||||
|
@ -1,628 +0,0 @@
|
||||
This patch fixes another configure test issue when bootstrapping.
|
||||
sysdeps/i386/configure.in uses the obsolete AC_HEADER_CHECK macro to
|
||||
test for cpuid.h, and that macro tries to include various other
|
||||
standard headers (which come from the library, unlike cpuid.h which
|
||||
comes from the compiler, so aren't available when bootstrapping) in
|
||||
the test code it compiles. This patch changes the code to use
|
||||
AC_CHECK_HEADER, with the fourth argument used to prevent any default
|
||||
includes being used in the test.
|
||||
|
||||
Tested x86_64 (native).
|
||||
|
||||
2012-03-07 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* sysdeps/i386/configure.in (cpuid.h): Use AC_CHECK_HEADER with no
|
||||
default includes instead of AC_HEADER_CHECK.
|
||||
* sysdeps/i386/configure: Regenerated.
|
||||
|
||||
Origin: http://sourceware.org/ml/libc-alpha/2012-03/msg00177.html
|
||||
|
||||
diff -Nur glibc-2.14.1.orig/sysdeps/i386/configure glibc-2.14.1/sysdeps/i386/configure
|
||||
--- glibc-2.14.1.orig/sysdeps/i386/configure 2011-10-07 20:48:55.000000000 +1100
|
||||
+++ glibc-2.14.1/sysdeps/i386/configure 2012-07-25 01:23:11.799118927 +1000
|
||||
@@ -16,23 +16,6 @@
|
||||
as_fn_set_status $1
|
||||
exit $1
|
||||
} # as_fn_exit
|
||||
-# as_fn_arith ARG...
|
||||
-# ------------------
|
||||
-# Perform arithmetic evaluation on the ARGs, and store the result in the
|
||||
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
|
||||
-# must be portable across $(()) and expr.
|
||||
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
|
||||
- eval 'as_fn_arith ()
|
||||
- {
|
||||
- as_val=$(( $* ))
|
||||
- }'
|
||||
-else
|
||||
- as_fn_arith ()
|
||||
- {
|
||||
- as_val=`expr "$@" || test $? -eq 1`
|
||||
- }
|
||||
-fi # as_fn_arith
|
||||
-
|
||||
if expr a : '\(a\)' >/dev/null 2>&1 &&
|
||||
test "X`expr 00001 : '.*\(...\)'`" = X001; then
|
||||
as_expr=expr
|
||||
@@ -89,6 +72,10 @@
|
||||
chmod +x "$as_me.lineno" ||
|
||||
{ $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
|
||||
|
||||
+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
|
||||
+ # already done that, so ensure we don't try to do so again and fall
|
||||
+ # in an infinite loop. This has already happened in practice.
|
||||
+ _as_can_reexec=no; export _as_can_reexec
|
||||
# Don't try to exec as it changes $[0], causing all sort of problems
|
||||
# (the dirname of $[0] is not the place where we might find the
|
||||
# original and so on. Autoconf is especially sensitive to this).
|
||||
@@ -97,42 +84,6 @@
|
||||
exit
|
||||
}
|
||||
|
||||
-# Factoring default headers for most tests.
|
||||
-ac_includes_default="\
|
||||
-#include <stdio.h>
|
||||
-#ifdef HAVE_SYS_TYPES_H
|
||||
-# include <sys/types.h>
|
||||
-#endif
|
||||
-#ifdef HAVE_SYS_STAT_H
|
||||
-# include <sys/stat.h>
|
||||
-#endif
|
||||
-#ifdef STDC_HEADERS
|
||||
-# include <stdlib.h>
|
||||
-# include <stddef.h>
|
||||
-#else
|
||||
-# ifdef HAVE_STDLIB_H
|
||||
-# include <stdlib.h>
|
||||
-# endif
|
||||
-#endif
|
||||
-#ifdef HAVE_STRING_H
|
||||
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
|
||||
-# include <memory.h>
|
||||
-# endif
|
||||
-# include <string.h>
|
||||
-#endif
|
||||
-#ifdef HAVE_STRINGS_H
|
||||
-# include <strings.h>
|
||||
-#endif
|
||||
-#ifdef HAVE_INTTYPES_H
|
||||
-# include <inttypes.h>
|
||||
-#endif
|
||||
-#ifdef HAVE_STDINT_H
|
||||
-# include <stdint.h>
|
||||
-#endif
|
||||
-#ifdef HAVE_UNISTD_H
|
||||
-# include <unistd.h>
|
||||
-#endif"
|
||||
-
|
||||
|
||||
# ac_fn_c_try_compile LINENO
|
||||
# --------------------------
|
||||
@@ -167,177 +118,11 @@
|
||||
|
||||
ac_retval=1
|
||||
fi
|
||||
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
|
||||
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
||||
as_fn_set_status $ac_retval
|
||||
|
||||
} # ac_fn_c_try_compile
|
||||
|
||||
-# ac_fn_c_try_cpp LINENO
|
||||
-# ----------------------
|
||||
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
|
||||
-ac_fn_c_try_cpp ()
|
||||
-{
|
||||
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
||||
- if { { ac_try="$ac_cpp conftest.$ac_ext"
|
||||
-case "(($ac_try" in
|
||||
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||
- *) ac_try_echo=$ac_try;;
|
||||
-esac
|
||||
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
|
||||
-$as_echo "$ac_try_echo"; } >&5
|
||||
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
|
||||
- ac_status=$?
|
||||
- if test -s conftest.err; then
|
||||
- grep -v '^ *+' conftest.err >conftest.er1
|
||||
- cat conftest.er1 >&5
|
||||
- mv -f conftest.er1 conftest.err
|
||||
- fi
|
||||
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
- test $ac_status = 0; } >/dev/null && {
|
||||
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
|
||||
- test ! -s conftest.err
|
||||
- }; then :
|
||||
- ac_retval=0
|
||||
-else
|
||||
- $as_echo "$as_me: failed program was:" >&5
|
||||
-sed 's/^/| /' conftest.$ac_ext >&5
|
||||
-
|
||||
- ac_retval=1
|
||||
-fi
|
||||
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
|
||||
- as_fn_set_status $ac_retval
|
||||
-
|
||||
-} # ac_fn_c_try_cpp
|
||||
-
|
||||
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
|
||||
-# -------------------------------------------------------
|
||||
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
|
||||
-# the include files in INCLUDES and setting the cache variable VAR
|
||||
-# accordingly.
|
||||
-ac_fn_c_check_header_mongrel ()
|
||||
-{
|
||||
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
||||
- if eval "test \"\${$3+set}\"" = set; then :
|
||||
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
|
||||
-$as_echo_n "checking for $2... " >&6; }
|
||||
-if eval "test \"\${$3+set}\"" = set; then :
|
||||
- $as_echo_n "(cached) " >&6
|
||||
-fi
|
||||
-eval ac_res=\$$3
|
||||
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
||||
-$as_echo "$ac_res" >&6; }
|
||||
-else
|
||||
- # Is the header compilable?
|
||||
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
|
||||
-$as_echo_n "checking $2 usability... " >&6; }
|
||||
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
-/* end confdefs.h. */
|
||||
-$4
|
||||
-#include <$2>
|
||||
-_ACEOF
|
||||
-if ac_fn_c_try_compile "$LINENO"; then :
|
||||
- ac_header_compiler=yes
|
||||
-else
|
||||
- ac_header_compiler=no
|
||||
-fi
|
||||
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
|
||||
-$as_echo "$ac_header_compiler" >&6; }
|
||||
-
|
||||
-# Is the header present?
|
||||
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
|
||||
-$as_echo_n "checking $2 presence... " >&6; }
|
||||
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
-/* end confdefs.h. */
|
||||
-#include <$2>
|
||||
-_ACEOF
|
||||
-if ac_fn_c_try_cpp "$LINENO"; then :
|
||||
- ac_header_preproc=yes
|
||||
-else
|
||||
- ac_header_preproc=no
|
||||
-fi
|
||||
-rm -f conftest.err conftest.$ac_ext
|
||||
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
|
||||
-$as_echo "$ac_header_preproc" >&6; }
|
||||
-
|
||||
-# So? What about this header?
|
||||
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
|
||||
- yes:no: )
|
||||
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
|
||||
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
|
||||
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
|
||||
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
|
||||
- ;;
|
||||
- no:yes:* )
|
||||
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
|
||||
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
|
||||
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
|
||||
-$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
|
||||
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
|
||||
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
|
||||
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
|
||||
-$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
|
||||
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
|
||||
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
|
||||
- ;;
|
||||
-esac
|
||||
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
|
||||
-$as_echo_n "checking for $2... " >&6; }
|
||||
-if eval "test \"\${$3+set}\"" = set; then :
|
||||
- $as_echo_n "(cached) " >&6
|
||||
-else
|
||||
- eval "$3=\$ac_header_compiler"
|
||||
-fi
|
||||
-eval ac_res=\$$3
|
||||
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
||||
-$as_echo "$ac_res" >&6; }
|
||||
-fi
|
||||
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
|
||||
-
|
||||
-} # ac_fn_c_check_header_mongrel
|
||||
-
|
||||
-# ac_fn_c_try_run LINENO
|
||||
-# ----------------------
|
||||
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
|
||||
-# that executables *can* be run.
|
||||
-ac_fn_c_try_run ()
|
||||
-{
|
||||
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
||||
- if { { ac_try="$ac_link"
|
||||
-case "(($ac_try" in
|
||||
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||
- *) ac_try_echo=$ac_try;;
|
||||
-esac
|
||||
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
|
||||
-$as_echo "$ac_try_echo"; } >&5
|
||||
- (eval "$ac_link") 2>&5
|
||||
- ac_status=$?
|
||||
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
|
||||
- { { case "(($ac_try" in
|
||||
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||
- *) ac_try_echo=$ac_try;;
|
||||
-esac
|
||||
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
|
||||
-$as_echo "$ac_try_echo"; } >&5
|
||||
- (eval "$ac_try") 2>&5
|
||||
- ac_status=$?
|
||||
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
- test $ac_status = 0; }; }; then :
|
||||
- ac_retval=0
|
||||
-else
|
||||
- $as_echo "$as_me: program exited with status $ac_status" >&5
|
||||
- $as_echo "$as_me: failed program was:" >&5
|
||||
-sed 's/^/| /' conftest.$ac_ext >&5
|
||||
-
|
||||
- ac_retval=$ac_status
|
||||
-fi
|
||||
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
|
||||
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
|
||||
- as_fn_set_status $ac_retval
|
||||
-
|
||||
-} # ac_fn_c_try_run
|
||||
-
|
||||
# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
|
||||
# -------------------------------------------------------
|
||||
# Tests whether HEADER exists and can be compiled using the include files in
|
||||
@@ -347,7 +132,7 @@
|
||||
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
|
||||
$as_echo_n "checking for $2... " >&6; }
|
||||
-if eval "test \"\${$3+set}\"" = set; then :
|
||||
+if eval \${$3+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
@@ -365,275 +150,16 @@
|
||||
eval ac_res=\$$3
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
||||
$as_echo "$ac_res" >&6; }
|
||||
- eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
|
||||
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
||||
|
||||
} # ac_fn_c_check_header_compile
|
||||
# This file is generated from configure.in by Autoconf. DO NOT EDIT!
|
||||
# Local configure fragment for sysdeps/i386.
|
||||
|
||||
|
||||
-
|
||||
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
|
||||
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
|
||||
-if test "${ac_cv_path_GREP+set}" = set; then :
|
||||
- $as_echo_n "(cached) " >&6
|
||||
-else
|
||||
- if test -z "$GREP"; then
|
||||
- ac_path_GREP_found=false
|
||||
- # Loop through the user's path and test for each of PROGNAME-LIST
|
||||
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
|
||||
-do
|
||||
- IFS=$as_save_IFS
|
||||
- test -z "$as_dir" && as_dir=.
|
||||
- for ac_prog in grep ggrep; do
|
||||
- for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
|
||||
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
|
||||
-# Check for GNU ac_path_GREP and select it if it is found.
|
||||
- # Check for GNU $ac_path_GREP
|
||||
-case `"$ac_path_GREP" --version 2>&1` in
|
||||
-*GNU*)
|
||||
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
|
||||
-*)
|
||||
- ac_count=0
|
||||
- $as_echo_n 0123456789 >"conftest.in"
|
||||
- while :
|
||||
- do
|
||||
- cat "conftest.in" "conftest.in" >"conftest.tmp"
|
||||
- mv "conftest.tmp" "conftest.in"
|
||||
- cp "conftest.in" "conftest.nl"
|
||||
- $as_echo 'GREP' >> "conftest.nl"
|
||||
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
|
||||
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
|
||||
- as_fn_arith $ac_count + 1 && ac_count=$as_val
|
||||
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
|
||||
- # Best one so far, save it but keep looking for a better one
|
||||
- ac_cv_path_GREP="$ac_path_GREP"
|
||||
- ac_path_GREP_max=$ac_count
|
||||
- fi
|
||||
- # 10*(2^10) chars as input seems more than enough
|
||||
- test $ac_count -gt 10 && break
|
||||
- done
|
||||
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
|
||||
-esac
|
||||
-
|
||||
- $ac_path_GREP_found && break 3
|
||||
- done
|
||||
- done
|
||||
- done
|
||||
-IFS=$as_save_IFS
|
||||
- if test -z "$ac_cv_path_GREP"; then
|
||||
- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
|
||||
- fi
|
||||
-else
|
||||
- ac_cv_path_GREP=$GREP
|
||||
-fi
|
||||
-
|
||||
-fi
|
||||
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
|
||||
-$as_echo "$ac_cv_path_GREP" >&6; }
|
||||
- GREP="$ac_cv_path_GREP"
|
||||
-
|
||||
-
|
||||
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
|
||||
-$as_echo_n "checking for egrep... " >&6; }
|
||||
-if test "${ac_cv_path_EGREP+set}" = set; then :
|
||||
- $as_echo_n "(cached) " >&6
|
||||
-else
|
||||
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
|
||||
- then ac_cv_path_EGREP="$GREP -E"
|
||||
- else
|
||||
- if test -z "$EGREP"; then
|
||||
- ac_path_EGREP_found=false
|
||||
- # Loop through the user's path and test for each of PROGNAME-LIST
|
||||
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
|
||||
-do
|
||||
- IFS=$as_save_IFS
|
||||
- test -z "$as_dir" && as_dir=.
|
||||
- for ac_prog in egrep; do
|
||||
- for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
|
||||
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
|
||||
-# Check for GNU ac_path_EGREP and select it if it is found.
|
||||
- # Check for GNU $ac_path_EGREP
|
||||
-case `"$ac_path_EGREP" --version 2>&1` in
|
||||
-*GNU*)
|
||||
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
|
||||
-*)
|
||||
- ac_count=0
|
||||
- $as_echo_n 0123456789 >"conftest.in"
|
||||
- while :
|
||||
- do
|
||||
- cat "conftest.in" "conftest.in" >"conftest.tmp"
|
||||
- mv "conftest.tmp" "conftest.in"
|
||||
- cp "conftest.in" "conftest.nl"
|
||||
- $as_echo 'EGREP' >> "conftest.nl"
|
||||
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
|
||||
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
|
||||
- as_fn_arith $ac_count + 1 && ac_count=$as_val
|
||||
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
|
||||
- # Best one so far, save it but keep looking for a better one
|
||||
- ac_cv_path_EGREP="$ac_path_EGREP"
|
||||
- ac_path_EGREP_max=$ac_count
|
||||
- fi
|
||||
- # 10*(2^10) chars as input seems more than enough
|
||||
- test $ac_count -gt 10 && break
|
||||
- done
|
||||
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
|
||||
-esac
|
||||
-
|
||||
- $ac_path_EGREP_found && break 3
|
||||
- done
|
||||
- done
|
||||
- done
|
||||
-IFS=$as_save_IFS
|
||||
- if test -z "$ac_cv_path_EGREP"; then
|
||||
- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
|
||||
- fi
|
||||
-else
|
||||
- ac_cv_path_EGREP=$EGREP
|
||||
-fi
|
||||
-
|
||||
- fi
|
||||
-fi
|
||||
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
|
||||
-$as_echo "$ac_cv_path_EGREP" >&6; }
|
||||
- EGREP="$ac_cv_path_EGREP"
|
||||
-
|
||||
-
|
||||
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
|
||||
-$as_echo_n "checking for ANSI C header files... " >&6; }
|
||||
-if test "${ac_cv_header_stdc+set}" = set; then :
|
||||
- $as_echo_n "(cached) " >&6
|
||||
-else
|
||||
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
-/* end confdefs.h. */
|
||||
-#include <stdlib.h>
|
||||
-#include <stdarg.h>
|
||||
-#include <string.h>
|
||||
-#include <float.h>
|
||||
-
|
||||
-int
|
||||
-main ()
|
||||
-{
|
||||
-
|
||||
- ;
|
||||
- return 0;
|
||||
-}
|
||||
-_ACEOF
|
||||
-if ac_fn_c_try_compile "$LINENO"; then :
|
||||
- ac_cv_header_stdc=yes
|
||||
-else
|
||||
- ac_cv_header_stdc=no
|
||||
-fi
|
||||
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
-
|
||||
-if test $ac_cv_header_stdc = yes; then
|
||||
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
|
||||
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
-/* end confdefs.h. */
|
||||
-#include <string.h>
|
||||
-
|
||||
-_ACEOF
|
||||
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
|
||||
- $EGREP "memchr" >/dev/null 2>&1; then :
|
||||
-
|
||||
-else
|
||||
- ac_cv_header_stdc=no
|
||||
-fi
|
||||
-rm -f conftest*
|
||||
-
|
||||
-fi
|
||||
-
|
||||
-if test $ac_cv_header_stdc = yes; then
|
||||
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
|
||||
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
-/* end confdefs.h. */
|
||||
-#include <stdlib.h>
|
||||
-
|
||||
-_ACEOF
|
||||
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
|
||||
- $EGREP "free" >/dev/null 2>&1; then :
|
||||
-
|
||||
-else
|
||||
- ac_cv_header_stdc=no
|
||||
-fi
|
||||
-rm -f conftest*
|
||||
-
|
||||
-fi
|
||||
-
|
||||
-if test $ac_cv_header_stdc = yes; then
|
||||
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
|
||||
- if test "$cross_compiling" = yes; then :
|
||||
- :
|
||||
-else
|
||||
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
-/* end confdefs.h. */
|
||||
-#include <ctype.h>
|
||||
-#include <stdlib.h>
|
||||
-#if ((' ' & 0x0FF) == 0x020)
|
||||
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
|
||||
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
|
||||
-#else
|
||||
-# define ISLOWER(c) \
|
||||
- (('a' <= (c) && (c) <= 'i') \
|
||||
- || ('j' <= (c) && (c) <= 'r') \
|
||||
- || ('s' <= (c) && (c) <= 'z'))
|
||||
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
|
||||
-#endif
|
||||
-
|
||||
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
|
||||
-int
|
||||
-main ()
|
||||
-{
|
||||
- int i;
|
||||
- for (i = 0; i < 256; i++)
|
||||
- if (XOR (islower (i), ISLOWER (i))
|
||||
- || toupper (i) != TOUPPER (i))
|
||||
- return 2;
|
||||
- return 0;
|
||||
-}
|
||||
-_ACEOF
|
||||
-if ac_fn_c_try_run "$LINENO"; then :
|
||||
-
|
||||
-else
|
||||
- ac_cv_header_stdc=no
|
||||
-fi
|
||||
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
|
||||
- conftest.$ac_objext conftest.beam conftest.$ac_ext
|
||||
-fi
|
||||
-
|
||||
-fi
|
||||
-fi
|
||||
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
|
||||
-$as_echo "$ac_cv_header_stdc" >&6; }
|
||||
-if test $ac_cv_header_stdc = yes; then
|
||||
-
|
||||
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
|
||||
-
|
||||
-fi
|
||||
-
|
||||
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
|
||||
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
|
||||
- inttypes.h stdint.h unistd.h
|
||||
-do :
|
||||
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
|
||||
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
|
||||
+ac_fn_c_check_header_compile "$LINENO" "cpuid.h" "ac_cv_header_cpuid_h" "/* No default includes. */
|
||||
"
|
||||
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
|
||||
- cat >>confdefs.h <<_ACEOF
|
||||
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
|
||||
-_ACEOF
|
||||
-
|
||||
-fi
|
||||
-
|
||||
-done
|
||||
-
|
||||
-
|
||||
-ac_fn_c_check_header_mongrel "$LINENO" "cpuid.h" "ac_cv_header_cpuid_h" "$ac_includes_default"
|
||||
-if test "x$ac_cv_header_cpuid_h" = x""yes; then :
|
||||
+if test "x$ac_cv_header_cpuid_h" = xyes; then :
|
||||
|
||||
else
|
||||
as_fn_error $? "gcc must provide the <cpuid.h> header" "$LINENO" 5
|
||||
@@ -643,7 +169,7 @@
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if -g produces usable source locations for assembler-with-cpp" >&5
|
||||
$as_echo_n "checking if -g produces usable source locations for assembler-with-cpp... " >&6; }
|
||||
-if test "${libc_cv_cpp_asm_debuginfo+set}" = set; then :
|
||||
+if ${libc_cv_cpp_asm_debuginfo+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat > conftest.S <<EOF
|
||||
@@ -693,7 +219,7 @@
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SSE4 support" >&5
|
||||
$as_echo_n "checking for SSE4 support... " >&6; }
|
||||
-if test "${libc_cv_cc_sse4+set}" = set; then :
|
||||
+if ${libc_cv_cc_sse4+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if { ac_try='${CC-cc} -msse4 -xc /dev/null -S -o /dev/null'
|
||||
@@ -716,7 +242,7 @@
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for assembler -mtune=i686 support" >&5
|
||||
$as_echo_n "checking for assembler -mtune=i686 support... " >&6; }
|
||||
-if test "${libc_cv_as_i686+set}" = set; then :
|
||||
+if ${libc_cv_as_i686+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if { ac_try='${CC-cc} -Wa,-mtune=i686 -xc /dev/null -S -o /dev/null'
|
||||
@@ -735,7 +261,7 @@
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for AVX support" >&5
|
||||
$as_echo_n "checking for AVX support... " >&6; }
|
||||
-if test "${libc_cv_cc_avx+set}" = set; then :
|
||||
+if ${libc_cv_cc_avx+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if { ac_try='${CC-cc} -mavx -xc /dev/null -S -o /dev/null'
|
||||
@@ -758,7 +284,7 @@
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -mno-vzeroupper support" >&5
|
||||
$as_echo_n "checking for -mno-vzeroupper support... " >&6; }
|
||||
-if test "${libc_cv_cc_novzeroupper+set}" = set; then :
|
||||
+if ${libc_cv_cc_novzeroupper+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if { ac_try='${CC-cc} -mno-vzeroupper -xc /dev/null -S -o /dev/null'
|
||||
diff -Nur glibc-2.14.1.orig/sysdeps/i386/configure.in glibc-2.14.1/sysdeps/i386/configure.in
|
||||
--- glibc-2.14.1.orig/sysdeps/i386/configure.in 2011-10-07 20:48:55.000000000 +1100
|
||||
+++ glibc-2.14.1/sysdeps/i386/configure.in 2012-07-25 01:00:49.345025022 +1000
|
||||
@@ -1,8 +1,9 @@
|
||||
GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
|
||||
# Local configure fragment for sysdeps/i386.
|
||||
|
||||
-AC_HEADER_CHECK([cpuid.h], ,
|
||||
- [AC_MSG_ERROR([gcc must provide the <cpuid.h> header])])
|
||||
+AC_CHECK_HEADER([cpuid.h], ,
|
||||
+ [AC_MSG_ERROR([gcc must provide the <cpuid.h> header])],
|
||||
+ [/* No default includes. */])
|
||||
|
||||
AC_CACHE_CHECK(if -g produces usable source locations for assembler-with-cpp,
|
||||
libc_cv_cpp_asm_debuginfo, [dnl
|
||||
|
@ -1,50 +0,0 @@
|
||||
Submitted By: Matt Burgess <matthew_at_linuxfromscratch_dot_org>
|
||||
Date: 2010-04-18
|
||||
Initial Package Version: 2.11.1
|
||||
Upstream Status: Not Submitted
|
||||
Origin: http://www.eglibc.org/archives/patches/msg00073.html
|
||||
Description: Fixes the following build problem with GCC-4.5.0:
|
||||
|
||||
/mnt/lfs/sources/libc-build/math/s_frexp.os.dt -MT /mnt/lfs/sources/libc-build/math/s_frexp.os
|
||||
./sysdeps/i386/fpu/s_frexp.S: Assembler messages:
|
||||
./sysdeps/i386/fpu/s_frexp.S:66: Error: invalid identifier for ".ifdef"
|
||||
./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
|
||||
./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
|
||||
./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
|
||||
./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `.'
|
||||
./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
|
||||
./sysdeps/i386/fpu/s_frexp.S:66: Error: expected comma after name `' in .size directive
|
||||
./sysdeps/i386/fpu/s_frexp.S:66: Error: ".endif" without ".if"
|
||||
./sysdeps/i386/fpu/s_frexp.S:66: Error: junk `.get_pc_thunk.dx' after expression
|
||||
make[2]: *** [/mnt/lfs/sources/libc-build/math/s_frexp.os] Error 1
|
||||
|
||||
diff -Naur glibc-2.11.1.orig/nptl/sysdeps/pthread/pt-initfini.c glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c
|
||||
--- glibc-2.11.1.orig/nptl/sysdeps/pthread/pt-initfini.c 2009-12-08 20:10:20.000000000 +0000
|
||||
+++ glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c 2010-04-17 11:34:06.882681001 +0000
|
||||
@@ -45,6 +45,11 @@
|
||||
/* Embed an #include to pull in the alignment and .end directives. */
|
||||
asm ("\n#include \"defs.h\"");
|
||||
|
||||
+asm ("\n#if defined __i686 && defined __ASSEMBLER__");
|
||||
+asm ("\n#undef __i686");
|
||||
+asm ("\n#define __i686 __i686");
|
||||
+asm ("\n#endif");
|
||||
+
|
||||
/* The initial common code ends here. */
|
||||
asm ("\n/*@HEADER_ENDS*/");
|
||||
|
||||
diff -Naur glibc-2.11.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h
|
||||
--- glibc-2.11.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h 2009-12-08 20:10:20.000000000 +0000
|
||||
+++ glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h 2010-04-17 11:34:06.882681001 +0000
|
||||
@@ -29,6 +29,10 @@
|
||||
#include <dl-sysdep.h>
|
||||
#include <tls.h>
|
||||
|
||||
+#if defined __i686 && defined __ASSEMBLER__
|
||||
+#undef __i686
|
||||
+#define __i686 __i686
|
||||
+#endif
|
||||
|
||||
/* For Linux we can use the system call table in the header file
|
||||
/usr/include/asm/unistd.h
|
||||
|
@ -1,20 +0,0 @@
|
||||
Prevent erroneous inline optimization of initfini.s on PowerPC64.
|
||||
|
||||
The problem and the fix was reported there:
|
||||
http://sourceware.org/ml/libc-alpha/2012-01/msg00195.html
|
||||
Git commit:
|
||||
commit 1fe05ea95e1460e5e1cf1568a8ce3982f0f02de6
|
||||
Author: Ryan S. Arnold <rsa@us.ibm.com>
|
||||
Date: Tue May 3 17:26:17 2011 -0500
|
||||
|
||||
--- glibc.orig/sysdeps/powerpc/powerpc64/Makefile 2012-12-22 19:10:06.713568781 -0800
|
||||
+++ glibc/sysdeps/powerpc/powerpc64/Makefile 2012-12-22 19:10:50.318605517 -0800
|
||||
@@ -31,7 +31,7 @@
|
||||
ifneq ($(elf),no)
|
||||
# The initfini generation code doesn't work in the presence of -fPIC, so
|
||||
# we use -fpic instead which is much better.
|
||||
-CFLAGS-initfini.s += -fpic -O1
|
||||
+CFLAGS-initfini.s += -fpic -O1 -fno-inline
|
||||
endif
|
||||
endif
|
||||
|
@ -1,20 +0,0 @@
|
||||
Prevent erroneous inline optimization of initfini.s on PowerPC64.
|
||||
|
||||
The problem and the fix was reported there:
|
||||
http://sourceware.org/ml/libc-alpha/2012-01/msg00195.html
|
||||
Git commit:
|
||||
commit 1fe05ea95e1460e5e1cf1568a8ce3982f0f02de6
|
||||
Author: Ryan S. Arnold <rsa@us.ibm.com>
|
||||
Date: Tue May 3 17:26:17 2011 -0500
|
||||
|
||||
--- glibc.orig/sysdeps/powerpc/powerpc64/Makefile 2012-12-22 19:10:06.713568781 -0800
|
||||
+++ glibc/sysdeps/powerpc/powerpc64/Makefile 2012-12-22 19:10:50.318605517 -0800
|
||||
@@ -31,7 +31,7 @@
|
||||
ifneq ($(elf),no)
|
||||
# The initfini generation code doesn't work in the presence of -fPIC, so
|
||||
# we use -fpic instead which is much better.
|
||||
-CFLAGS-initfini.s += -fpic -O1
|
||||
+CFLAGS-initfini.s += -fpic -O1 -fno-inline
|
||||
endif
|
||||
endif
|
||||
|
@ -1,222 +0,0 @@
|
||||
From 536ae0651b015b1f6140ec01775d4deaacf12c0c Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Schwab <schwab@suse.de>
|
||||
Date: Mon, 21 Jan 2013 17:41:28 +0100
|
||||
Subject: [PATCH] Fix parsing of numeric hosts in gethostbyname_r
|
||||
|
||||
Ported from master, fixes CVE-2015-0235.
|
||||
---
|
||||
nss/Makefile | 2 -
|
||||
nss/digits_dots.c | 73 +++++++++++++------------------------------------
|
||||
nss/getXXbyYY_r.c | 3 ++
|
||||
nss/test-digits-dots.c | 38 +++++++++++++++++++++++++
|
||||
4 files changed, 62 insertions(+), 54 deletions(-)
|
||||
create mode 100644 nss/test-digits-dots.c
|
||||
|
||||
--- a/nss/Makefile
|
||||
+++ b/nss/Makefile
|
||||
@@ -38,7 +38,7 @@ install-bin := getent makedb
|
||||
makedb-modules = xmalloc hash-string
|
||||
extra-objs += $(makedb-modules:=.o)
|
||||
|
||||
-tests = test-netdb tst-nss-test1
|
||||
+tests = test-netdb tst-nss-test1 test-digits-dots
|
||||
xtests = bug-erange
|
||||
|
||||
include ../Makeconfig
|
||||
--- a/nss/digits_dots.c
|
||||
+++ b/nss/digits_dots.c
|
||||
@@ -46,7 +46,10 @@ __nss_hostname_digits_dots (const char *
|
||||
{
|
||||
if (h_errnop)
|
||||
*h_errnop = NETDB_INTERNAL;
|
||||
- *result = NULL;
|
||||
+ if (buffer_size == NULL)
|
||||
+ *status = NSS_STATUS_TRYAGAIN;
|
||||
+ else
|
||||
+ *result = NULL;
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -83,14 +86,16 @@ __nss_hostname_digits_dots (const char *
|
||||
}
|
||||
|
||||
size_needed = (sizeof (*host_addr)
|
||||
- + sizeof (*h_addr_ptrs) + strlen (name) + 1);
|
||||
+ + sizeof (*h_addr_ptrs)
|
||||
+ + sizeof (*h_alias_ptr) + strlen (name) + 1);
|
||||
|
||||
if (buffer_size == NULL)
|
||||
{
|
||||
if (buflen < size_needed)
|
||||
{
|
||||
+ *status = NSS_STATUS_TRYAGAIN;
|
||||
if (h_errnop != NULL)
|
||||
- *h_errnop = TRY_AGAIN;
|
||||
+ *h_errnop = NETDB_INTERNAL;
|
||||
__set_errno (ERANGE);
|
||||
goto done;
|
||||
}
|
||||
@@ -109,7 +114,7 @@ __nss_hostname_digits_dots (const char *
|
||||
*buffer_size = 0;
|
||||
__set_errno (save);
|
||||
if (h_errnop != NULL)
|
||||
- *h_errnop = TRY_AGAIN;
|
||||
+ *h_errnop = NETDB_INTERNAL;
|
||||
*result = NULL;
|
||||
goto done;
|
||||
}
|
||||
@@ -149,7 +154,9 @@ __nss_hostname_digits_dots (const char *
|
||||
if (! ok)
|
||||
{
|
||||
*h_errnop = HOST_NOT_FOUND;
|
||||
- if (buffer_size)
|
||||
+ if (buffer_size == NULL)
|
||||
+ *status = NSS_STATUS_NOTFOUND;
|
||||
+ else
|
||||
*result = NULL;
|
||||
goto done;
|
||||
}
|
||||
@@ -190,7 +197,7 @@ __nss_hostname_digits_dots (const char *
|
||||
if (buffer_size == NULL)
|
||||
*status = NSS_STATUS_SUCCESS;
|
||||
else
|
||||
- *result = resbuf;
|
||||
+ *result = resbuf;
|
||||
goto done;
|
||||
}
|
||||
|
||||
@@ -201,15 +208,6 @@ __nss_hostname_digits_dots (const char *
|
||||
|
||||
if ((isxdigit (name[0]) && strchr (name, ':') != NULL) || name[0] == ':')
|
||||
{
|
||||
- const char *cp;
|
||||
- char *hostname;
|
||||
- typedef unsigned char host_addr_t[16];
|
||||
- host_addr_t *host_addr;
|
||||
- typedef char *host_addr_list_t[2];
|
||||
- host_addr_list_t *h_addr_ptrs;
|
||||
- size_t size_needed;
|
||||
- int addr_size;
|
||||
-
|
||||
switch (af)
|
||||
{
|
||||
default:
|
||||
@@ -225,7 +223,10 @@ __nss_hostname_digits_dots (const char *
|
||||
/* This is not possible. We cannot represent an IPv6 address
|
||||
in an `struct in_addr' variable. */
|
||||
*h_errnop = HOST_NOT_FOUND;
|
||||
- *result = NULL;
|
||||
+ if (buffer_size == NULL)
|
||||
+ *status = NSS_STATUS_NOTFOUND;
|
||||
+ else
|
||||
+ *result = NULL;
|
||||
goto done;
|
||||
|
||||
case AF_INET6:
|
||||
@@ -233,42 +234,6 @@ __nss_hostname_digits_dots (const char *
|
||||
break;
|
||||
}
|
||||
|
||||
- size_needed = (sizeof (*host_addr)
|
||||
- + sizeof (*h_addr_ptrs) + strlen (name) + 1);
|
||||
-
|
||||
- if (buffer_size == NULL && buflen < size_needed)
|
||||
- {
|
||||
- if (h_errnop != NULL)
|
||||
- *h_errnop = TRY_AGAIN;
|
||||
- __set_errno (ERANGE);
|
||||
- goto done;
|
||||
- }
|
||||
- else if (buffer_size != NULL && *buffer_size < size_needed)
|
||||
- {
|
||||
- char *new_buf;
|
||||
- *buffer_size = size_needed;
|
||||
- new_buf = realloc (*buffer, *buffer_size);
|
||||
-
|
||||
- if (new_buf == NULL)
|
||||
- {
|
||||
- save = errno;
|
||||
- free (*buffer);
|
||||
- __set_errno (save);
|
||||
- *buffer = NULL;
|
||||
- *buffer_size = 0;
|
||||
- *result = NULL;
|
||||
- goto done;
|
||||
- }
|
||||
- *buffer = new_buf;
|
||||
- }
|
||||
-
|
||||
- memset (*buffer, '\0', size_needed);
|
||||
-
|
||||
- host_addr = (host_addr_t *) *buffer;
|
||||
- h_addr_ptrs = (host_addr_list_t *)
|
||||
- ((char *) host_addr + sizeof (*host_addr));
|
||||
- hostname = (char *) h_addr_ptrs + sizeof (*h_addr_ptrs);
|
||||
-
|
||||
for (cp = name;; ++cp)
|
||||
{
|
||||
if (!*cp)
|
||||
@@ -281,7 +246,9 @@ __nss_hostname_digits_dots (const char *
|
||||
if (inet_pton (AF_INET6, name, host_addr) <= 0)
|
||||
{
|
||||
*h_errnop = HOST_NOT_FOUND;
|
||||
- if (buffer_size)
|
||||
+ if (buffer_size == NULL)
|
||||
+ *status = NSS_STATUS_NOTFOUND;
|
||||
+ else
|
||||
*result = NULL;
|
||||
goto done;
|
||||
}
|
||||
--- /dev/null
|
||||
+++ b/nss/test-digits-dots.c
|
||||
@@ -0,0 +1,38 @@
|
||||
+/* Copyright (C) 2013 Free Software Foundation, Inc.
|
||||
+ This file is part of the GNU C Library.
|
||||
+
|
||||
+ The GNU C Library is free software; you can redistribute it and/or
|
||||
+ modify it under the terms of the GNU Lesser General Public
|
||||
+ License as published by the Free Software Foundation; either
|
||||
+ version 2.1 of the License, or (at your option) any later version.
|
||||
+
|
||||
+ The GNU C Library is distributed in the hope that it will be useful,
|
||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ Lesser General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU Lesser General Public
|
||||
+ License along with the GNU C Library; if not, see
|
||||
+ <http://www.gnu.org/licenses/>. */
|
||||
+
|
||||
+/* Testcase for BZ #15014 */
|
||||
+
|
||||
+#include <stdlib.h>
|
||||
+#include <netdb.h>
|
||||
+#include <errno.h>
|
||||
+
|
||||
+static int
|
||||
+do_test (void)
|
||||
+{
|
||||
+ char buf[32];
|
||||
+ struct hostent *result = NULL;
|
||||
+ struct hostent ret;
|
||||
+ int h_err = 0;
|
||||
+ int err;
|
||||
+
|
||||
+ err = gethostbyname_r ("1.2.3.4", &ret, buf, sizeof (buf), &result, &h_err);
|
||||
+ return err == ERANGE && h_err == NETDB_INTERNAL ? EXIT_SUCCESS : EXIT_FAILURE;
|
||||
+}
|
||||
+
|
||||
+#define TEST_FUNCTION do_test ()
|
||||
+#include "../test-skeleton.c"
|
||||
--- a/nss/getXXbyYY_r.c
|
||||
+++ b/nss/getXXbyYY_r.c
|
||||
@@ -179,6 +179,9 @@ INTERNAL (REENTRANT_NAME) (ADD_PARAMS, L
|
||||
case -1:
|
||||
return errno;
|
||||
case 1:
|
||||
+#ifdef NEED_H_ERRNO
|
||||
+ any_service = true;
|
||||
+#endif
|
||||
goto done;
|
||||
}
|
||||
#endif
|
@ -1,54 +0,0 @@
|
||||
From 175cef4163dd60f95106cfd5f593b8a4e09d02c9 Mon Sep 17 00:00:00 2001
|
||||
From: Joseph Myers <joseph@codesourcery.com>
|
||||
Date: Tue, 20 May 2014 21:27:13 +0000
|
||||
Subject: [PATCH] Fix ARM build with GCC trunk.
|
||||
|
||||
sysdeps/unix/sysv/linux/arm/unwind-resume.c and
|
||||
sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c have static
|
||||
variables that are written in C code but only read from toplevel asms.
|
||||
Current GCC trunk now optimizes away such apparently write-only static
|
||||
variables, so causing a build failure. This patch marks those
|
||||
variables with __attribute_used__ to avoid that optimization.
|
||||
|
||||
Tested that this fixes the build for ARM.
|
||||
|
||||
* sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c
|
||||
(libgcc_s_resume): Use __attribute_used__.
|
||||
* sysdeps/unix/sysv/linux/arm/unwind-resume.c (libgcc_s_resume):
|
||||
Likewise.
|
||||
---
|
||||
sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c | 3 ++-
|
||||
sysdeps/unix/sysv/linux/arm/unwind-resume.c | 3 ++-
|
||||
3 files changed, 11 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c b/sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c
|
||||
index 6ccd9b4..660d148 100644
|
||||
--- a/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
|
||||
+++ b/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
|
||||
@@ -22,7 +22,8 @@
|
||||
#include <pthreadP.h>
|
||||
|
||||
static void *libgcc_s_handle;
|
||||
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
|
||||
+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc)
|
||||
+ __attribute_used__;
|
||||
static _Unwind_Reason_Code (*libgcc_s_personality)
|
||||
(_Unwind_State, struct _Unwind_Exception *, struct _Unwind_Context *);
|
||||
static _Unwind_Reason_Code (*libgcc_s_forcedunwind)
|
||||
diff --git a/sysdeps/unix/sysv/linux/arm/unwind-resume.c b/sysdeps/unix/sysv/linux/arm/unwind-resume.c
|
||||
index bff3e2b..1f1eb71 100644
|
||||
--- a/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c
|
||||
+++ b/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c
|
||||
@@ -20,7 +20,8 @@
|
||||
#include <stdio.h>
|
||||
#include <unwind.h>
|
||||
|
||||
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
|
||||
+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc)
|
||||
+ __attribute_used__;
|
||||
static _Unwind_Reason_Code (*libgcc_s_personality)
|
||||
(_Unwind_State, struct _Unwind_Exception *, struct _Unwind_Context *);
|
||||
|
||||
--
|
||||
1.9.4
|
||||
|
38
patches/glibc/2.18/120-support-make4.patch
Normal file
38
patches/glibc/2.18/120-support-make4.patch
Normal file
@ -0,0 +1,38 @@
|
||||
Original patch modified: Removed ChangeLog and NEWS sections, ajdust for configure.in
|
||||
KS
|
||||
|
||||
From: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
|
||||
Date: Thu, 31 Oct 2013 02:37:50 +0000 (+1000)
|
||||
Subject: Accept make versions 4.0 and greater
|
||||
X-Git-Tag: glibc-2.19~556
|
||||
X-Git-Url: https://sourceware.org/git/?p=glibc.git;a=commitdiff_plain;h=28d708c44bc47b56f6551ff285f78edcf61c208a;hp=a56ee40b176d0a3f47f2a7eb75208f2e3763c9fd
|
||||
|
||||
Accept make versions 4.0 and greater
|
||||
---
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index f382138..5e61abd 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -4761,7 +4761,7 @@ $as_echo_n "checking version of $MAKE... " >&6; }
|
||||
ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'`
|
||||
case $ac_prog_version in
|
||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
||||
- 3.79* | 3.[89]*)
|
||||
+ 3.79* | 3.[89]* | [4-9].* | [1-9][0-9]*)
|
||||
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
|
||||
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
|
||||
|
||||
diff --git a/configure.in b/configure.in
|
||||
index 49b70fd..6da8efd 100644
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -984,7 +984,7 @@ AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}gcc ${ac_tool_prefix}cc, -v,
|
||||
critic_missing="$critic_missing gcc")
|
||||
AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version,
|
||||
[GNU Make[^0-9]*\([0-9][0-9.]*\)],
|
||||
- [3.79* | 3.[89]*], critic_missing="$critic_missing make")
|
||||
+ [3.79* | 3.[89]* | [4-9].* | [1-9][0-9]*], critic_missing="$critic_missing make")
|
||||
|
||||
AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version,
|
||||
[GNU gettext.* \([0-9]*\.[0-9.]*\)],
|
48
patches/glibc/2.18/130-arm-unwind.patch
Normal file
48
patches/glibc/2.18/130-arm-unwind.patch
Normal file
@ -0,0 +1,48 @@
|
||||
diff -urN glibc-2.18.orig/nptl/sysdeps/pthread/unwind-forcedunwind.c glibc-2.18/nptl/sysdeps/pthread/unwind-forcedunwind.c
|
||||
--- glibc-2.18.orig/nptl/sysdeps/pthread/unwind-forcedunwind.c 2013-08-11 02:52:55.000000000 +0400
|
||||
+++ glibc-2.18/nptl/sysdeps/pthread/unwind-forcedunwind.c 2016-09-15 02:30:09.199939478 +0300
|
||||
@@ -24,7 +24,7 @@
|
||||
#include <gnu/lib-names.h>
|
||||
|
||||
static void *libgcc_s_handle;
|
||||
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
|
||||
+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc) __attribute_used__;
|
||||
static _Unwind_Reason_Code (*libgcc_s_personality)
|
||||
(int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *,
|
||||
struct _Unwind_Context *);
|
||||
diff -urN glibc-2.18.orig/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c glibc-2.18/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
|
||||
--- glibc-2.18.orig/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c 2013-08-11 02:52:55.000000000 +0400
|
||||
+++ glibc-2.18/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c 2016-09-15 02:29:07.096945862 +0300
|
||||
@@ -22,7 +22,7 @@
|
||||
#include <pthreadP.h>
|
||||
|
||||
static void *libgcc_s_handle;
|
||||
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
|
||||
+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc) __attribute_used__;
|
||||
static _Unwind_Reason_Code (*libgcc_s_personality)
|
||||
(_Unwind_State, struct _Unwind_Exception *, struct _Unwind_Context *);
|
||||
static _Unwind_Reason_Code (*libgcc_s_forcedunwind)
|
||||
diff -urN glibc-2.18.orig/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c glibc-2.18/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c
|
||||
--- glibc-2.18.orig/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c 2013-08-11 02:52:55.000000000 +0400
|
||||
+++ glibc-2.18/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c 2016-09-15 02:29:37.352917115 +0300
|
||||
@@ -20,7 +20,7 @@
|
||||
#include <stdio.h>
|
||||
#include <unwind.h>
|
||||
|
||||
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
|
||||
+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc) __attribute_used__;
|
||||
static _Unwind_Reason_Code (*libgcc_s_personality)
|
||||
(_Unwind_State, struct _Unwind_Exception *, struct _Unwind_Context *);
|
||||
|
||||
diff -urN glibc-2.18.orig/sysdeps/gnu/unwind-resume.c glibc-2.18/sysdeps/gnu/unwind-resume.c
|
||||
--- glibc-2.18.orig/sysdeps/gnu/unwind-resume.c 2013-08-11 02:52:55.000000000 +0400
|
||||
+++ glibc-2.18/sysdeps/gnu/unwind-resume.c 2016-09-15 02:29:53.376431503 +0300
|
||||
@@ -21,7 +21,7 @@
|
||||
#include <unwind.h>
|
||||
#include <gnu/lib-names.h>
|
||||
|
||||
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
|
||||
+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc) __attribute_used__;
|
||||
static _Unwind_Reason_Code (*libgcc_s_personality)
|
||||
(int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *,
|
||||
struct _Unwind_Context *);
|
48
patches/glibc/2.19/130-arm-unwind.patch
Normal file
48
patches/glibc/2.19/130-arm-unwind.patch
Normal file
@ -0,0 +1,48 @@
|
||||
diff -urN glibc-2.18.orig/nptl/sysdeps/pthread/unwind-forcedunwind.c glibc-2.18/nptl/sysdeps/pthread/unwind-forcedunwind.c
|
||||
--- glibc-2.18.orig/nptl/sysdeps/pthread/unwind-forcedunwind.c 2013-08-11 02:52:55.000000000 +0400
|
||||
+++ glibc-2.18/nptl/sysdeps/pthread/unwind-forcedunwind.c 2016-09-15 02:30:09.199939478 +0300
|
||||
@@ -24,7 +24,7 @@
|
||||
#include <gnu/lib-names.h>
|
||||
|
||||
static void *libgcc_s_handle;
|
||||
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
|
||||
+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc) __attribute_used__;
|
||||
static _Unwind_Reason_Code (*libgcc_s_personality)
|
||||
(int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *,
|
||||
struct _Unwind_Context *);
|
||||
diff -urN glibc-2.18.orig/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c glibc-2.18/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
|
||||
--- glibc-2.18.orig/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c 2013-08-11 02:52:55.000000000 +0400
|
||||
+++ glibc-2.18/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c 2016-09-15 02:29:07.096945862 +0300
|
||||
@@ -22,7 +22,7 @@
|
||||
#include <pthreadP.h>
|
||||
|
||||
static void *libgcc_s_handle;
|
||||
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
|
||||
+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc) __attribute_used__;
|
||||
static _Unwind_Reason_Code (*libgcc_s_personality)
|
||||
(_Unwind_State, struct _Unwind_Exception *, struct _Unwind_Context *);
|
||||
static _Unwind_Reason_Code (*libgcc_s_forcedunwind)
|
||||
diff -urN glibc-2.18.orig/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c glibc-2.18/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c
|
||||
--- glibc-2.18.orig/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c 2013-08-11 02:52:55.000000000 +0400
|
||||
+++ glibc-2.18/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-resume.c 2016-09-15 02:29:37.352917115 +0300
|
||||
@@ -20,7 +20,7 @@
|
||||
#include <stdio.h>
|
||||
#include <unwind.h>
|
||||
|
||||
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
|
||||
+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc) __attribute_used__;
|
||||
static _Unwind_Reason_Code (*libgcc_s_personality)
|
||||
(_Unwind_State, struct _Unwind_Exception *, struct _Unwind_Context *);
|
||||
|
||||
diff -urN glibc-2.18.orig/sysdeps/gnu/unwind-resume.c glibc-2.18/sysdeps/gnu/unwind-resume.c
|
||||
--- glibc-2.18.orig/sysdeps/gnu/unwind-resume.c 2013-08-11 02:52:55.000000000 +0400
|
||||
+++ glibc-2.18/sysdeps/gnu/unwind-resume.c 2016-09-15 02:29:53.376431503 +0300
|
||||
@@ -21,7 +21,7 @@
|
||||
#include <unwind.h>
|
||||
#include <gnu/lib-names.h>
|
||||
|
||||
-static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
|
||||
+static void (*libgcc_s_resume) (struct _Unwind_Exception *exc) __attribute_used__;
|
||||
static _Unwind_Reason_Code (*libgcc_s_personality)
|
||||
(int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *,
|
||||
struct _Unwind_Context *);
|
@ -1,187 +0,0 @@
|
||||
Fixes
|
||||
elf/librtld.os: In function `process_envvars': : undefined reference to `__access'
|
||||
...
|
||||
when building glibc-2.3.x on cygwin
|
||||
|
||||
Idea from
|
||||
http://sources.redhat.com/ml/bug-glibc/2002-01/msg00071/glibc-2.2-cygin-shared.patch
|
||||
Basically, make glibc use .oST as suffix for 'object static'
|
||||
instead of .oS, since cygwin has trouble distinguishing .os from .oS
|
||||
(Original patch had .on, but .oST is more mnemonic for 'object static')
|
||||
|
||||
glibc-linuxthreads-2.3.5 also requires a patch, see
|
||||
../glibc-linuxthreads-2.3.5/glibc-linuxthreads-2.3.5-cygwin.patch
|
||||
|
||||
[ forward ported to glibc-2.3.5 by Petr Cvachoucek:
|
||||
|
||||
Message-ID: <4282FCBA.3040000@unicontrols.cz>
|
||||
Date: Thu, 12 May 2005 08:50:34 +0200
|
||||
From: Petr Cvachoucek <cvachoucek@unicontrols.cz>
|
||||
To: Dan Kegel <dank@kegel.com>
|
||||
CC: crossgcc@sources.redhat.com
|
||||
Subject: Patches to build gcc 3.4.3 / glibc 2.3.5 on cygwin
|
||||
|
||||
Hi Dan,
|
||||
following patches are needed to build gcc-3.4.3/glibc-2.3.5 toolchain
|
||||
on cygwin. Tested to build toolchains for powerpc 604 and 750 targets.
|
||||
|
||||
--
|
||||
Petr Cvachoucek
|
||||
Unicontrols a.s.
|
||||
http://www.unicontrols.cz
|
||||
]
|
||||
|
||||
diff -aur glibc-2.3.5/Makeconfig glibc-2.3.5-cygwin/Makeconfig
|
||||
--- glibc-2.3.5/Makeconfig 2005-02-16 11:50:19.000000000 +0100
|
||||
+++ glibc-2.3.5-cygwin/Makeconfig 2005-05-11 08:24:51.046875000 +0200
|
||||
@@ -472,7 +472,7 @@
|
||||
# run the linked programs.
|
||||
link-libc = -Wl,-rpath-link=$(rpath-link) \
|
||||
$(common-objpfx)libc.so$(libc.so-version) \
|
||||
- $(common-objpfx)$(patsubst %,$(libtype.oS),c) $(gnulib)
|
||||
+ $(common-objpfx)$(patsubst %,$(libtype.oST),c) $(gnulib)
|
||||
# This is how to find at build-time things that will be installed there.
|
||||
rpath-dirs = math elf dlfcn nss nis rt resolv crypt
|
||||
endif
|
||||
@@ -693,7 +693,7 @@
|
||||
# The compilation rules use $(CPPFLAGS-${SUFFIX}) and $(CFLAGS-${SUFFIX})
|
||||
# to pass different flags for each flavor.
|
||||
libtypes = $(foreach o,$(object-suffixes-for-libc),$(libtype$o))
|
||||
-all-object-suffixes := .o .os .op .og .ob .oS
|
||||
+all-object-suffixes := .o .os .op .og .ob .oST
|
||||
object-suffixes :=
|
||||
CPPFLAGS-.o = $(pic-default)
|
||||
CFLAGS-.o = $(filter %frame-pointer,$(+cflags))
|
||||
@@ -749,14 +749,14 @@
|
||||
|
||||
ifeq (yes,$(build-shared))
|
||||
# Build special library that contains the static-only routines for libc.
|
||||
-object-suffixes-for-libc += .oS
|
||||
+object-suffixes-for-libc += .oST
|
||||
|
||||
# Must build the routines as PIC, though, because they can end up in (users')
|
||||
# shared objects. We don't want to use CFLAGS-os because users may, for
|
||||
# example, make that processor-specific.
|
||||
-CFLAGS-.oS = $(CFLAGS-.o) $(PIC-ccflag)
|
||||
-CPPFLAGS-.oS = $(CPPFLAGS-.o) -DPIC -DLIBC_NONSHARED=1
|
||||
-libtype.oS = lib%_nonshared.a
|
||||
+CFLAGS-.oST = $(CFLAGS-.o) $(PIC-ccflag)
|
||||
+CPPFLAGS-.oST = $(CPPFLAGS-.o) -DPIC -DLIBC_NONSHARED=1
|
||||
+libtype.oST = lib%_nonshared.a
|
||||
endif
|
||||
|
||||
# The assembler can generate debug information too.
|
||||
diff -aur glibc-2.3.5/Makerules glibc-2.3.5-cygwin/Makerules
|
||||
--- glibc-2.3.5/Makerules 2004-12-15 19:52:39.000000000 +0100
|
||||
+++ glibc-2.3.5-cygwin/Makerules 2005-05-11 08:25:33.578125000 +0200
|
||||
@@ -417,7 +417,7 @@
|
||||
# Bounded pointer thunks are only built for *.ob
|
||||
elide-bp-thunks = $(addprefix $(bppfx),$(bp-thunks))
|
||||
|
||||
-elide-routines.oS += $(filter-out $(static-only-routines),\
|
||||
+elide-routines.oST += $(filter-out $(static-only-routines),\
|
||||
$(routines) $(aux) $(sysdep_routines)) \
|
||||
$(elide-bp-thunks)
|
||||
elide-routines.os += $(static-only-routines) $(elide-bp-thunks)
|
||||
@@ -981,7 +981,7 @@
|
||||
install: $(inst_libdir)/libc.so
|
||||
$(inst_libdir)/libc.so: $(common-objpfx)format.lds \
|
||||
$(common-objpfx)libc.so$(libc.so-version) \
|
||||
- $(inst_libdir)/$(patsubst %,$(libtype.oS),\
|
||||
+ $(inst_libdir)/$(patsubst %,$(libtype.oST),\
|
||||
$(libprefix)$(libc-name)) \
|
||||
$(+force)
|
||||
(echo '/* GNU ld script';\
|
||||
@@ -989,7 +989,7 @@
|
||||
echo ' the static library, so try that secondarily. */';\
|
||||
cat $<; \
|
||||
echo 'GROUP ( $(slibdir)/libc.so$(libc.so-version)' \
|
||||
- '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)$(libc-name))'\
|
||||
+ '$(libdir)/$(patsubst %,$(libtype.oST),$(libprefix)$(libc-name))'\
|
||||
' AS_NEEDED (' $(slibdir)/$(rtld-installed-name) ') )' \
|
||||
) > $@.new
|
||||
mv -f $@.new $@
|
||||
diff -aur glibc-2.3.5/extra-lib.mk glibc-2.3.5-cygwin/extra-lib.mk
|
||||
--- glibc-2.3.5/extra-lib.mk 2004-12-02 23:54:47.000000000 +0100
|
||||
+++ glibc-2.3.5-cygwin/extra-lib.mk 2005-05-11 08:27:28.156250000 +0200
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
ifneq (,$($(lib)-static-only-routines))
|
||||
ifneq (,$(filter yesyes%,$(build-shared)$(elf)$($(lib).so-version)))
|
||||
-object-suffixes-$(lib) += $(filter-out $($(lib)-inhibit-o),.oS)
|
||||
+object-suffixes-$(lib) += $(filter-out $($(lib)-inhibit-o),.oST)
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
# Add each flavor of library to the lists of things to build and install.
|
||||
install-lib += $(foreach o,$(object-suffixes-$(lib)),$(lib:lib%=$(libtype$o)))
|
||||
-extra-objs += $(foreach o,$(filter-out .os .oS,$(object-suffixes-$(lib))),\
|
||||
+extra-objs += $(foreach o,$(filter-out .os .oST,$(object-suffixes-$(lib))),\
|
||||
$(patsubst %,%$o,$(filter-out \
|
||||
$($(lib)-shared-only-routines),\
|
||||
$(all-$(lib)-routines))))
|
||||
@@ -57,7 +57,7 @@
|
||||
|
||||
|
||||
# Use o-iterator.mk to generate a rule for each flavor of library.
|
||||
-ifneq (,$(filter-out .os .oS,$(object-suffixes-$(lib))))
|
||||
+ifneq (,$(filter-out .os .oST,$(object-suffixes-$(lib))))
|
||||
define o-iterator-doit
|
||||
$(objpfx)$(patsubst %,$(libtype$o),$(lib:lib%=%)): \
|
||||
$(patsubst %,$(objpfx)%$o,\
|
||||
@@ -65,7 +65,7 @@
|
||||
$(all-$(lib)-routines))); \
|
||||
$$(build-extra-lib)
|
||||
endef
|
||||
-object-suffixes-left = $(filter-out .os .oS,$(object-suffixes-$(lib)))
|
||||
+object-suffixes-left = $(filter-out .os .oST,$(object-suffixes-$(lib)))
|
||||
include $(patsubst %,$(..)o-iterator.mk,$(object-suffixes-left))
|
||||
endif
|
||||
|
||||
@@ -77,9 +77,9 @@
|
||||
$(build-extra-lib)
|
||||
endif
|
||||
|
||||
-ifneq (,$(filter .oS,$(object-suffixes-$(lib))))
|
||||
-$(objpfx)$(patsubst %,$(libtype.oS),$(lib:lib%=%)): \
|
||||
- $(patsubst %,$(objpfx)%.oS,\
|
||||
+ifneq (,$(filter .oST,$(object-suffixes-$(lib))))
|
||||
+$(objpfx)$(patsubst %,$(libtype.oST),$(lib:lib%=%)): \
|
||||
+ $(patsubst %,$(objpfx)%.oST,\
|
||||
$(filter $($(lib)-static-only-routines),\
|
||||
$(all-$(lib)-routines)))
|
||||
$(build-extra-lib)
|
||||
diff -aur glibc-2.3.5/nptl/Makefile glibc-2.3.5-cygwin/nptl/Makefile
|
||||
--- glibc-2.3.5/nptl/Makefile 2005-02-16 09:45:56.000000000 +0100
|
||||
+++ glibc-2.3.5-cygwin/nptl/Makefile 2005-05-11 08:26:01.812500000 +0200
|
||||
@@ -375,7 +375,7 @@
|
||||
|
||||
$(inst_libdir)/libpthread.so: $(common-objpfx)format.lds \
|
||||
$(objpfx)libpthread.so$(libpthread.so-version) \
|
||||
- $(inst_libdir)/$(patsubst %,$(libtype.oS),\
|
||||
+ $(inst_libdir)/$(patsubst %,$(libtype.oST),\
|
||||
$(libprefix)pthread) \
|
||||
$(+force)
|
||||
(echo '/* GNU ld script';\
|
||||
@@ -383,7 +383,7 @@
|
||||
echo ' the static library, so try that secondarily. */';\
|
||||
cat $<; \
|
||||
echo 'GROUP ( $(slibdir)/libpthread.so$(libpthread.so-version)' \
|
||||
- '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)pthread)'\
|
||||
+ '$(libdir)/$(patsubst %,$(libtype.oST),$(libprefix)pthread)'\
|
||||
')' \
|
||||
) > $@.new
|
||||
mv -f $@.new $@
|
||||
diff -aur glibc-2.3.5/sysdeps/sparc/sparc32/sparcv9/Makefile glibc-2.3.5-cygwin/sysdeps/sparc/sparc32/sparcv9/Makefile
|
||||
--- glibc-2.3.5/sysdeps/sparc/sparc32/sparcv9/Makefile 2004-08-16 08:46:14.000000000 +0200
|
||||
+++ glibc-2.3.5-cygwin/sysdeps/sparc/sparc32/sparcv9/Makefile 2005-05-11 08:26:25.937500000 +0200
|
||||
@@ -10,4 +10,4 @@
|
||||
ASFLAGS-.op += -Wa,-Av9a
|
||||
ASFLAGS-.og += -Wa,-Av9a
|
||||
ASFLAGS-.ob += -Wa,-Av9a
|
||||
-ASFLAGS-.oS += -Wa,-Av9a
|
||||
+ASFLAGS-.oST += -Wa,-Av9a
|
||||
|
||||
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
|
@ -1,25 +0,0 @@
|
||||
http://in3www.epfl.ch/~schaffne/glibc-configure-apple-as.patch
|
||||
http://sources.redhat.com/ml/crossgcc/2004-02/msg00151.html
|
||||
|
||||
The following makes it possible to configure glibc-2.3.2 on Mac OS X,
|
||||
where the assembler but doesn't understand the --version flag.
|
||||
|
||||
Fixes the symptom
|
||||
checking whether ld is GNU ld... no
|
||||
checking for /usr/libexec/gcc/darwin/ppc/as... /usr/libexec/gcc/darwin/ppc/as
|
||||
checking version of /usr/libexec/gcc/darwin/ppc/as...
|
||||
<PAUSES HERE AND JUST SITS THERE DOING NOTHING>
|
||||
|
||||
--- glibc-2.3.2/configure~ Wed Feb 26 09:20:48 2003
|
||||
+++ glibc-2.3.2/configure Fri Feb 27 13:12:53 2004
|
||||
@@ -4039,7 +4039,7 @@
|
||||
# Found it, now check the version.
|
||||
echo "$as_me:$LINENO: checking version of $AS" >&5
|
||||
echo $ECHO_N "checking version of $AS... $ECHO_C" >&6
|
||||
- ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
||||
+ ac_prog_version=`$AS -v </dev/null 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
||||
case $ac_prog_version in
|
||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
||||
2.1[3-9]*)
|
||||
|
||||
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
|
@ -1,45 +0,0 @@
|
||||
From dank@kegel.com
|
||||
Wed Jun 15 09:12:43 PDT 2005
|
||||
|
||||
Fixes
|
||||
|
||||
build-glibc/libc.a(nsswitch.o)(.data+0x64): undefined reference to `_nss_files_getaliasent_r'
|
||||
build-glibc/libc.a(nsswitch.o)(.data+0x6c): undefined reference to `_nss_files_endaliasent'
|
||||
... 53 lines deleted ...
|
||||
build-glibc/libc.a(nsswitch.o)(.data+0x21c): undefined reference to `_nss_files_getspnam_r'
|
||||
collect2: ld returned 1 exit status
|
||||
make[2]: *** [/build/gcc-3.4.3-glibc-2.3.5-hdrs-2.6.11.2/i686-unknown-linux-gnu/build-glibc/elf/ldconfig] Error 1
|
||||
|
||||
when building glibc with --enable-static-nss.
|
||||
|
||||
See http://sources.redhat.com/bugzilla/show_bug.cgi?id=631
|
||||
|
||||
--- glibc-2.3.5/Makeconfig.old Wed Jun 15 08:13:12 2005
|
||||
+++ glibc-2.3.5/Makeconfig Wed Jun 15 08:13:14 2005
|
||||
@@ -510,7 +510,7 @@
|
||||
|
||||
# The static libraries.
|
||||
ifeq (yes,$(build-static))
|
||||
-link-libc-static = $(common-objpfx)libc.a $(static-gnulib) $(common-objpfx)libc.a
|
||||
+link-libc-static = $(common-objpfx)libc.a $(static-gnulib) $(otherlibs) $(common-objpfx)libc.a
|
||||
else
|
||||
ifeq (yes,$(build-shared))
|
||||
# We can try to link the programs with lib*_pic.a...
|
||||
--- glibc-2.3.5/elf/Makefile.old Wed Jun 15 07:46:49 2005
|
||||
+++ glibc-2.3.5/elf/Makefile Wed Jun 15 08:14:00 2005
|
||||
@@ -120,6 +120,13 @@
|
||||
install-bin-script = ldd
|
||||
endif
|
||||
|
||||
+ifeq (yes,$(build-static-nss))
|
||||
+nssobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)nss)
|
||||
+resolvobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)resolv)
|
||||
+otherlibs += $(nssobjdir)/libnss_files.a $(resolvobjdir)/libnss_dns.a \
|
||||
+ $(resolvobjdir)/libresolv.a
|
||||
+endif
|
||||
+
|
||||
others = sprof sln
|
||||
install-bin = sprof
|
||||
others-static = sln
|
||||
|
||||
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
|
@ -1,38 +0,0 @@
|
||||
2007-02-15 Khem Raj <kraj@xxxxxxxxxx>
|
||||
|
||||
* sysdeps/unix/sysv/linux/i386/sysdep.h: Re-define __i686.
|
||||
* nptl/sysdeps/pthread/pt-initfini.c: Ditto.
|
||||
|
||||
|
||||
|
||||
Index: glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h
|
||||
===================================================================
|
||||
--- glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h (revision 1469)
|
||||
+++ glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h (working copy)
|
||||
@@ -29,6 +29,10 @@
|
||||
#include <dl-sysdep.h>
|
||||
#include <tls.h>
|
||||
|
||||
+#if defined __i686 && defined __ASSEMBLER__
|
||||
+#undef __i686
|
||||
+#define __i686 __i686
|
||||
+#endif
|
||||
|
||||
/* For Linux we can use the system call table in the header file
|
||||
/usr/include/asm/unistd.h
|
||||
Index: glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c
|
||||
===================================================================
|
||||
--- glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c (revision 1469)
|
||||
+++ glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c (working copy)
|
||||
@@ -45,6 +45,11 @@
|
||||
/* Embed an #include to pull in the alignment and .end directives. */
|
||||
asm ("\n#include \"defs.h\"");
|
||||
|
||||
+asm ("\n#if defined __i686 && defined __ASSEMBLER__");
|
||||
+asm ("\n#undef __i686");
|
||||
+asm ("\n#define __i686 __i686");
|
||||
+asm ("\n#endif");
|
||||
+
|
||||
/* The initial common code ends here. */
|
||||
asm ("\n/*@HEADER_ENDS*/");
|
||||
|
@ -1,18 +0,0 @@
|
||||
(C) 2007 Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
|
||||
License: LGPL v2.1
|
||||
|
||||
Shut off a stupid warning: preffered-stack-boundary must be between 4 ad 12,
|
||||
and 2 is not.
|
||||
|
||||
diff -dur glibc-2.5.orig/sysdeps/i386/Makefile glibc-2.5/sysdeps/i386/Makefile
|
||||
--- glibc-2.5.orig/sysdeps/i386/Makefile 2005-03-06 01:18:16.000000000 +0100
|
||||
+++ glibc-2.5/sysdeps/i386/Makefile 2007-05-27 17:49:37.000000000 +0200
|
||||
@@ -36,7 +36,7 @@
|
||||
ifeq ($(subdir),csu)
|
||||
sysdep-CFLAGS += -mpreferred-stack-boundary=4
|
||||
else
|
||||
-sysdep-CFLAGS += -mpreferred-stack-boundary=2
|
||||
+sysdep-CFLAGS += -mpreferred-stack-boundary=4
|
||||
# Likewise, any function which calls user callbacks
|
||||
uses-callbacks += -mpreferred-stack-boundary=4
|
||||
# Likewise, any stack alignment tests
|
@ -1,26 +0,0 @@
|
||||
2008-06-07 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* sysdeps/unix/sysv/linux/alpha/sys/user.h: Copy page.h definitions
|
||||
from the kernel header to sys/user.h and remove the #include of
|
||||
sys/user.h.
|
||||
|
||||
--- a/sysdeps/unix/sysv/linux/alpha/sys/user.h
|
||||
+++ b/sysdeps/unix/sysv/linux/alpha/sys/user.h
|
||||
@@ -23,7 +23,6 @@
|
||||
only. Don't read too much into it. Don't use it for anything other
|
||||
than gdb/strace unless you know what you are doing. */
|
||||
|
||||
-#include <asm/page.h>
|
||||
#include <asm/reg.h>
|
||||
|
||||
struct user
|
||||
@@ -41,6 +40,9 @@ struct user
|
||||
char u_comm[32]; /* user command name */
|
||||
};
|
||||
|
||||
+#define PAGE_SHIFT 13
|
||||
+#define PAGE_SIZE (1 << PAGE_SHIFT)
|
||||
+#define PAGE_MASK (~(PAGE_SIZE-1))
|
||||
#define NBPG PAGE_SIZE
|
||||
#define UPAGES 1
|
||||
#define HOST_TEXT_START_ADDR (u.start_code)
|
@ -1,18 +0,0 @@
|
||||
Original patch from H.J. Lu, as reported there:
|
||||
http://www.nabble.com/PATCH:-Use-short-for-fnstsw-td14775171.html
|
||||
|
||||
fnstsw stores 16bit into %ax. The upper 16bit of %eax is unchanged.
|
||||
The new assembler (binutils-2.18.50.0.4 and up) will disallow "fnstsw %eax".
|
||||
|
||||
diff -dur glibc-2.6.1.orig/sysdeps/i386/fpu/ftestexcept.c glibc-2.6.1/sysdeps/i386/fpu/ftestexcept.c
|
||||
--- glibc-2.6.1.orig/sysdeps/i386/fpu/ftestexcept.c 2004-03-05 11:14:48.000000000 +0100
|
||||
+++ glibc-2.6.1/sysdeps/i386/fpu/ftestexcept.c 2008-06-24 10:56:14.000000000 +0200
|
||||
@@ -26,7 +26,7 @@
|
||||
int
|
||||
fetestexcept (int excepts)
|
||||
{
|
||||
- int temp;
|
||||
+ short temp;
|
||||
int xtemp = 0;
|
||||
|
||||
/* Get current exceptions. */
|
@ -1,194 +0,0 @@
|
||||
since the kernel no longer provides asm/elf.h, the sys/procfs.h from the
|
||||
common code, alpha, and sh fail when used. this should things up.
|
||||
-mike
|
||||
|
||||
2008-06-07 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* sysdeps/unix/sysv/linux/sys/procfs.h: Replace with #error stub.
|
||||
* sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Copy some asm/elf.h
|
||||
definitions from the kernel header to sys/procfs.h and remove the
|
||||
#include of asm/elf.h.
|
||||
* sysdeps/unix/sysv/linux/sh/sys/procfs.h: Likewise.
|
||||
|
||||
*Attachment: signature.asc <msg00012/signature.asc>*
|
||||
/Description:/ This is a digitally signed message part.
|
||||
|
||||
2008-06-07 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* sysdeps/unix/sysv/linux/sys/procfs.h: Replace with #error stub.
|
||||
* sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Copy some asm/elf.h
|
||||
definitions from the kernel header to sys/procfs.h and remove the
|
||||
#include of asm/elf.h.
|
||||
* sysdeps/unix/sysv/linux/sh/sys/procfs.h: Likewise.
|
||||
|
||||
--- a/sysdeps/unix/sysv/linux/alpha/sys/procfs.h
|
||||
+++ b/sysdeps/unix/sysv/linux/alpha/sys/procfs.h
|
||||
@@ -29,10 +29,23 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/ucontext.h>
|
||||
#include <sys/user.h>
|
||||
-#include <asm/elf.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
+/*
|
||||
+ * The OSF/1 version of <sys/procfs.h> makes gregset_t 46 entries long.
|
||||
+ * I have no idea why that is so. For now, we just leave it at 33
|
||||
+ * (32 general regs + processor status word).
|
||||
+ */
|
||||
+#define ELF_NGREG 33
|
||||
+#define ELF_NFPREG 32
|
||||
+
|
||||
+typedef unsigned long elf_greg_t;
|
||||
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
|
||||
+
|
||||
+typedef double elf_fpreg_t;
|
||||
+typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
|
||||
+
|
||||
struct elf_siginfo
|
||||
{
|
||||
int si_signo; /* Signal number. */
|
||||
--- a/sysdeps/unix/sysv/linux/sh/sys/procfs.h
|
||||
+++ b/sysdeps/unix/sysv/linux/sh/sys/procfs.h
|
||||
@@ -29,10 +29,19 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/ucontext.h>
|
||||
#include <sys/user.h>
|
||||
-#include <asm/elf.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
+/*
|
||||
+ * ELF register definitions...
|
||||
+ */
|
||||
+typedef unsigned long elf_greg_t;
|
||||
+
|
||||
+#define ELF_NGREG (sizeof (struct pt_regs) / sizeof(elf_greg_t))
|
||||
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
|
||||
+
|
||||
+typedef struct user_fpu_struct elf_fpregset_t;
|
||||
+
|
||||
struct elf_siginfo
|
||||
{
|
||||
int si_signo; /* Signal number. */
|
||||
--- a/sysdeps/unix/sysv/linux/sys/procfs.h
|
||||
+++ b/sysdeps/unix/sysv/linux/sys/procfs.h
|
||||
@@ -1,115 +1,2 @@
|
||||
-/* Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc.
|
||||
- This file is part of the GNU C Library.
|
||||
-
|
||||
- The GNU C Library is free software; you can redistribute it and/or
|
||||
- modify it under the terms of the GNU Lesser General Public
|
||||
- License as published by the Free Software Foundation; either
|
||||
- version 2.1 of the License, or (at your option) any later version.
|
||||
-
|
||||
- The GNU C Library is distributed in the hope that it will be useful,
|
||||
- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
- Lesser General Public License for more details.
|
||||
-
|
||||
- You should have received a copy of the GNU Lesser General Public
|
||||
- License along with the GNU C Library; if not, write to the Free
|
||||
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
- 02111-1307 USA. */
|
||||
-
|
||||
-#ifndef _SYS_PROCFS_H
|
||||
-#define _SYS_PROCFS_H 1
|
||||
-
|
||||
-/* This is somehow modelled after the file of the same name on SysVr4
|
||||
- systems. It provides a definition of the core file format for ELF
|
||||
- used on Linux. */
|
||||
-
|
||||
-#include <features.h>
|
||||
-#include <signal.h>
|
||||
-#include <sys/time.h>
|
||||
-#include <sys/types.h>
|
||||
-#include <sys/ucontext.h>
|
||||
-#include <sys/user.h>
|
||||
-#include <asm/elf.h>
|
||||
-
|
||||
-__BEGIN_DECLS
|
||||
-
|
||||
-struct elf_siginfo
|
||||
- {
|
||||
- int si_signo; /* Signal number. */
|
||||
- int si_code; /* Extra code. */
|
||||
- int si_errno; /* Errno. */
|
||||
- };
|
||||
-
|
||||
-/* Definitions to generate Intel SVR4-like core files. These mostly
|
||||
- have the same names as the SVR4 types with "elf_" tacked on the
|
||||
- front to prevent clashes with linux definitions, and the typedef
|
||||
- forms have been avoided. This is mostly like the SVR4 structure,
|
||||
- but more Linuxy, with things that Linux does not support and which
|
||||
- gdb doesn't really use excluded. Fields present but not used are
|
||||
- marked with "XXX". */
|
||||
-struct elf_prstatus
|
||||
- {
|
||||
-#if 0
|
||||
- long int pr_flags; /* XXX Process flags. */
|
||||
- short int pr_why; /* XXX Reason for process halt. */
|
||||
- short int pr_what; /* XXX More detailed reason. */
|
||||
-#endif
|
||||
- struct elf_siginfo pr_info; /* Info associated with signal. */
|
||||
- short int pr_cursig; /* Current signal. */
|
||||
- unsigned long int pr_sigpend; /* Set of pending signals. */
|
||||
- unsigned long int pr_sighold; /* Set of held signals. */
|
||||
-#if 0
|
||||
- struct sigaltstack pr_altstack; /* Alternate stack info. */
|
||||
- struct sigaction pr_action; /* Signal action for current sig. */
|
||||
-#endif
|
||||
- __pid_t pr_pid;
|
||||
- __pid_t pr_ppid;
|
||||
- __pid_t pr_pgrp;
|
||||
- __pid_t pr_sid;
|
||||
- struct timeval pr_utime; /* User time. */
|
||||
- struct timeval pr_stime; /* System time. */
|
||||
- struct timeval pr_cutime; /* Cumulative user time. */
|
||||
- struct timeval pr_cstime; /* Cumulative system time. */
|
||||
-#if 0
|
||||
- long int pr_instr; /* Current instruction. */
|
||||
-#endif
|
||||
- elf_gregset_t pr_reg; /* GP registers. */
|
||||
- int pr_fpvalid; /* True if math copro being used. */
|
||||
- };
|
||||
-
|
||||
-
|
||||
-#define ELF_PRARGSZ (80) /* Number of chars for args */
|
||||
-
|
||||
-struct elf_prpsinfo
|
||||
- {
|
||||
- char pr_state; /* Numeric process state. */
|
||||
- char pr_sname; /* Char for pr_state. */
|
||||
- char pr_zomb; /* Zombie. */
|
||||
- char pr_nice; /* Nice val. */
|
||||
- unsigned long int pr_flag; /* Flags. */
|
||||
- unsigned short int pr_uid;
|
||||
- unsigned short int pr_gid;
|
||||
- int pr_pid, pr_ppid, pr_pgrp, pr_sid;
|
||||
- /* Lots missing */
|
||||
- char pr_fname[16]; /* Filename of executable. */
|
||||
- char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */
|
||||
- };
|
||||
-
|
||||
-/* Addresses. */
|
||||
-typedef void *psaddr_t;
|
||||
-
|
||||
-/* Register sets. Linux has different names. */
|
||||
-typedef gregset_t prgregset_t;
|
||||
-typedef fpregset_t prfpregset_t;
|
||||
-
|
||||
-/* We don't have any differences between processes and threads,
|
||||
- therefore habe only ine PID type. */
|
||||
-typedef __pid_t lwpid_t;
|
||||
-
|
||||
-
|
||||
-typedef struct elf_prstatus prstatus_t;
|
||||
-typedef struct elf_prpsinfo prpsinfo_t;
|
||||
-
|
||||
-__END_DECLS
|
||||
-
|
||||
-#endif /* sys/procfs.h */
|
||||
+/* sys/procfs.h is architecture specific. */
|
||||
+#error "This file must be supplied by every Linux architecture."
|
||||
|
@ -1,25 +0,0 @@
|
||||
--- libc/nptl/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h 2006/10/29 21:48:06 1.6
|
||||
+++ libc/nptl/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h 2007/03/13 21:28:03 1.7
|
||||
@@ -55,6 +55,7 @@
|
||||
bne a3, SYSCALL_ERROR_LABEL; \
|
||||
__LABEL($pseudo_ret) \
|
||||
.subsection 2; \
|
||||
+ cfi_startproc; \
|
||||
__LABEL($pseudo_cancel) \
|
||||
subq sp, 64, sp; \
|
||||
cfi_def_cfa_offset(64); \
|
||||
@@ -90,12 +91,13 @@
|
||||
cfi_def_cfa_offset(0); \
|
||||
__LABEL($syscall_error) \
|
||||
SYSCALL_ERROR_HANDLER; \
|
||||
+ cfi_endproc; \
|
||||
.previous
|
||||
|
||||
# undef PSEUDO_END
|
||||
# define PSEUDO_END(sym) \
|
||||
- .subsection 2; \
|
||||
cfi_endproc; \
|
||||
+ .subsection 2; \
|
||||
.size sym, .-sym
|
||||
|
||||
# define SAVE_ARGS_0 /* Nothing. */
|
@ -1,24 +0,0 @@
|
||||
--- glibc-2.5/sysdeps/unix/sysv/linux/alpha/sigsuspend.S.orig 2006-10-22 22:17:01.000000000 +0200
|
||||
+++ glibc-2.5/sysdeps/unix/sysv/linux/alpha/sigsuspend.S 2006-10-22 22:18:05.000000000 +0200
|
||||
@@ -31,3 +31,21 @@
|
||||
libc_hidden_def (__sigsuspend)
|
||||
weak_alias (__sigsuspend, sigsuspend)
|
||||
strong_alias (__sigsuspend, __libc_sigsuspend)
|
||||
+
|
||||
+#ifndef NO_CANCELLATION
|
||||
+ .globl __sigsuspend_nocancel;
|
||||
+ .align 4;
|
||||
+ .type __sigsuspend_nocancel, @function;
|
||||
+ .usepv __sigsuspend_nocancel, std;
|
||||
+ cfi_startproc;
|
||||
+__LABEL(__sigsuspend_nocancel)
|
||||
+ ldgp gp, 0(pv);
|
||||
+ PSEUDO_PROF;
|
||||
+ PSEUDO_PREPARE_ARGS
|
||||
+ lda v0, SYS_ify(sigsuspend);
|
||||
+ call_pal PAL_callsys;
|
||||
+ bne a3, SYSCALL_ERROR_LABEL;
|
||||
+ ret;
|
||||
+ cfi_endproc;
|
||||
+ .size __sigsuspend_nocancel, .-__sigsuspend_nocancel
|
||||
+#endif
|
@ -1,187 +0,0 @@
|
||||
Fixes
|
||||
elf/librtld.os: In function `process_envvars': : undefined reference to `__access'
|
||||
...
|
||||
when building glibc-2.3.x on cygwin
|
||||
|
||||
Idea from
|
||||
http://sources.redhat.com/ml/bug-glibc/2002-01/msg00071/glibc-2.2-cygin-shared.patch
|
||||
Basically, make glibc use .oST as suffix for 'object static'
|
||||
instead of .oS, since cygwin has trouble distinguishing .os from .oS
|
||||
(Original patch had .on, but .oST is more mnemonic for 'object static')
|
||||
|
||||
glibc-linuxthreads-2.3.5 also requires a patch, see
|
||||
../glibc-linuxthreads-2.3.5/glibc-linuxthreads-2.3.5-cygwin.patch
|
||||
|
||||
[ forward ported to glibc-2.3.5 by Petr Cvachoucek:
|
||||
|
||||
Message-ID: <4282FCBA.3040000@unicontrols.cz>
|
||||
Date: Thu, 12 May 2005 08:50:34 +0200
|
||||
From: Petr Cvachoucek <cvachoucek@unicontrols.cz>
|
||||
To: Dan Kegel <dank@kegel.com>
|
||||
CC: crossgcc@sources.redhat.com
|
||||
Subject: Patches to build gcc 3.4.3 / glibc 2.3.5 on cygwin
|
||||
|
||||
Hi Dan,
|
||||
following patches are needed to build gcc-3.4.3/glibc-2.3.5 toolchain
|
||||
on cygwin. Tested to build toolchains for powerpc 604 and 750 targets.
|
||||
|
||||
--
|
||||
Petr Cvachoucek
|
||||
Unicontrols a.s.
|
||||
http://www.unicontrols.cz
|
||||
]
|
||||
|
||||
diff -aur glibc-2.3.5/Makeconfig glibc-2.3.5-cygwin/Makeconfig
|
||||
--- glibc-2.3.5/Makeconfig 2005-02-16 11:50:19.000000000 +0100
|
||||
+++ glibc-2.3.5-cygwin/Makeconfig 2005-05-11 08:24:51.046875000 +0200
|
||||
@@ -472,7 +472,7 @@
|
||||
# run the linked programs.
|
||||
link-libc = -Wl,-rpath-link=$(rpath-link) \
|
||||
$(common-objpfx)libc.so$(libc.so-version) \
|
||||
- $(common-objpfx)$(patsubst %,$(libtype.oS),c) $(gnulib)
|
||||
+ $(common-objpfx)$(patsubst %,$(libtype.oST),c) $(gnulib)
|
||||
# This is how to find at build-time things that will be installed there.
|
||||
rpath-dirs = math elf dlfcn nss nis rt resolv crypt
|
||||
endif
|
||||
@@ -693,7 +693,7 @@
|
||||
# The compilation rules use $(CPPFLAGS-${SUFFIX}) and $(CFLAGS-${SUFFIX})
|
||||
# to pass different flags for each flavor.
|
||||
libtypes = $(foreach o,$(object-suffixes-for-libc),$(libtype$o))
|
||||
-all-object-suffixes := .o .os .op .og .ob .oS
|
||||
+all-object-suffixes := .o .os .op .og .ob .oST
|
||||
object-suffixes :=
|
||||
CPPFLAGS-.o = $(pic-default)
|
||||
CFLAGS-.o = $(filter %frame-pointer,$(+cflags))
|
||||
@@ -749,14 +749,14 @@
|
||||
|
||||
ifeq (yes,$(build-shared))
|
||||
# Build special library that contains the static-only routines for libc.
|
||||
-object-suffixes-for-libc += .oS
|
||||
+object-suffixes-for-libc += .oST
|
||||
|
||||
# Must build the routines as PIC, though, because they can end up in (users')
|
||||
# shared objects. We don't want to use CFLAGS-os because users may, for
|
||||
# example, make that processor-specific.
|
||||
-CFLAGS-.oS = $(CFLAGS-.o) $(PIC-ccflag)
|
||||
-CPPFLAGS-.oS = $(CPPFLAGS-.o) -DPIC -DLIBC_NONSHARED=1
|
||||
-libtype.oS = lib%_nonshared.a
|
||||
+CFLAGS-.oST = $(CFLAGS-.o) $(PIC-ccflag)
|
||||
+CPPFLAGS-.oST = $(CPPFLAGS-.o) -DPIC -DLIBC_NONSHARED=1
|
||||
+libtype.oST = lib%_nonshared.a
|
||||
endif
|
||||
|
||||
# The assembler can generate debug information too.
|
||||
diff -aur glibc-2.3.5/Makerules glibc-2.3.5-cygwin/Makerules
|
||||
--- glibc-2.3.5/Makerules 2004-12-15 19:52:39.000000000 +0100
|
||||
+++ glibc-2.3.5-cygwin/Makerules 2005-05-11 08:25:33.578125000 +0200
|
||||
@@ -417,7 +417,7 @@
|
||||
# Bounded pointer thunks are only built for *.ob
|
||||
elide-bp-thunks = $(addprefix $(bppfx),$(bp-thunks))
|
||||
|
||||
-elide-routines.oS += $(filter-out $(static-only-routines),\
|
||||
+elide-routines.oST += $(filter-out $(static-only-routines),\
|
||||
$(routines) $(aux) $(sysdep_routines)) \
|
||||
$(elide-bp-thunks)
|
||||
elide-routines.os += $(static-only-routines) $(elide-bp-thunks)
|
||||
@@ -981,7 +981,7 @@
|
||||
install: $(inst_libdir)/libc.so
|
||||
$(inst_libdir)/libc.so: $(common-objpfx)format.lds \
|
||||
$(common-objpfx)libc.so$(libc.so-version) \
|
||||
- $(inst_libdir)/$(patsubst %,$(libtype.oS),\
|
||||
+ $(inst_libdir)/$(patsubst %,$(libtype.oST),\
|
||||
$(libprefix)$(libc-name)) \
|
||||
$(+force)
|
||||
(echo '/* GNU ld script';\
|
||||
@@ -989,7 +989,7 @@
|
||||
echo ' the static library, so try that secondarily. */';\
|
||||
cat $<; \
|
||||
echo 'GROUP ( $(slibdir)/libc.so$(libc.so-version)' \
|
||||
- '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)$(libc-name))'\
|
||||
+ '$(libdir)/$(patsubst %,$(libtype.oST),$(libprefix)$(libc-name))'\
|
||||
' AS_NEEDED (' $(slibdir)/$(rtld-installed-name) ') )' \
|
||||
) > $@.new
|
||||
mv -f $@.new $@
|
||||
diff -aur glibc-2.3.5/extra-lib.mk glibc-2.3.5-cygwin/extra-lib.mk
|
||||
--- glibc-2.3.5/extra-lib.mk 2004-12-02 23:54:47.000000000 +0100
|
||||
+++ glibc-2.3.5-cygwin/extra-lib.mk 2005-05-11 08:27:28.156250000 +0200
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
ifneq (,$($(lib)-static-only-routines))
|
||||
ifneq (,$(filter yesyes%,$(build-shared)$(elf)$($(lib).so-version)))
|
||||
-object-suffixes-$(lib) += $(filter-out $($(lib)-inhibit-o),.oS)
|
||||
+object-suffixes-$(lib) += $(filter-out $($(lib)-inhibit-o),.oST)
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
# Add each flavor of library to the lists of things to build and install.
|
||||
install-lib += $(foreach o,$(object-suffixes-$(lib)),$(lib:lib%=$(libtype$o)))
|
||||
-extra-objs += $(foreach o,$(filter-out .os .oS,$(object-suffixes-$(lib))),\
|
||||
+extra-objs += $(foreach o,$(filter-out .os .oST,$(object-suffixes-$(lib))),\
|
||||
$(patsubst %,%$o,$(filter-out \
|
||||
$($(lib)-shared-only-routines),\
|
||||
$(all-$(lib)-routines))))
|
||||
@@ -57,7 +57,7 @@
|
||||
|
||||
|
||||
# Use o-iterator.mk to generate a rule for each flavor of library.
|
||||
-ifneq (,$(filter-out .os .oS,$(object-suffixes-$(lib))))
|
||||
+ifneq (,$(filter-out .os .oST,$(object-suffixes-$(lib))))
|
||||
define o-iterator-doit
|
||||
$(objpfx)$(patsubst %,$(libtype$o),$(lib:lib%=%)): \
|
||||
$(patsubst %,$(objpfx)%$o,\
|
||||
@@ -65,7 +65,7 @@
|
||||
$(all-$(lib)-routines))); \
|
||||
$$(build-extra-lib)
|
||||
endef
|
||||
-object-suffixes-left = $(filter-out .os .oS,$(object-suffixes-$(lib)))
|
||||
+object-suffixes-left = $(filter-out .os .oST,$(object-suffixes-$(lib)))
|
||||
include $(patsubst %,$(..)o-iterator.mk,$(object-suffixes-left))
|
||||
endif
|
||||
|
||||
@@ -77,9 +77,9 @@
|
||||
$(build-extra-lib)
|
||||
endif
|
||||
|
||||
-ifneq (,$(filter .oS,$(object-suffixes-$(lib))))
|
||||
-$(objpfx)$(patsubst %,$(libtype.oS),$(lib:lib%=%)): \
|
||||
- $(patsubst %,$(objpfx)%.oS,\
|
||||
+ifneq (,$(filter .oST,$(object-suffixes-$(lib))))
|
||||
+$(objpfx)$(patsubst %,$(libtype.oST),$(lib:lib%=%)): \
|
||||
+ $(patsubst %,$(objpfx)%.oST,\
|
||||
$(filter $($(lib)-static-only-routines),\
|
||||
$(all-$(lib)-routines)))
|
||||
$(build-extra-lib)
|
||||
diff -aur glibc-2.3.5/nptl/Makefile glibc-2.3.5-cygwin/nptl/Makefile
|
||||
--- glibc-2.3.5/nptl/Makefile 2005-02-16 09:45:56.000000000 +0100
|
||||
+++ glibc-2.3.5-cygwin/nptl/Makefile 2005-05-11 08:26:01.812500000 +0200
|
||||
@@ -375,7 +375,7 @@
|
||||
|
||||
$(inst_libdir)/libpthread.so: $(common-objpfx)format.lds \
|
||||
$(objpfx)libpthread.so$(libpthread.so-version) \
|
||||
- $(inst_libdir)/$(patsubst %,$(libtype.oS),\
|
||||
+ $(inst_libdir)/$(patsubst %,$(libtype.oST),\
|
||||
$(libprefix)pthread) \
|
||||
$(+force)
|
||||
(echo '/* GNU ld script';\
|
||||
@@ -383,7 +383,7 @@
|
||||
echo ' the static library, so try that secondarily. */';\
|
||||
cat $<; \
|
||||
echo 'GROUP ( $(slibdir)/libpthread.so$(libpthread.so-version)' \
|
||||
- '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)pthread)'\
|
||||
+ '$(libdir)/$(patsubst %,$(libtype.oST),$(libprefix)pthread)'\
|
||||
')' \
|
||||
) > $@.new
|
||||
mv -f $@.new $@
|
||||
diff -aur glibc-2.3.5/sysdeps/sparc/sparc32/sparcv9/Makefile glibc-2.3.5-cygwin/sysdeps/sparc/sparc32/sparcv9/Makefile
|
||||
--- glibc-2.3.5/sysdeps/sparc/sparc32/sparcv9/Makefile 2004-08-16 08:46:14.000000000 +0200
|
||||
+++ glibc-2.3.5-cygwin/sysdeps/sparc/sparc32/sparcv9/Makefile 2005-05-11 08:26:25.937500000 +0200
|
||||
@@ -10,4 +10,4 @@
|
||||
ASFLAGS-.op += -Wa,-Av9a
|
||||
ASFLAGS-.og += -Wa,-Av9a
|
||||
ASFLAGS-.ob += -Wa,-Av9a
|
||||
-ASFLAGS-.oS += -Wa,-Av9a
|
||||
+ASFLAGS-.oST += -Wa,-Av9a
|
||||
|
||||
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
|
@ -1,25 +0,0 @@
|
||||
http://in3www.epfl.ch/~schaffne/glibc-configure-apple-as.patch
|
||||
http://sources.redhat.com/ml/crossgcc/2004-02/msg00151.html
|
||||
|
||||
The following makes it possible to configure glibc-2.3.2 on Mac OS X,
|
||||
where the assembler but doesn't understand the --version flag.
|
||||
|
||||
Fixes the symptom
|
||||
checking whether ld is GNU ld... no
|
||||
checking for /usr/libexec/gcc/darwin/ppc/as... /usr/libexec/gcc/darwin/ppc/as
|
||||
checking version of /usr/libexec/gcc/darwin/ppc/as...
|
||||
<PAUSES HERE AND JUST SITS THERE DOING NOTHING>
|
||||
|
||||
--- glibc-2.3.2/configure~ Wed Feb 26 09:20:48 2003
|
||||
+++ glibc-2.3.2/configure Fri Feb 27 13:12:53 2004
|
||||
@@ -4039,7 +4039,7 @@
|
||||
# Found it, now check the version.
|
||||
echo "$as_me:$LINENO: checking version of $AS" >&5
|
||||
echo $ECHO_N "checking version of $AS... $ECHO_C" >&6
|
||||
- ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
||||
+ ac_prog_version=`$AS -v </dev/null 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
||||
case $ac_prog_version in
|
||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
||||
2.1[3-9]*)
|
||||
|
||||
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
|
@ -1,45 +0,0 @@
|
||||
From dank@kegel.com
|
||||
Wed Jun 15 09:12:43 PDT 2005
|
||||
|
||||
Fixes
|
||||
|
||||
build-glibc/libc.a(nsswitch.o)(.data+0x64): undefined reference to `_nss_files_getaliasent_r'
|
||||
build-glibc/libc.a(nsswitch.o)(.data+0x6c): undefined reference to `_nss_files_endaliasent'
|
||||
... 53 lines deleted ...
|
||||
build-glibc/libc.a(nsswitch.o)(.data+0x21c): undefined reference to `_nss_files_getspnam_r'
|
||||
collect2: ld returned 1 exit status
|
||||
make[2]: *** [/build/gcc-3.4.3-glibc-2.3.5-hdrs-2.6.11.2/i686-unknown-linux-gnu/build-glibc/elf/ldconfig] Error 1
|
||||
|
||||
when building glibc with --enable-static-nss.
|
||||
|
||||
See http://sources.redhat.com/bugzilla/show_bug.cgi?id=631
|
||||
|
||||
--- glibc-2.3.5/Makeconfig.old Wed Jun 15 08:13:12 2005
|
||||
+++ glibc-2.3.5/Makeconfig Wed Jun 15 08:13:14 2005
|
||||
@@ -510,7 +510,7 @@
|
||||
|
||||
# The static libraries.
|
||||
ifeq (yes,$(build-static))
|
||||
-link-libc-static = $(common-objpfx)libc.a $(static-gnulib) $(common-objpfx)libc.a
|
||||
+link-libc-static = $(common-objpfx)libc.a $(static-gnulib) $(otherlibs) $(common-objpfx)libc.a
|
||||
else
|
||||
ifeq (yes,$(build-shared))
|
||||
# We can try to link the programs with lib*_pic.a...
|
||||
--- glibc-2.3.5/elf/Makefile.old Wed Jun 15 07:46:49 2005
|
||||
+++ glibc-2.3.5/elf/Makefile Wed Jun 15 08:14:00 2005
|
||||
@@ -120,6 +120,13 @@
|
||||
install-bin-script = ldd
|
||||
endif
|
||||
|
||||
+ifeq (yes,$(build-static-nss))
|
||||
+nssobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)nss)
|
||||
+resolvobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)resolv)
|
||||
+otherlibs += $(nssobjdir)/libnss_files.a $(resolvobjdir)/libnss_dns.a \
|
||||
+ $(resolvobjdir)/libresolv.a
|
||||
+endif
|
||||
+
|
||||
others = sprof sln
|
||||
install-bin = sprof
|
||||
others-static = sln
|
||||
|
||||
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
|
@ -1,38 +0,0 @@
|
||||
2007-02-15 Khem Raj <kraj@xxxxxxxxxx>
|
||||
|
||||
* sysdeps/unix/sysv/linux/i386/sysdep.h: Re-define __i686.
|
||||
* nptl/sysdeps/pthread/pt-initfini.c: Ditto.
|
||||
|
||||
|
||||
|
||||
Index: glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h
|
||||
===================================================================
|
||||
--- glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h (revision 1469)
|
||||
+++ glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h (working copy)
|
||||
@@ -29,6 +29,10 @@
|
||||
#include <dl-sysdep.h>
|
||||
#include <tls.h>
|
||||
|
||||
+#if defined __i686 && defined __ASSEMBLER__
|
||||
+#undef __i686
|
||||
+#define __i686 __i686
|
||||
+#endif
|
||||
|
||||
/* For Linux we can use the system call table in the header file
|
||||
/usr/include/asm/unistd.h
|
||||
Index: glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c
|
||||
===================================================================
|
||||
--- glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c (revision 1469)
|
||||
+++ glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c (working copy)
|
||||
@@ -45,6 +45,11 @@
|
||||
/* Embed an #include to pull in the alignment and .end directives. */
|
||||
asm ("\n#include \"defs.h\"");
|
||||
|
||||
+asm ("\n#if defined __i686 && defined __ASSEMBLER__");
|
||||
+asm ("\n#undef __i686");
|
||||
+asm ("\n#define __i686 __i686");
|
||||
+asm ("\n#endif");
|
||||
+
|
||||
/* The initial common code ends here. */
|
||||
asm ("\n/*@HEADER_ENDS*/");
|
||||
|
@ -1,18 +0,0 @@
|
||||
(C) 2007 Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
|
||||
License: LGPL v2.1
|
||||
|
||||
Shut off a stupid warning: preffered-stack-boundary must be between 4 ad 12,
|
||||
and 2 is not.
|
||||
|
||||
diff -dur glibc-2.5.orig/sysdeps/i386/Makefile glibc-2.5/sysdeps/i386/Makefile
|
||||
--- glibc-2.5.orig/sysdeps/i386/Makefile 2005-03-06 01:18:16.000000000 +0100
|
||||
+++ glibc-2.5/sysdeps/i386/Makefile 2007-05-27 17:49:37.000000000 +0200
|
||||
@@ -36,7 +36,7 @@
|
||||
ifeq ($(subdir),csu)
|
||||
sysdep-CFLAGS += -mpreferred-stack-boundary=4
|
||||
else
|
||||
-sysdep-CFLAGS += -mpreferred-stack-boundary=2
|
||||
+sysdep-CFLAGS += -mpreferred-stack-boundary=4
|
||||
# Likewise, any function which calls user callbacks
|
||||
uses-callbacks += -mpreferred-stack-boundary=4
|
||||
# Likewise, any stack alignment tests
|
@ -1,26 +0,0 @@
|
||||
2008-06-07 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* sysdeps/unix/sysv/linux/alpha/sys/user.h: Copy page.h definitions
|
||||
from the kernel header to sys/user.h and remove the #include of
|
||||
sys/user.h.
|
||||
|
||||
--- a/sysdeps/unix/sysv/linux/alpha/sys/user.h
|
||||
+++ b/sysdeps/unix/sysv/linux/alpha/sys/user.h
|
||||
@@ -23,7 +23,6 @@
|
||||
only. Don't read too much into it. Don't use it for anything other
|
||||
than gdb/strace unless you know what you are doing. */
|
||||
|
||||
-#include <asm/page.h>
|
||||
#include <asm/reg.h>
|
||||
|
||||
struct user
|
||||
@@ -41,6 +40,9 @@ struct user
|
||||
char u_comm[32]; /* user command name */
|
||||
};
|
||||
|
||||
+#define PAGE_SHIFT 13
|
||||
+#define PAGE_SIZE (1 << PAGE_SHIFT)
|
||||
+#define PAGE_MASK (~(PAGE_SIZE-1))
|
||||
#define NBPG PAGE_SIZE
|
||||
#define UPAGES 1
|
||||
#define HOST_TEXT_START_ADDR (u.start_code)
|
@ -1,18 +0,0 @@
|
||||
Original patch from H.J. Lu, as reported there:
|
||||
http://www.nabble.com/PATCH:-Use-short-for-fnstsw-td14775171.html
|
||||
|
||||
fnstsw stores 16bit into %ax. The upper 16bit of %eax is unchanged.
|
||||
The new assembler (binutils-2.18.50.0.4 and up) will disallow "fnstsw %eax".
|
||||
|
||||
diff -dur glibc-2.6.1.orig/sysdeps/i386/fpu/ftestexcept.c glibc-2.6.1/sysdeps/i386/fpu/ftestexcept.c
|
||||
--- glibc-2.6.1.orig/sysdeps/i386/fpu/ftestexcept.c 2004-03-05 11:14:48.000000000 +0100
|
||||
+++ glibc-2.6.1/sysdeps/i386/fpu/ftestexcept.c 2008-06-24 10:56:14.000000000 +0200
|
||||
@@ -26,7 +26,7 @@
|
||||
int
|
||||
fetestexcept (int excepts)
|
||||
{
|
||||
- int temp;
|
||||
+ short temp;
|
||||
int xtemp = 0;
|
||||
|
||||
/* Get current exceptions. */
|
@ -1,194 +0,0 @@
|
||||
since the kernel no longer provides asm/elf.h, the sys/procfs.h from the
|
||||
common code, alpha, and sh fail when used. this should things up.
|
||||
-mike
|
||||
|
||||
2008-06-07 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* sysdeps/unix/sysv/linux/sys/procfs.h: Replace with #error stub.
|
||||
* sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Copy some asm/elf.h
|
||||
definitions from the kernel header to sys/procfs.h and remove the
|
||||
#include of asm/elf.h.
|
||||
* sysdeps/unix/sysv/linux/sh/sys/procfs.h: Likewise.
|
||||
|
||||
*Attachment: signature.asc <msg00012/signature.asc>*
|
||||
/Description:/ This is a digitally signed message part.
|
||||
|
||||
2008-06-07 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* sysdeps/unix/sysv/linux/sys/procfs.h: Replace with #error stub.
|
||||
* sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Copy some asm/elf.h
|
||||
definitions from the kernel header to sys/procfs.h and remove the
|
||||
#include of asm/elf.h.
|
||||
* sysdeps/unix/sysv/linux/sh/sys/procfs.h: Likewise.
|
||||
|
||||
--- a/sysdeps/unix/sysv/linux/alpha/sys/procfs.h
|
||||
+++ b/sysdeps/unix/sysv/linux/alpha/sys/procfs.h
|
||||
@@ -29,10 +29,23 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/ucontext.h>
|
||||
#include <sys/user.h>
|
||||
-#include <asm/elf.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
+/*
|
||||
+ * The OSF/1 version of <sys/procfs.h> makes gregset_t 46 entries long.
|
||||
+ * I have no idea why that is so. For now, we just leave it at 33
|
||||
+ * (32 general regs + processor status word).
|
||||
+ */
|
||||
+#define ELF_NGREG 33
|
||||
+#define ELF_NFPREG 32
|
||||
+
|
||||
+typedef unsigned long elf_greg_t;
|
||||
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
|
||||
+
|
||||
+typedef double elf_fpreg_t;
|
||||
+typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
|
||||
+
|
||||
struct elf_siginfo
|
||||
{
|
||||
int si_signo; /* Signal number. */
|
||||
--- a/sysdeps/unix/sysv/linux/sh/sys/procfs.h
|
||||
+++ b/sysdeps/unix/sysv/linux/sh/sys/procfs.h
|
||||
@@ -29,10 +29,19 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/ucontext.h>
|
||||
#include <sys/user.h>
|
||||
-#include <asm/elf.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
+/*
|
||||
+ * ELF register definitions...
|
||||
+ */
|
||||
+typedef unsigned long elf_greg_t;
|
||||
+
|
||||
+#define ELF_NGREG (sizeof (struct pt_regs) / sizeof(elf_greg_t))
|
||||
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
|
||||
+
|
||||
+typedef struct user_fpu_struct elf_fpregset_t;
|
||||
+
|
||||
struct elf_siginfo
|
||||
{
|
||||
int si_signo; /* Signal number. */
|
||||
--- a/sysdeps/unix/sysv/linux/sys/procfs.h
|
||||
+++ b/sysdeps/unix/sysv/linux/sys/procfs.h
|
||||
@@ -1,115 +1,2 @@
|
||||
-/* Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc.
|
||||
- This file is part of the GNU C Library.
|
||||
-
|
||||
- The GNU C Library is free software; you can redistribute it and/or
|
||||
- modify it under the terms of the GNU Lesser General Public
|
||||
- License as published by the Free Software Foundation; either
|
||||
- version 2.1 of the License, or (at your option) any later version.
|
||||
-
|
||||
- The GNU C Library is distributed in the hope that it will be useful,
|
||||
- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
- Lesser General Public License for more details.
|
||||
-
|
||||
- You should have received a copy of the GNU Lesser General Public
|
||||
- License along with the GNU C Library; if not, write to the Free
|
||||
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
- 02111-1307 USA. */
|
||||
-
|
||||
-#ifndef _SYS_PROCFS_H
|
||||
-#define _SYS_PROCFS_H 1
|
||||
-
|
||||
-/* This is somehow modelled after the file of the same name on SysVr4
|
||||
- systems. It provides a definition of the core file format for ELF
|
||||
- used on Linux. */
|
||||
-
|
||||
-#include <features.h>
|
||||
-#include <signal.h>
|
||||
-#include <sys/time.h>
|
||||
-#include <sys/types.h>
|
||||
-#include <sys/ucontext.h>
|
||||
-#include <sys/user.h>
|
||||
-#include <asm/elf.h>
|
||||
-
|
||||
-__BEGIN_DECLS
|
||||
-
|
||||
-struct elf_siginfo
|
||||
- {
|
||||
- int si_signo; /* Signal number. */
|
||||
- int si_code; /* Extra code. */
|
||||
- int si_errno; /* Errno. */
|
||||
- };
|
||||
-
|
||||
-/* Definitions to generate Intel SVR4-like core files. These mostly
|
||||
- have the same names as the SVR4 types with "elf_" tacked on the
|
||||
- front to prevent clashes with linux definitions, and the typedef
|
||||
- forms have been avoided. This is mostly like the SVR4 structure,
|
||||
- but more Linuxy, with things that Linux does not support and which
|
||||
- gdb doesn't really use excluded. Fields present but not used are
|
||||
- marked with "XXX". */
|
||||
-struct elf_prstatus
|
||||
- {
|
||||
-#if 0
|
||||
- long int pr_flags; /* XXX Process flags. */
|
||||
- short int pr_why; /* XXX Reason for process halt. */
|
||||
- short int pr_what; /* XXX More detailed reason. */
|
||||
-#endif
|
||||
- struct elf_siginfo pr_info; /* Info associated with signal. */
|
||||
- short int pr_cursig; /* Current signal. */
|
||||
- unsigned long int pr_sigpend; /* Set of pending signals. */
|
||||
- unsigned long int pr_sighold; /* Set of held signals. */
|
||||
-#if 0
|
||||
- struct sigaltstack pr_altstack; /* Alternate stack info. */
|
||||
- struct sigaction pr_action; /* Signal action for current sig. */
|
||||
-#endif
|
||||
- __pid_t pr_pid;
|
||||
- __pid_t pr_ppid;
|
||||
- __pid_t pr_pgrp;
|
||||
- __pid_t pr_sid;
|
||||
- struct timeval pr_utime; /* User time. */
|
||||
- struct timeval pr_stime; /* System time. */
|
||||
- struct timeval pr_cutime; /* Cumulative user time. */
|
||||
- struct timeval pr_cstime; /* Cumulative system time. */
|
||||
-#if 0
|
||||
- long int pr_instr; /* Current instruction. */
|
||||
-#endif
|
||||
- elf_gregset_t pr_reg; /* GP registers. */
|
||||
- int pr_fpvalid; /* True if math copro being used. */
|
||||
- };
|
||||
-
|
||||
-
|
||||
-#define ELF_PRARGSZ (80) /* Number of chars for args */
|
||||
-
|
||||
-struct elf_prpsinfo
|
||||
- {
|
||||
- char pr_state; /* Numeric process state. */
|
||||
- char pr_sname; /* Char for pr_state. */
|
||||
- char pr_zomb; /* Zombie. */
|
||||
- char pr_nice; /* Nice val. */
|
||||
- unsigned long int pr_flag; /* Flags. */
|
||||
- unsigned short int pr_uid;
|
||||
- unsigned short int pr_gid;
|
||||
- int pr_pid, pr_ppid, pr_pgrp, pr_sid;
|
||||
- /* Lots missing */
|
||||
- char pr_fname[16]; /* Filename of executable. */
|
||||
- char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */
|
||||
- };
|
||||
-
|
||||
-/* Addresses. */
|
||||
-typedef void *psaddr_t;
|
||||
-
|
||||
-/* Register sets. Linux has different names. */
|
||||
-typedef gregset_t prgregset_t;
|
||||
-typedef fpregset_t prfpregset_t;
|
||||
-
|
||||
-/* We don't have any differences between processes and threads,
|
||||
- therefore habe only ine PID type. */
|
||||
-typedef __pid_t lwpid_t;
|
||||
-
|
||||
-
|
||||
-typedef struct elf_prstatus prstatus_t;
|
||||
-typedef struct elf_prpsinfo prpsinfo_t;
|
||||
-
|
||||
-__END_DECLS
|
||||
-
|
||||
-#endif /* sys/procfs.h */
|
||||
+/* sys/procfs.h is architecture specific. */
|
||||
+#error "This file must be supplied by every Linux architecture."
|
||||
|
@ -1,25 +0,0 @@
|
||||
--- libc/nptl/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h 2006/10/29 21:48:06 1.6
|
||||
+++ libc/nptl/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h 2007/03/13 21:28:03 1.7
|
||||
@@ -55,6 +55,7 @@
|
||||
bne a3, SYSCALL_ERROR_LABEL; \
|
||||
__LABEL($pseudo_ret) \
|
||||
.subsection 2; \
|
||||
+ cfi_startproc; \
|
||||
__LABEL($pseudo_cancel) \
|
||||
subq sp, 64, sp; \
|
||||
cfi_def_cfa_offset(64); \
|
||||
@@ -90,12 +91,13 @@
|
||||
cfi_def_cfa_offset(0); \
|
||||
__LABEL($syscall_error) \
|
||||
SYSCALL_ERROR_HANDLER; \
|
||||
+ cfi_endproc; \
|
||||
.previous
|
||||
|
||||
# undef PSEUDO_END
|
||||
# define PSEUDO_END(sym) \
|
||||
- .subsection 2; \
|
||||
cfi_endproc; \
|
||||
+ .subsection 2; \
|
||||
.size sym, .-sym
|
||||
|
||||
# define SAVE_ARGS_0 /* Nothing. */
|
@ -1,24 +0,0 @@
|
||||
--- glibc-2.5/sysdeps/unix/sysv/linux/alpha/sigsuspend.S.orig 2006-10-22 22:17:01.000000000 +0200
|
||||
+++ glibc-2.5/sysdeps/unix/sysv/linux/alpha/sigsuspend.S 2006-10-22 22:18:05.000000000 +0200
|
||||
@@ -31,3 +31,21 @@
|
||||
libc_hidden_def (__sigsuspend)
|
||||
weak_alias (__sigsuspend, sigsuspend)
|
||||
strong_alias (__sigsuspend, __libc_sigsuspend)
|
||||
+
|
||||
+#ifndef NO_CANCELLATION
|
||||
+ .globl __sigsuspend_nocancel;
|
||||
+ .align 4;
|
||||
+ .type __sigsuspend_nocancel, @function;
|
||||
+ .usepv __sigsuspend_nocancel, std;
|
||||
+ cfi_startproc;
|
||||
+__LABEL(__sigsuspend_nocancel)
|
||||
+ ldgp gp, 0(pv);
|
||||
+ PSEUDO_PROF;
|
||||
+ PSEUDO_PREPARE_ARGS
|
||||
+ lda v0, SYS_ify(sigsuspend);
|
||||
+ call_pal PAL_callsys;
|
||||
+ bne a3, SYSCALL_ERROR_LABEL;
|
||||
+ ret;
|
||||
+ cfi_endproc;
|
||||
+ .size __sigsuspend_nocancel, .-__sigsuspend_nocancel
|
||||
+#endif
|
@ -1,187 +0,0 @@
|
||||
Fixes
|
||||
elf/librtld.os: In function `process_envvars': : undefined reference to `__access'
|
||||
...
|
||||
when building glibc-2.3.x on cygwin
|
||||
|
||||
Idea from
|
||||
http://sources.redhat.com/ml/bug-glibc/2002-01/msg00071/glibc-2.2-cygin-shared.patch
|
||||
Basically, make glibc use .oST as suffix for 'object static'
|
||||
instead of .oS, since cygwin has trouble distinguishing .os from .oS
|
||||
(Original patch had .on, but .oST is more mnemonic for 'object static')
|
||||
|
||||
glibc-linuxthreads-2.3.5 also requires a patch, see
|
||||
../glibc-linuxthreads-2.3.5/glibc-linuxthreads-2.3.5-cygwin.patch
|
||||
|
||||
[ forward ported to glibc-2.3.5 by Petr Cvachoucek:
|
||||
|
||||
Message-ID: <4282FCBA.3040000@unicontrols.cz>
|
||||
Date: Thu, 12 May 2005 08:50:34 +0200
|
||||
From: Petr Cvachoucek <cvachoucek@unicontrols.cz>
|
||||
To: Dan Kegel <dank@kegel.com>
|
||||
CC: crossgcc@sources.redhat.com
|
||||
Subject: Patches to build gcc 3.4.3 / glibc 2.3.5 on cygwin
|
||||
|
||||
Hi Dan,
|
||||
following patches are needed to build gcc-3.4.3/glibc-2.3.5 toolchain
|
||||
on cygwin. Tested to build toolchains for powerpc 604 and 750 targets.
|
||||
|
||||
--
|
||||
Petr Cvachoucek
|
||||
Unicontrols a.s.
|
||||
http://www.unicontrols.cz
|
||||
]
|
||||
|
||||
diff -aur glibc-2.3.5/Makeconfig glibc-2.3.5-cygwin/Makeconfig
|
||||
--- glibc-2.3.5/Makeconfig 2005-02-16 11:50:19.000000000 +0100
|
||||
+++ glibc-2.3.5-cygwin/Makeconfig 2005-05-11 08:24:51.046875000 +0200
|
||||
@@ -472,7 +472,7 @@
|
||||
# run the linked programs.
|
||||
link-libc = -Wl,-rpath-link=$(rpath-link) \
|
||||
$(common-objpfx)libc.so$(libc.so-version) \
|
||||
- $(common-objpfx)$(patsubst %,$(libtype.oS),c) $(gnulib)
|
||||
+ $(common-objpfx)$(patsubst %,$(libtype.oST),c) $(gnulib)
|
||||
# This is how to find at build-time things that will be installed there.
|
||||
rpath-dirs = math elf dlfcn nss nis rt resolv crypt
|
||||
endif
|
||||
@@ -693,7 +693,7 @@
|
||||
# The compilation rules use $(CPPFLAGS-${SUFFIX}) and $(CFLAGS-${SUFFIX})
|
||||
# to pass different flags for each flavor.
|
||||
libtypes = $(foreach o,$(object-suffixes-for-libc),$(libtype$o))
|
||||
-all-object-suffixes := .o .os .op .og .ob .oS
|
||||
+all-object-suffixes := .o .os .op .og .ob .oST
|
||||
object-suffixes :=
|
||||
CPPFLAGS-.o = $(pic-default)
|
||||
CFLAGS-.o = $(filter %frame-pointer,$(+cflags))
|
||||
@@ -749,14 +749,14 @@
|
||||
|
||||
ifeq (yes,$(build-shared))
|
||||
# Build special library that contains the static-only routines for libc.
|
||||
-object-suffixes-for-libc += .oS
|
||||
+object-suffixes-for-libc += .oST
|
||||
|
||||
# Must build the routines as PIC, though, because they can end up in (users')
|
||||
# shared objects. We don't want to use CFLAGS-os because users may, for
|
||||
# example, make that processor-specific.
|
||||
-CFLAGS-.oS = $(CFLAGS-.o) $(PIC-ccflag)
|
||||
-CPPFLAGS-.oS = $(CPPFLAGS-.o) -DPIC -DLIBC_NONSHARED=1
|
||||
-libtype.oS = lib%_nonshared.a
|
||||
+CFLAGS-.oST = $(CFLAGS-.o) $(PIC-ccflag)
|
||||
+CPPFLAGS-.oST = $(CPPFLAGS-.o) -DPIC -DLIBC_NONSHARED=1
|
||||
+libtype.oST = lib%_nonshared.a
|
||||
endif
|
||||
|
||||
# The assembler can generate debug information too.
|
||||
diff -aur glibc-2.3.5/Makerules glibc-2.3.5-cygwin/Makerules
|
||||
--- glibc-2.3.5/Makerules 2004-12-15 19:52:39.000000000 +0100
|
||||
+++ glibc-2.3.5-cygwin/Makerules 2005-05-11 08:25:33.578125000 +0200
|
||||
@@ -417,7 +417,7 @@
|
||||
# Bounded pointer thunks are only built for *.ob
|
||||
elide-bp-thunks = $(addprefix $(bppfx),$(bp-thunks))
|
||||
|
||||
-elide-routines.oS += $(filter-out $(static-only-routines),\
|
||||
+elide-routines.oST += $(filter-out $(static-only-routines),\
|
||||
$(routines) $(aux) $(sysdep_routines)) \
|
||||
$(elide-bp-thunks)
|
||||
elide-routines.os += $(static-only-routines) $(elide-bp-thunks)
|
||||
@@ -981,7 +981,7 @@
|
||||
install: $(inst_libdir)/libc.so
|
||||
$(inst_libdir)/libc.so: $(common-objpfx)format.lds \
|
||||
$(common-objpfx)libc.so$(libc.so-version) \
|
||||
- $(inst_libdir)/$(patsubst %,$(libtype.oS),\
|
||||
+ $(inst_libdir)/$(patsubst %,$(libtype.oST),\
|
||||
$(libprefix)$(libc-name)) \
|
||||
$(+force)
|
||||
(echo '/* GNU ld script';\
|
||||
@@ -989,7 +989,7 @@
|
||||
echo ' the static library, so try that secondarily. */';\
|
||||
cat $<; \
|
||||
echo 'GROUP ( $(slibdir)/libc.so$(libc.so-version)' \
|
||||
- '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)$(libc-name))'\
|
||||
+ '$(libdir)/$(patsubst %,$(libtype.oST),$(libprefix)$(libc-name))'\
|
||||
' AS_NEEDED (' $(slibdir)/$(rtld-installed-name) ') )' \
|
||||
) > $@.new
|
||||
mv -f $@.new $@
|
||||
diff -aur glibc-2.3.5/extra-lib.mk glibc-2.3.5-cygwin/extra-lib.mk
|
||||
--- glibc-2.3.5/extra-lib.mk 2004-12-02 23:54:47.000000000 +0100
|
||||
+++ glibc-2.3.5-cygwin/extra-lib.mk 2005-05-11 08:27:28.156250000 +0200
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
ifneq (,$($(lib)-static-only-routines))
|
||||
ifneq (,$(filter yesyes%,$(build-shared)$(elf)$($(lib).so-version)))
|
||||
-object-suffixes-$(lib) += $(filter-out $($(lib)-inhibit-o),.oS)
|
||||
+object-suffixes-$(lib) += $(filter-out $($(lib)-inhibit-o),.oST)
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
# Add each flavor of library to the lists of things to build and install.
|
||||
install-lib += $(foreach o,$(object-suffixes-$(lib)),$(lib:lib%=$(libtype$o)))
|
||||
-extra-objs += $(foreach o,$(filter-out .os .oS,$(object-suffixes-$(lib))),\
|
||||
+extra-objs += $(foreach o,$(filter-out .os .oST,$(object-suffixes-$(lib))),\
|
||||
$(patsubst %,%$o,$(filter-out \
|
||||
$($(lib)-shared-only-routines),\
|
||||
$(all-$(lib)-routines))))
|
||||
@@ -57,7 +57,7 @@
|
||||
|
||||
|
||||
# Use o-iterator.mk to generate a rule for each flavor of library.
|
||||
-ifneq (,$(filter-out .os .oS,$(object-suffixes-$(lib))))
|
||||
+ifneq (,$(filter-out .os .oST,$(object-suffixes-$(lib))))
|
||||
define o-iterator-doit
|
||||
$(objpfx)$(patsubst %,$(libtype$o),$(lib:lib%=%)): \
|
||||
$(patsubst %,$(objpfx)%$o,\
|
||||
@@ -65,7 +65,7 @@
|
||||
$(all-$(lib)-routines))); \
|
||||
$$(build-extra-lib)
|
||||
endef
|
||||
-object-suffixes-left = $(filter-out .os .oS,$(object-suffixes-$(lib)))
|
||||
+object-suffixes-left = $(filter-out .os .oST,$(object-suffixes-$(lib)))
|
||||
include $(patsubst %,$(..)o-iterator.mk,$(object-suffixes-left))
|
||||
endif
|
||||
|
||||
@@ -77,9 +77,9 @@
|
||||
$(build-extra-lib)
|
||||
endif
|
||||
|
||||
-ifneq (,$(filter .oS,$(object-suffixes-$(lib))))
|
||||
-$(objpfx)$(patsubst %,$(libtype.oS),$(lib:lib%=%)): \
|
||||
- $(patsubst %,$(objpfx)%.oS,\
|
||||
+ifneq (,$(filter .oST,$(object-suffixes-$(lib))))
|
||||
+$(objpfx)$(patsubst %,$(libtype.oST),$(lib:lib%=%)): \
|
||||
+ $(patsubst %,$(objpfx)%.oST,\
|
||||
$(filter $($(lib)-static-only-routines),\
|
||||
$(all-$(lib)-routines)))
|
||||
$(build-extra-lib)
|
||||
diff -aur glibc-2.3.5/nptl/Makefile glibc-2.3.5-cygwin/nptl/Makefile
|
||||
--- glibc-2.3.5/nptl/Makefile 2005-02-16 09:45:56.000000000 +0100
|
||||
+++ glibc-2.3.5-cygwin/nptl/Makefile 2005-05-11 08:26:01.812500000 +0200
|
||||
@@ -375,7 +375,7 @@
|
||||
|
||||
$(inst_libdir)/libpthread.so: $(common-objpfx)format.lds \
|
||||
$(objpfx)libpthread.so$(libpthread.so-version) \
|
||||
- $(inst_libdir)/$(patsubst %,$(libtype.oS),\
|
||||
+ $(inst_libdir)/$(patsubst %,$(libtype.oST),\
|
||||
$(libprefix)pthread) \
|
||||
$(+force)
|
||||
(echo '/* GNU ld script';\
|
||||
@@ -383,7 +383,7 @@
|
||||
echo ' the static library, so try that secondarily. */';\
|
||||
cat $<; \
|
||||
echo 'GROUP ( $(slibdir)/libpthread.so$(libpthread.so-version)' \
|
||||
- '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)pthread)'\
|
||||
+ '$(libdir)/$(patsubst %,$(libtype.oST),$(libprefix)pthread)'\
|
||||
')' \
|
||||
) > $@.new
|
||||
mv -f $@.new $@
|
||||
diff -aur glibc-2.3.5/sysdeps/sparc/sparc32/sparcv9/Makefile glibc-2.3.5-cygwin/sysdeps/sparc/sparc32/sparcv9/Makefile
|
||||
--- glibc-2.3.5/sysdeps/sparc/sparc32/sparcv9/Makefile 2004-08-16 08:46:14.000000000 +0200
|
||||
+++ glibc-2.3.5-cygwin/sysdeps/sparc/sparc32/sparcv9/Makefile 2005-05-11 08:26:25.937500000 +0200
|
||||
@@ -10,4 +10,4 @@
|
||||
ASFLAGS-.op += -Wa,-Av9a
|
||||
ASFLAGS-.og += -Wa,-Av9a
|
||||
ASFLAGS-.ob += -Wa,-Av9a
|
||||
-ASFLAGS-.oS += -Wa,-Av9a
|
||||
+ASFLAGS-.oST += -Wa,-Av9a
|
||||
|
||||
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
|
@ -1,25 +0,0 @@
|
||||
http://in3www.epfl.ch/~schaffne/glibc-configure-apple-as.patch
|
||||
http://sources.redhat.com/ml/crossgcc/2004-02/msg00151.html
|
||||
|
||||
The following makes it possible to configure glibc-2.3.2 on Mac OS X,
|
||||
where the assembler but doesn't understand the --version flag.
|
||||
|
||||
Fixes the symptom
|
||||
checking whether ld is GNU ld... no
|
||||
checking for /usr/libexec/gcc/darwin/ppc/as... /usr/libexec/gcc/darwin/ppc/as
|
||||
checking version of /usr/libexec/gcc/darwin/ppc/as...
|
||||
<PAUSES HERE AND JUST SITS THERE DOING NOTHING>
|
||||
|
||||
--- glibc-2.3.2/configure~ Wed Feb 26 09:20:48 2003
|
||||
+++ glibc-2.3.2/configure Fri Feb 27 13:12:53 2004
|
||||
@@ -4039,7 +4039,7 @@
|
||||
# Found it, now check the version.
|
||||
echo "$as_me:$LINENO: checking version of $AS" >&5
|
||||
echo $ECHO_N "checking version of $AS... $ECHO_C" >&6
|
||||
- ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
||||
+ ac_prog_version=`$AS -v </dev/null 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
||||
case $ac_prog_version in
|
||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
||||
2.1[3-9]*)
|
||||
|
||||
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
|
@ -1,45 +0,0 @@
|
||||
From dank@kegel.com
|
||||
Wed Jun 15 09:12:43 PDT 2005
|
||||
|
||||
Fixes
|
||||
|
||||
build-glibc/libc.a(nsswitch.o)(.data+0x64): undefined reference to `_nss_files_getaliasent_r'
|
||||
build-glibc/libc.a(nsswitch.o)(.data+0x6c): undefined reference to `_nss_files_endaliasent'
|
||||
... 53 lines deleted ...
|
||||
build-glibc/libc.a(nsswitch.o)(.data+0x21c): undefined reference to `_nss_files_getspnam_r'
|
||||
collect2: ld returned 1 exit status
|
||||
make[2]: *** [/build/gcc-3.4.3-glibc-2.3.5-hdrs-2.6.11.2/i686-unknown-linux-gnu/build-glibc/elf/ldconfig] Error 1
|
||||
|
||||
when building glibc with --enable-static-nss.
|
||||
|
||||
See http://sources.redhat.com/bugzilla/show_bug.cgi?id=631
|
||||
|
||||
--- glibc-2.3.5/Makeconfig.old Wed Jun 15 08:13:12 2005
|
||||
+++ glibc-2.3.5/Makeconfig Wed Jun 15 08:13:14 2005
|
||||
@@ -510,7 +510,7 @@
|
||||
|
||||
# The static libraries.
|
||||
ifeq (yes,$(build-static))
|
||||
-link-libc-static = $(common-objpfx)libc.a $(static-gnulib) $(common-objpfx)libc.a
|
||||
+link-libc-static = $(common-objpfx)libc.a $(static-gnulib) $(otherlibs) $(common-objpfx)libc.a
|
||||
else
|
||||
ifeq (yes,$(build-shared))
|
||||
# We can try to link the programs with lib*_pic.a...
|
||||
--- glibc-2.3.5/elf/Makefile.old Wed Jun 15 07:46:49 2005
|
||||
+++ glibc-2.3.5/elf/Makefile Wed Jun 15 08:14:00 2005
|
||||
@@ -120,6 +120,13 @@
|
||||
install-bin-script = ldd
|
||||
endif
|
||||
|
||||
+ifeq (yes,$(build-static-nss))
|
||||
+nssobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)nss)
|
||||
+resolvobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)resolv)
|
||||
+otherlibs += $(nssobjdir)/libnss_files.a $(resolvobjdir)/libnss_dns.a \
|
||||
+ $(resolvobjdir)/libresolv.a
|
||||
+endif
|
||||
+
|
||||
others = sprof sln
|
||||
install-bin = sprof
|
||||
others-static = sln
|
||||
|
||||
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
|
@ -1,38 +0,0 @@
|
||||
2007-02-15 Khem Raj <kraj@xxxxxxxxxx>
|
||||
|
||||
* sysdeps/unix/sysv/linux/i386/sysdep.h: Re-define __i686.
|
||||
* nptl/sysdeps/pthread/pt-initfini.c: Ditto.
|
||||
|
||||
|
||||
|
||||
Index: glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h
|
||||
===================================================================
|
||||
--- glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h (revision 1469)
|
||||
+++ glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h (working copy)
|
||||
@@ -29,6 +29,10 @@
|
||||
#include <dl-sysdep.h>
|
||||
#include <tls.h>
|
||||
|
||||
+#if defined __i686 && defined __ASSEMBLER__
|
||||
+#undef __i686
|
||||
+#define __i686 __i686
|
||||
+#endif
|
||||
|
||||
/* For Linux we can use the system call table in the header file
|
||||
/usr/include/asm/unistd.h
|
||||
Index: glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c
|
||||
===================================================================
|
||||
--- glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c (revision 1469)
|
||||
+++ glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c (working copy)
|
||||
@@ -45,6 +45,11 @@
|
||||
/* Embed an #include to pull in the alignment and .end directives. */
|
||||
asm ("\n#include \"defs.h\"");
|
||||
|
||||
+asm ("\n#if defined __i686 && defined __ASSEMBLER__");
|
||||
+asm ("\n#undef __i686");
|
||||
+asm ("\n#define __i686 __i686");
|
||||
+asm ("\n#endif");
|
||||
+
|
||||
/* The initial common code ends here. */
|
||||
asm ("\n/*@HEADER_ENDS*/");
|
||||
|
@ -1,18 +0,0 @@
|
||||
(C) 2007 Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
|
||||
License: LGPL v2.1
|
||||
|
||||
Shut off a stupid warning: preffered-stack-boundary must be between 4 ad 12,
|
||||
and 2 is not.
|
||||
|
||||
diff -dur glibc-2.5.orig/sysdeps/i386/Makefile glibc-2.5/sysdeps/i386/Makefile
|
||||
--- glibc-2.5.orig/sysdeps/i386/Makefile 2005-03-06 01:18:16.000000000 +0100
|
||||
+++ glibc-2.5/sysdeps/i386/Makefile 2007-05-27 17:49:37.000000000 +0200
|
||||
@@ -36,7 +36,7 @@
|
||||
ifeq ($(subdir),csu)
|
||||
sysdep-CFLAGS += -mpreferred-stack-boundary=4
|
||||
else
|
||||
-sysdep-CFLAGS += -mpreferred-stack-boundary=2
|
||||
+sysdep-CFLAGS += -mpreferred-stack-boundary=4
|
||||
# Likewise, any function which calls user callbacks
|
||||
uses-callbacks += -mpreferred-stack-boundary=4
|
||||
# Likewise, any stack alignment tests
|
@ -1,26 +0,0 @@
|
||||
2008-06-07 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* sysdeps/unix/sysv/linux/alpha/sys/user.h: Copy page.h definitions
|
||||
from the kernel header to sys/user.h and remove the #include of
|
||||
sys/user.h.
|
||||
|
||||
--- a/sysdeps/unix/sysv/linux/alpha/sys/user.h
|
||||
+++ b/sysdeps/unix/sysv/linux/alpha/sys/user.h
|
||||
@@ -23,7 +23,6 @@
|
||||
only. Don't read too much into it. Don't use it for anything other
|
||||
than gdb/strace unless you know what you are doing. */
|
||||
|
||||
-#include <asm/page.h>
|
||||
#include <asm/reg.h>
|
||||
|
||||
struct user
|
||||
@@ -41,6 +40,9 @@ struct user
|
||||
char u_comm[32]; /* user command name */
|
||||
};
|
||||
|
||||
+#define PAGE_SHIFT 13
|
||||
+#define PAGE_SIZE (1 << PAGE_SHIFT)
|
||||
+#define PAGE_MASK (~(PAGE_SIZE-1))
|
||||
#define NBPG PAGE_SIZE
|
||||
#define UPAGES 1
|
||||
#define HOST_TEXT_START_ADDR (u.start_code)
|
@ -1,18 +0,0 @@
|
||||
Original patch from H.J. Lu, as reported there:
|
||||
http://www.nabble.com/PATCH:-Use-short-for-fnstsw-td14775171.html
|
||||
|
||||
fnstsw stores 16bit into %ax. The upper 16bit of %eax is unchanged.
|
||||
The new assembler (binutils-2.18.50.0.4 and up) will disallow "fnstsw %eax".
|
||||
|
||||
diff -dur glibc-2.6.1.orig/sysdeps/i386/fpu/ftestexcept.c glibc-2.6.1/sysdeps/i386/fpu/ftestexcept.c
|
||||
--- glibc-2.6.1.orig/sysdeps/i386/fpu/ftestexcept.c 2004-03-05 11:14:48.000000000 +0100
|
||||
+++ glibc-2.6.1/sysdeps/i386/fpu/ftestexcept.c 2008-06-24 10:56:14.000000000 +0200
|
||||
@@ -26,7 +26,7 @@
|
||||
int
|
||||
fetestexcept (int excepts)
|
||||
{
|
||||
- int temp;
|
||||
+ short temp;
|
||||
int xtemp = 0;
|
||||
|
||||
/* Get current exceptions. */
|
@ -1,194 +0,0 @@
|
||||
since the kernel no longer provides asm/elf.h, the sys/procfs.h from the
|
||||
common code, alpha, and sh fail when used. this should things up.
|
||||
-mike
|
||||
|
||||
2008-06-07 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* sysdeps/unix/sysv/linux/sys/procfs.h: Replace with #error stub.
|
||||
* sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Copy some asm/elf.h
|
||||
definitions from the kernel header to sys/procfs.h and remove the
|
||||
#include of asm/elf.h.
|
||||
* sysdeps/unix/sysv/linux/sh/sys/procfs.h: Likewise.
|
||||
|
||||
*Attachment: signature.asc <msg00012/signature.asc>*
|
||||
/Description:/ This is a digitally signed message part.
|
||||
|
||||
2008-06-07 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* sysdeps/unix/sysv/linux/sys/procfs.h: Replace with #error stub.
|
||||
* sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Copy some asm/elf.h
|
||||
definitions from the kernel header to sys/procfs.h and remove the
|
||||
#include of asm/elf.h.
|
||||
* sysdeps/unix/sysv/linux/sh/sys/procfs.h: Likewise.
|
||||
|
||||
--- a/sysdeps/unix/sysv/linux/alpha/sys/procfs.h
|
||||
+++ b/sysdeps/unix/sysv/linux/alpha/sys/procfs.h
|
||||
@@ -29,10 +29,23 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/ucontext.h>
|
||||
#include <sys/user.h>
|
||||
-#include <asm/elf.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
+/*
|
||||
+ * The OSF/1 version of <sys/procfs.h> makes gregset_t 46 entries long.
|
||||
+ * I have no idea why that is so. For now, we just leave it at 33
|
||||
+ * (32 general regs + processor status word).
|
||||
+ */
|
||||
+#define ELF_NGREG 33
|
||||
+#define ELF_NFPREG 32
|
||||
+
|
||||
+typedef unsigned long elf_greg_t;
|
||||
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
|
||||
+
|
||||
+typedef double elf_fpreg_t;
|
||||
+typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
|
||||
+
|
||||
struct elf_siginfo
|
||||
{
|
||||
int si_signo; /* Signal number. */
|
||||
--- a/sysdeps/unix/sysv/linux/sh/sys/procfs.h
|
||||
+++ b/sysdeps/unix/sysv/linux/sh/sys/procfs.h
|
||||
@@ -29,10 +29,19 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/ucontext.h>
|
||||
#include <sys/user.h>
|
||||
-#include <asm/elf.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
+/*
|
||||
+ * ELF register definitions...
|
||||
+ */
|
||||
+typedef unsigned long elf_greg_t;
|
||||
+
|
||||
+#define ELF_NGREG (sizeof (struct pt_regs) / sizeof(elf_greg_t))
|
||||
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
|
||||
+
|
||||
+typedef struct user_fpu_struct elf_fpregset_t;
|
||||
+
|
||||
struct elf_siginfo
|
||||
{
|
||||
int si_signo; /* Signal number. */
|
||||
--- a/sysdeps/unix/sysv/linux/sys/procfs.h
|
||||
+++ b/sysdeps/unix/sysv/linux/sys/procfs.h
|
||||
@@ -1,115 +1,2 @@
|
||||
-/* Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc.
|
||||
- This file is part of the GNU C Library.
|
||||
-
|
||||
- The GNU C Library is free software; you can redistribute it and/or
|
||||
- modify it under the terms of the GNU Lesser General Public
|
||||
- License as published by the Free Software Foundation; either
|
||||
- version 2.1 of the License, or (at your option) any later version.
|
||||
-
|
||||
- The GNU C Library is distributed in the hope that it will be useful,
|
||||
- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
- Lesser General Public License for more details.
|
||||
-
|
||||
- You should have received a copy of the GNU Lesser General Public
|
||||
- License along with the GNU C Library; if not, write to the Free
|
||||
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
- 02111-1307 USA. */
|
||||
-
|
||||
-#ifndef _SYS_PROCFS_H
|
||||
-#define _SYS_PROCFS_H 1
|
||||
-
|
||||
-/* This is somehow modelled after the file of the same name on SysVr4
|
||||
- systems. It provides a definition of the core file format for ELF
|
||||
- used on Linux. */
|
||||
-
|
||||
-#include <features.h>
|
||||
-#include <signal.h>
|
||||
-#include <sys/time.h>
|
||||
-#include <sys/types.h>
|
||||
-#include <sys/ucontext.h>
|
||||
-#include <sys/user.h>
|
||||
-#include <asm/elf.h>
|
||||
-
|
||||
-__BEGIN_DECLS
|
||||
-
|
||||
-struct elf_siginfo
|
||||
- {
|
||||
- int si_signo; /* Signal number. */
|
||||
- int si_code; /* Extra code. */
|
||||
- int si_errno; /* Errno. */
|
||||
- };
|
||||
-
|
||||
-/* Definitions to generate Intel SVR4-like core files. These mostly
|
||||
- have the same names as the SVR4 types with "elf_" tacked on the
|
||||
- front to prevent clashes with linux definitions, and the typedef
|
||||
- forms have been avoided. This is mostly like the SVR4 structure,
|
||||
- but more Linuxy, with things that Linux does not support and which
|
||||
- gdb doesn't really use excluded. Fields present but not used are
|
||||
- marked with "XXX". */
|
||||
-struct elf_prstatus
|
||||
- {
|
||||
-#if 0
|
||||
- long int pr_flags; /* XXX Process flags. */
|
||||
- short int pr_why; /* XXX Reason for process halt. */
|
||||
- short int pr_what; /* XXX More detailed reason. */
|
||||
-#endif
|
||||
- struct elf_siginfo pr_info; /* Info associated with signal. */
|
||||
- short int pr_cursig; /* Current signal. */
|
||||
- unsigned long int pr_sigpend; /* Set of pending signals. */
|
||||
- unsigned long int pr_sighold; /* Set of held signals. */
|
||||
-#if 0
|
||||
- struct sigaltstack pr_altstack; /* Alternate stack info. */
|
||||
- struct sigaction pr_action; /* Signal action for current sig. */
|
||||
-#endif
|
||||
- __pid_t pr_pid;
|
||||
- __pid_t pr_ppid;
|
||||
- __pid_t pr_pgrp;
|
||||
- __pid_t pr_sid;
|
||||
- struct timeval pr_utime; /* User time. */
|
||||
- struct timeval pr_stime; /* System time. */
|
||||
- struct timeval pr_cutime; /* Cumulative user time. */
|
||||
- struct timeval pr_cstime; /* Cumulative system time. */
|
||||
-#if 0
|
||||
- long int pr_instr; /* Current instruction. */
|
||||
-#endif
|
||||
- elf_gregset_t pr_reg; /* GP registers. */
|
||||
- int pr_fpvalid; /* True if math copro being used. */
|
||||
- };
|
||||
-
|
||||
-
|
||||
-#define ELF_PRARGSZ (80) /* Number of chars for args */
|
||||
-
|
||||
-struct elf_prpsinfo
|
||||
- {
|
||||
- char pr_state; /* Numeric process state. */
|
||||
- char pr_sname; /* Char for pr_state. */
|
||||
- char pr_zomb; /* Zombie. */
|
||||
- char pr_nice; /* Nice val. */
|
||||
- unsigned long int pr_flag; /* Flags. */
|
||||
- unsigned short int pr_uid;
|
||||
- unsigned short int pr_gid;
|
||||
- int pr_pid, pr_ppid, pr_pgrp, pr_sid;
|
||||
- /* Lots missing */
|
||||
- char pr_fname[16]; /* Filename of executable. */
|
||||
- char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */
|
||||
- };
|
||||
-
|
||||
-/* Addresses. */
|
||||
-typedef void *psaddr_t;
|
||||
-
|
||||
-/* Register sets. Linux has different names. */
|
||||
-typedef gregset_t prgregset_t;
|
||||
-typedef fpregset_t prfpregset_t;
|
||||
-
|
||||
-/* We don't have any differences between processes and threads,
|
||||
- therefore habe only ine PID type. */
|
||||
-typedef __pid_t lwpid_t;
|
||||
-
|
||||
-
|
||||
-typedef struct elf_prstatus prstatus_t;
|
||||
-typedef struct elf_prpsinfo prpsinfo_t;
|
||||
-
|
||||
-__END_DECLS
|
||||
-
|
||||
-#endif /* sys/procfs.h */
|
||||
+/* sys/procfs.h is architecture specific. */
|
||||
+#error "This file must be supplied by every Linux architecture."
|
||||
|
@ -1,50 +0,0 @@
|
||||
Patch pointed to by Ryan ARNOLD on the libc-help ML.
|
||||
See: http://sourceware.org/ml/libc-help/2008-06/msg00063.html
|
||||
|
||||
Forwarded to crosstool-NG by Ioannis E. VENETIS:
|
||||
See: http://sourceware.org/ml/libc-help/2008-06/msg00063.html
|
||||
|
||||
GCC 4.3 changed the location of some of the header files. I don't
|
||||
understand why you'd be getting these errors while building GCC since
|
||||
it provides them.
|
||||
|
||||
With regard to GLIBC, Roland checked in some changes so that the GLIBC
|
||||
build system could find the new locations of the GCC provided header
|
||||
files.
|
||||
|
||||
diff -durN glibc-2.6.1.orig/configure.in glibc-2.6.1/configure.in
|
||||
--- glibc-2.6.1.orig/configure.in 2007-06-08 05:16:36.000000000 +0200
|
||||
+++ glibc-2.6.1/configure.in 2008-06-24 18:38:46.000000000 +0200
|
||||
@@ -911,8 +911,12 @@
|
||||
# header directory and add that to the list. NOTE: Only does the right
|
||||
# thing on a system that doesn't need fixincludes. (Not presently a problem.)
|
||||
if test -n "$sysheaders"; then
|
||||
- ccheaders=`$CC -print-file-name=include`
|
||||
- SYSINCLUDES="-nostdinc -isystem $ccheaders \
|
||||
+ SYSINCLUDES=-nostdinc
|
||||
+ for d in include include-fixed; do
|
||||
+ i=`$CC -print-file-name="$d"` && test "x$i" != x && test "x$i" != "x$d" &&
|
||||
+ SYSINCLUDES="$SYSINCLUDES -isystem $i"
|
||||
+ done
|
||||
+ SYSINCLUDES="$SYSINCLUDES \
|
||||
-isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
|
||||
if test -n "$CXX"; then
|
||||
cxxversion=`$CXX -dumpversion 2>&AS_MESSAGE_LOG_FD` &&
|
||||
diff -durN glibc-2.6.1.orig/configure glibc-2.6.1/configure
|
||||
--- glibc-2.6.1.orig/configure 2008-06-24 18:35:34.000000000 +0200
|
||||
+++ glibc-2.6.1/configure 2008-06-24 18:38:46.000000000 +0200
|
||||
@@ -4562,8 +4562,12 @@
|
||||
# header directory and add that to the list. NOTE: Only does the right
|
||||
# thing on a system that doesn't need fixincludes. (Not presently a problem.)
|
||||
if test -n "$sysheaders"; then
|
||||
- ccheaders=`$CC -print-file-name=include`
|
||||
- SYSINCLUDES="-nostdinc -isystem $ccheaders \
|
||||
+ SYSINCLUDES=-nostdinc
|
||||
+ for d in include include-fixed; do
|
||||
+ i=`$CC -print-file-name="$d"` && test "x$i" != "x$d" &&
|
||||
+ SYSINCLUDES="$SYSINCLUDES -isystem $i"
|
||||
+ done
|
||||
+ SYSINCLUDES="$SYSINCLUDES \
|
||||
-isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
|
||||
if test -n "$CXX"; then
|
||||
cxxversion=`$CXX -dumpversion 2>&5` &&
|
@ -1,11 +0,0 @@
|
||||
--- glibc-2.6.1/sysdeps/unix/sysv/linux/kernel-features.h 2006-07-29 07:43:27.000000000 +0300
|
||||
+++ glibc-2.6.1/sysdeps/unix/sysv/linux/kernel-features.h.new 2008-07-26 08:45:06.000000000 +0300
|
||||
@@ -445,7 +445,7 @@
|
||||
/* The *at syscalls were introduced just after 2.6.16-rc1. Due to the way the
|
||||
kernel versions are advertised we can only rely on 2.6.17 to have
|
||||
the code. */
|
||||
-#if __LINUX_KERNEL_VERSION >= 0x020611
|
||||
+#if __LINUX_KERNEL_VERSION >= 0x020611 && !defined __alpha__
|
||||
# define __ASSUME_ATFCTS 1
|
||||
#endif
|
||||
|
@ -1,103 +0,0 @@
|
||||
--- glibc-2.6.1.orig/sysdeps/unix/alpha/sysdep.h
|
||||
+++ glibc-2.6.1/sysdeps/unix/alpha/sysdep.h
|
||||
@@ -397,42 +397,4 @@
|
||||
_sc_ret = _sc_0, _sc_err = _sc_19; \
|
||||
}
|
||||
|
||||
-/* Pointer mangling support. Note that tls access is slow enough that
|
||||
- we don't deoptimize things by placing the pointer check value there. */
|
||||
-
|
||||
-#include <stdint.h>
|
||||
-
|
||||
-#if defined NOT_IN_libc && defined IS_IN_rtld
|
||||
-# ifdef __ASSEMBLER__
|
||||
-# define PTR_MANGLE(dst, src, tmp) \
|
||||
- ldah tmp, __pointer_chk_guard_local($29) !gprelhigh; \
|
||||
- ldq tmp, __pointer_chk_guard_local(tmp) !gprellow; \
|
||||
- xor src, tmp, dst
|
||||
-# define PTR_MANGLE2(dst, src, tmp) \
|
||||
- xor src, tmp, dst
|
||||
-# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp)
|
||||
-# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp)
|
||||
-# else
|
||||
-extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden;
|
||||
-# define PTR_MANGLE(var) \
|
||||
- (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local)
|
||||
-# define PTR_DEMANGLE(var) PTR_MANGLE(var)
|
||||
-# endif
|
||||
-#elif defined PIC
|
||||
-# ifdef __ASSEMBLER__
|
||||
-# define PTR_MANGLE(dst, src, tmp) \
|
||||
- ldq tmp, __pointer_chk_guard; \
|
||||
- xor src, tmp, dst
|
||||
-# define PTR_MANGLE2(dst, src, tmp) \
|
||||
- xor src, tmp, dst
|
||||
-# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp)
|
||||
-# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp)
|
||||
-# else
|
||||
-extern uintptr_t __pointer_chk_guard attribute_relro;
|
||||
-# define PTR_MANGLE(var) \
|
||||
- (var) = (void *) ((uintptr_t) (var) ^ __pointer_chk_guard)
|
||||
-# define PTR_DEMANGLE(var) PTR_MANGLE(var)
|
||||
-# endif
|
||||
-#endif
|
||||
-
|
||||
#endif /* ASSEMBLER */
|
||||
--- glibc-2.6.1.orig/sysdeps/unix/sysv/linux/alpha/sysdep.h
|
||||
+++ glibc-2.6.1/sysdeps/unix/sysv/linux/alpha/sysdep.h
|
||||
@@ -29,6 +29,8 @@
|
||||
/* There is some commonality. */
|
||||
#include <sysdeps/unix/alpha/sysdep.h>
|
||||
|
||||
+#include <tls.h>
|
||||
+
|
||||
/* For Linux we can use the system call table in the header file
|
||||
/usr/include/asm/unistd.h
|
||||
of the kernel. But these symbols do not follow the SYS_* syntax
|
||||
@@ -96,4 +96,46 @@
|
||||
INTERNAL_SYSCALL1(name, err_out, nr, args); \
|
||||
})
|
||||
|
||||
+/* Pointer mangling support. Note that tls access is slow enough that
|
||||
+ we don't deoptimize things by placing the pointer check value there. */
|
||||
+
|
||||
+#if defined NOT_IN_libc && defined IS_IN_rtld
|
||||
+# ifdef __ASSEMBLER__
|
||||
+# define PTR_MANGLE(dst, src, tmp) \
|
||||
+ ldah tmp, __pointer_chk_guard_local($29) !gprelhigh; \
|
||||
+ ldq tmp, __pointer_chk_guard_local(tmp) !gprellow; \
|
||||
+ xor src, tmp, dst
|
||||
+# define PTR_MANGLE2(dst, src, tmp) \
|
||||
+ xor src, tmp, dst
|
||||
+# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp)
|
||||
+# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp)
|
||||
+# else
|
||||
+extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden;
|
||||
+# define PTR_MANGLE(var) \
|
||||
+ (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local)
|
||||
+# define PTR_DEMANGLE(var) PTR_MANGLE(var)
|
||||
+# endif
|
||||
+#elif defined PIC
|
||||
+# ifdef __ASSEMBLER__
|
||||
+# define PTR_MANGLE(dst, src, tmp) \
|
||||
+ ldq tmp, __pointer_chk_guard; \
|
||||
+ xor src, tmp, dst
|
||||
+# define PTR_MANGLE2(dst, src, tmp) \
|
||||
+ xor src, tmp, dst
|
||||
+# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp)
|
||||
+# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp)
|
||||
+# else
|
||||
+extern uintptr_t __pointer_chk_guard attribute_relro;
|
||||
+# define PTR_MANGLE(var) \
|
||||
+ (var) = (void *) ((uintptr_t) (var) ^ __pointer_chk_guard)
|
||||
+# define PTR_DEMANGLE(var) PTR_MANGLE(var)
|
||||
+# endif
|
||||
+#else
|
||||
+/* Pointer mangling is not yet supported for static libc on alpha. */
|
||||
+# ifndef __ASSEMBLER__
|
||||
+# define PTR_MANGLE(var) (void) (var)
|
||||
+# define PTR_DEMANGLE(var) (void) (var)
|
||||
+# endif
|
||||
+#endif
|
||||
+
|
||||
#endif /* _LINUX_ALPHA_SYSDEP_H */
|
@ -1,237 +0,0 @@
|
||||
Patch provided bu Ioannis E. VENETIS
|
||||
|
||||
Using:
|
||||
|
||||
typedef int lll_lock_t;
|
||||
|
||||
creates problems during compilation. Since glibc 2.7 got rid of the 'typedef' and
|
||||
uses directly 'int', we do the same here.
|
||||
|
||||
diff -Naur glibc-2.6.1/nptl/allocatestack.c glibc-2.6.1.new/nptl/allocatestack.c
|
||||
--- glibc-2.6.1/nptl/allocatestack.c 2006-08-23 20:39:47.000000000 +0300
|
||||
+++ glibc-2.6.1.new/nptl/allocatestack.c 2008-07-27 20:56:19.000000000 +0300
|
||||
@@ -103,7 +103,7 @@
|
||||
static size_t stack_cache_actsize;
|
||||
|
||||
/* Mutex protecting this variable. */
|
||||
-static lll_lock_t stack_cache_lock = LLL_LOCK_INITIALIZER;
|
||||
+static int stack_cache_lock = LLL_LOCK_INITIALIZER;
|
||||
|
||||
/* List of queued stack frames. */
|
||||
static LIST_HEAD (stack_cache);
|
||||
diff -Naur glibc-2.6.1/nptl/descr.h glibc-2.6.1.new/nptl/descr.h
|
||||
--- glibc-2.6.1/nptl/descr.h 2006-09-24 20:10:55.000000000 +0300
|
||||
+++ glibc-2.6.1.new/nptl/descr.h 2008-07-27 20:54:41.000000000 +0300
|
||||
@@ -305,10 +305,10 @@
|
||||
int parent_cancelhandling;
|
||||
|
||||
/* Lock to synchronize access to the descriptor. */
|
||||
- lll_lock_t lock;
|
||||
+ int lock;
|
||||
|
||||
/* Lock for synchronizing setxid calls. */
|
||||
- lll_lock_t setxid_futex;
|
||||
+ int setxid_futex;
|
||||
|
||||
#if HP_TIMING_AVAIL
|
||||
/* Offset of the CPU clock at start thread start time. */
|
||||
diff -Naur glibc-2.6.1/nptl/pthread_attr_init.c glibc-2.6.1.new/nptl/pthread_attr_init.c
|
||||
--- glibc-2.6.1/nptl/pthread_attr_init.c 2004-03-19 01:56:31.000000000 +0200
|
||||
+++ glibc-2.6.1.new/nptl/pthread_attr_init.c 2008-07-27 20:55:03.000000000 +0300
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
|
||||
struct pthread_attr *__attr_list;
|
||||
-lll_lock_t __attr_list_lock = LLL_LOCK_INITIALIZER;
|
||||
+int __attr_list_lock = LLL_LOCK_INITIALIZER;
|
||||
|
||||
|
||||
int
|
||||
diff -Naur glibc-2.6.1/nptl/pthreadP.h glibc-2.6.1.new/nptl/pthreadP.h
|
||||
--- glibc-2.6.1/nptl/pthreadP.h 2006-08-23 20:42:52.000000000 +0300
|
||||
+++ glibc-2.6.1.new/nptl/pthreadP.h 2008-07-27 20:56:40.000000000 +0300
|
||||
@@ -143,7 +143,7 @@
|
||||
|
||||
/* Attribute handling. */
|
||||
extern struct pthread_attr *__attr_list attribute_hidden;
|
||||
-extern lll_lock_t __attr_list_lock attribute_hidden;
|
||||
+extern int __attr_list_lock attribute_hidden;
|
||||
|
||||
/* First available RT signal. */
|
||||
extern int __current_sigrtmin attribute_hidden;
|
||||
diff -Naur glibc-2.6.1/nptl/semaphoreP.h glibc-2.6.1.new/nptl/semaphoreP.h
|
||||
--- glibc-2.6.1/nptl/semaphoreP.h 2006-05-11 20:08:37.000000000 +0300
|
||||
+++ glibc-2.6.1.new/nptl/semaphoreP.h 2008-07-27 20:55:42.000000000 +0300
|
||||
@@ -48,7 +48,7 @@
|
||||
extern void *__sem_mappings attribute_hidden;
|
||||
|
||||
/* Lock to protect the search tree. */
|
||||
-extern lll_lock_t __sem_mappings_lock attribute_hidden;
|
||||
+extern int __sem_mappings_lock attribute_hidden;
|
||||
|
||||
|
||||
/* Initializer for mountpoint. */
|
||||
diff -Naur glibc-2.6.1/nptl/sem_open.c glibc-2.6.1.new/nptl/sem_open.c
|
||||
--- glibc-2.6.1/nptl/sem_open.c 2006-05-11 20:09:43.000000000 +0300
|
||||
+++ glibc-2.6.1.new/nptl/sem_open.c 2008-07-27 20:55:22.000000000 +0300
|
||||
@@ -147,7 +147,7 @@
|
||||
void *__sem_mappings attribute_hidden;
|
||||
|
||||
/* Lock to protect the search tree. */
|
||||
-lll_lock_t __sem_mappings_lock attribute_hidden = LLL_LOCK_INITIALIZER;
|
||||
+int __sem_mappings_lock attribute_hidden = LLL_LOCK_INITIALIZER;
|
||||
|
||||
|
||||
/* Search for existing mapping and if possible add the one provided. */
|
||||
diff -Naur glibc-2.6.1/nptl/pthread_once.c glibc-2.6.1.new/nptl/pthread_once.c
|
||||
--- glibc-2.6.1/nptl/pthread_once.c 2002-11-27 00:50:31.000000000 +0200
|
||||
+++ glibc-2.6.1.new/nptl/pthread_once.c 2008-07-27 20:57:12.000000000 +0300
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
|
||||
|
||||
-static lll_lock_t once_lock = LLL_LOCK_INITIALIZER;
|
||||
+static int once_lock = LLL_LOCK_INITIALIZER;
|
||||
|
||||
|
||||
int
|
||||
diff -Naur glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h
|
||||
--- glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h 2006-07-29 08:06:07.000000000 +0300
|
||||
+++ glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h 2008-07-27 20:59:15.000000000 +0300
|
||||
@@ -230,9 +230,6 @@
|
||||
/* Our internal lock implementation is identical to the binary-compatible
|
||||
mutex implementation. */
|
||||
|
||||
-/* Type for lock object. */
|
||||
-typedef int lll_lock_t;
|
||||
-
|
||||
/* Initializers for lock. */
|
||||
#define LLL_LOCK_INITIALIZER (0)
|
||||
#define LLL_LOCK_INITIALIZER_LOCKED (1)
|
||||
diff -Naur glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/fork.c glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/fork.c
|
||||
--- glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/fork.c 2003-12-21 01:37:13.000000000 +0200
|
||||
+++ glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/fork.c 2008-07-27 21:00:01.000000000 +0300
|
||||
@@ -183,7 +183,7 @@
|
||||
}
|
||||
|
||||
/* Initialize the fork lock. */
|
||||
- __fork_lock = (lll_lock_t) LLL_LOCK_INITIALIZER;
|
||||
+ __fork_lock = (int) LLL_LOCK_INITIALIZER;
|
||||
}
|
||||
else
|
||||
{
|
||||
diff -Naur glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/fork.h glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/fork.h
|
||||
--- glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/fork.h 2006-05-15 23:19:43.000000000 +0300
|
||||
+++ glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/fork.h 2008-07-27 20:58:49.000000000 +0300
|
||||
@@ -26,7 +26,7 @@
|
||||
extern unsigned long int *__fork_generation_pointer attribute_hidden;
|
||||
|
||||
/* Lock to protect allocation and deallocation of fork handlers. */
|
||||
-extern lll_lock_t __fork_lock attribute_hidden;
|
||||
+extern int __fork_lock attribute_hidden;
|
||||
|
||||
/* Elements of the fork handler lists. */
|
||||
struct fork_handler
|
||||
diff -Naur glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h
|
||||
--- glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h 2006-09-05 17:44:25.000000000 +0300
|
||||
+++ glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h 2008-07-27 21:00:19.000000000 +0300
|
||||
@@ -436,9 +436,6 @@
|
||||
/* We have a separate internal lock implementation which is not tied
|
||||
to binary compatibility. */
|
||||
|
||||
-/* Type for lock object. */
|
||||
-typedef int lll_lock_t;
|
||||
-
|
||||
/* Initializers for lock. */
|
||||
#define LLL_LOCK_INITIALIZER (0)
|
||||
#define LLL_LOCK_INITIALIZER_LOCKED (1)
|
||||
diff -Naur glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h
|
||||
--- glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h 2006-07-29 08:06:07.000000000 +0300
|
||||
+++ glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h 2008-07-27 20:58:16.000000000 +0300
|
||||
@@ -223,9 +223,6 @@
|
||||
/* We have a separate internal lock implementation which is not tied
|
||||
to binary compatibility. We can use the lll_mutex_*. */
|
||||
|
||||
-/* Type for lock object. */
|
||||
-typedef int lll_lock_t;
|
||||
-
|
||||
extern int lll_unlock_wake_cb (int *__futex) attribute_hidden;
|
||||
|
||||
/* Initializers for lock. */
|
||||
diff -Naur glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
|
||||
--- glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h 2006-07-29 08:06:07.000000000 +0300
|
||||
+++ glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h 2008-07-27 21:00:36.000000000 +0300
|
||||
@@ -254,9 +254,6 @@
|
||||
/* Our internal lock implementation is identical to the binary-compatible
|
||||
mutex implementation. */
|
||||
|
||||
-/* Type for lock object. */
|
||||
-typedef int lll_lock_t;
|
||||
-
|
||||
/* Initializers for lock. */
|
||||
#define LLL_LOCK_INITIALIZER (0)
|
||||
#define LLL_LOCK_INITIALIZER_LOCKED (1)
|
||||
diff -Naur glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/register-atfork.c glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/register-atfork.c
|
||||
--- glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/register-atfork.c 2005-12-22 00:17:21.000000000 +0200
|
||||
+++ glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/register-atfork.c 2008-07-27 21:00:55.000000000 +0300
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
|
||||
/* Lock to protect allocation and deallocation of fork handlers. */
|
||||
-lll_lock_t __fork_lock = LLL_LOCK_INITIALIZER;
|
||||
+int __fork_lock = LLL_LOCK_INITIALIZER;
|
||||
|
||||
|
||||
/* Number of pre-allocated handler entries. */
|
||||
diff -Naur glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h
|
||||
--- glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h 2006-07-29 08:06:07.000000000 +0300
|
||||
+++ glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h 2008-07-27 21:01:14.000000000 +0300
|
||||
@@ -309,9 +309,6 @@
|
||||
/* We have a separate internal lock implementation which is not tied
|
||||
to binary compatibility. We can use the lll_mutex_*. */
|
||||
|
||||
-/* Type for lock object. */
|
||||
-typedef int lll_lock_t;
|
||||
-
|
||||
/* Initializers for lock. */
|
||||
#define LLL_LOCK_INITIALIZER (0)
|
||||
#define LLL_LOCK_INITIALIZER_LOCKED (1)
|
||||
diff -Naur glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h
|
||||
--- glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h 2006-07-29 08:06:06.000000000 +0300
|
||||
+++ glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h 2008-07-27 20:58:00.000000000 +0300
|
||||
@@ -278,9 +278,6 @@
|
||||
/* We have a separate internal lock implementation which is not tied
|
||||
to binary compatibility. */
|
||||
|
||||
-/* Type for lock object. */
|
||||
-typedef int lll_lock_t;
|
||||
-
|
||||
/* Initializers for lock. */
|
||||
#define LLL_LOCK_INITIALIZER (0)
|
||||
#define LLL_LOCK_INITIALIZER_LOCKED (1)
|
||||
diff -Naur glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h
|
||||
--- glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h 2006-07-29 08:06:06.000000000 +0300
|
||||
+++ glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h 2008-07-27 20:59:39.000000000 +0300
|
||||
@@ -237,9 +237,6 @@
|
||||
/* We have a separate internal lock implementation which is not tied
|
||||
to binary compatibility. We can use the lll_mutex_*. */
|
||||
|
||||
-/* Type for lock object. */
|
||||
-typedef int lll_lock_t;
|
||||
-
|
||||
extern int lll_unlock_wake_cb (int *__futex) attribute_hidden;
|
||||
|
||||
/* Initializers for lock. */
|
||||
diff -Naur glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
|
||||
--- glibc-2.6.1/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h 2006-09-05 17:45:34.000000000 +0300
|
||||
+++ glibc-2.6.1.new/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h 2008-07-27 20:58:33.000000000 +0300
|
||||
@@ -446,9 +446,6 @@
|
||||
/* We have a separate internal lock implementation which is not tied
|
||||
to binary compatibility. */
|
||||
|
||||
-/* Type for lock object. */
|
||||
-typedef int lll_lock_t;
|
||||
-
|
||||
/* Initializers for lock. */
|
||||
#define LLL_LOCK_INITIALIZER (0)
|
||||
#define LLL_LOCK_INITIALIZER_LOCKED (1)
|
@ -1,65 +0,0 @@
|
||||
On 20090111.1151+0100, Thomas Jourdan <tjourdan@neuf.fr> wrote:
|
||||
|
||||
I'm still working on the solaris port an I have the same issue here.
|
||||
While trying to build the i686-nptl-linux-gnu toolchain under
|
||||
OpenSolaris, the problems appears during the make install rule of the
|
||||
libc function.
|
||||
|
||||
The problem is that solaris tries to execute ld-linux.so.2, which is an
|
||||
elf 32 bits dyn lib, and it fails with a memory fault, not a "cannot
|
||||
execute binary file". Hence the build stops on this error.
|
||||
|
||||
And on 20090111.1339+0100, he replied with:
|
||||
|
||||
After digging a little, the problem comes from the
|
||||
glibc-2.6.1/posix/Makefile. It has been solved starting from glibc 2.7
|
||||
so I extracted a patch for glibc 2.6.1.
|
||||
|
||||
--- glibc-2.6.1/posix/Makefile 2007-04-04 01:28:20.000000000 +0200
|
||||
+++ glibc-2.7/posix/Makefile 2007-09-12 01:57:22.000000000 +0200
|
||||
@@ -98,7 +98,7 @@
|
||||
endif
|
||||
others := getconf
|
||||
install-bin := getconf
|
||||
-install-others := $(inst_libexecdir)/getconf
|
||||
+install-others-programs := $(inst_libexecdir)/getconf
|
||||
|
||||
before-compile := testcases.h ptestcases.h
|
||||
|
||||
@@ -110,7 +110,7 @@
|
||||
tst-rxspencer-mem tst-rxspencer.mtrace tst-getconf.out \
|
||||
tst-pcre-mem tst-pcre.mtrace tst-boost-mem tst-boost.mtrace \
|
||||
bug-ga2.mtrace bug-ga2-mem bug-glob2.mtrace bug-glob2-mem \
|
||||
- tst-vfork3-mem tst-vfork3.mtrace
|
||||
+ tst-vfork3-mem tst-vfork3.mtrace getconf.speclist
|
||||
|
||||
include ../Rules
|
||||
|
||||
@@ -291,12 +291,20 @@
|
||||
$(objpfx)bug-glob2-mem: $(objpfx)bug-glob2.out
|
||||
$(common-objpfx)malloc/mtrace $(objpfx)bug-glob2.mtrace > $@
|
||||
|
||||
-$(inst_libexecdir)/getconf: $(objpfx)getconf FORCE
|
||||
+$(inst_libexecdir)/getconf: $(inst_bindir)/getconf \
|
||||
+ $(objpfx)getconf.speclist FORCE
|
||||
$(addprefix $(..)./scripts/mkinstalldirs ,\
|
||||
$(filter-out $(wildcard $@),$@))
|
||||
- for spec in `LC_ALL=C GETCONF_DIR=/dev/null \
|
||||
- $(run-program-prefix) $< \
|
||||
- _POSIX_V6_WIDTH_RESTRICTED_ENVS`; do \
|
||||
- $(INSTALL_PROGRAM) $< $@/$$spec.new; \
|
||||
- mv -f $@/$$spec.new $@/$$spec; \
|
||||
- done
|
||||
+ while read spec; do \
|
||||
+ ln -f $< $@/$$spec.new || $(INSTALL_PROGRAM) $< $@/$$spec.new; \
|
||||
+ mv -f $@/$$spec.new $@/$$spec; \
|
||||
+ done < $(objpfx)getconf.speclist
|
||||
+
|
||||
+$(objpfx)getconf.speclist: $(objpfx)getconf
|
||||
+ifeq (no,$(cross-compiling))
|
||||
+ LC_ALL=C GETCONF_DIR=/dev/null \
|
||||
+ $(run-program-prefix) $< _POSIX_V6_WIDTH_RESTRICTED_ENVS > $@.new
|
||||
+else
|
||||
+ > $@.new
|
||||
+endif
|
||||
+ mv -f $@.new $@
|
@ -1,187 +0,0 @@
|
||||
Fixes
|
||||
elf/librtld.os: In function `process_envvars': : undefined reference to `__access'
|
||||
...
|
||||
when building glibc-2.3.x on cygwin
|
||||
|
||||
Idea from
|
||||
http://sources.redhat.com/ml/bug-glibc/2002-01/msg00071/glibc-2.2-cygin-shared.patch
|
||||
Basically, make glibc use .oST as suffix for 'object static'
|
||||
instead of .oS, since cygwin has trouble distinguishing .os from .oS
|
||||
(Original patch had .on, but .oST is more mnemonic for 'object static')
|
||||
|
||||
glibc-linuxthreads-2.3.5 also requires a patch, see
|
||||
../glibc-linuxthreads-2.3.5/glibc-linuxthreads-2.3.5-cygwin.patch
|
||||
|
||||
[ forward ported to glibc-2.3.5 by Petr Cvachoucek:
|
||||
|
||||
Message-ID: <4282FCBA.3040000@unicontrols.cz>
|
||||
Date: Thu, 12 May 2005 08:50:34 +0200
|
||||
From: Petr Cvachoucek <cvachoucek@unicontrols.cz>
|
||||
To: Dan Kegel <dank@kegel.com>
|
||||
CC: crossgcc@sources.redhat.com
|
||||
Subject: Patches to build gcc 3.4.3 / glibc 2.3.5 on cygwin
|
||||
|
||||
Hi Dan,
|
||||
following patches are needed to build gcc-3.4.3/glibc-2.3.5 toolchain
|
||||
on cygwin. Tested to build toolchains for powerpc 604 and 750 targets.
|
||||
|
||||
--
|
||||
Petr Cvachoucek
|
||||
Unicontrols a.s.
|
||||
http://www.unicontrols.cz
|
||||
]
|
||||
|
||||
diff -aur glibc-2.3.5/Makeconfig glibc-2.3.5-cygwin/Makeconfig
|
||||
--- glibc-2.3.5/Makeconfig 2005-02-16 11:50:19.000000000 +0100
|
||||
+++ glibc-2.3.5-cygwin/Makeconfig 2005-05-11 08:24:51.046875000 +0200
|
||||
@@ -472,7 +472,7 @@
|
||||
# run the linked programs.
|
||||
link-libc = -Wl,-rpath-link=$(rpath-link) \
|
||||
$(common-objpfx)libc.so$(libc.so-version) \
|
||||
- $(common-objpfx)$(patsubst %,$(libtype.oS),c) $(gnulib)
|
||||
+ $(common-objpfx)$(patsubst %,$(libtype.oST),c) $(gnulib)
|
||||
# This is how to find at build-time things that will be installed there.
|
||||
rpath-dirs = math elf dlfcn nss nis rt resolv crypt
|
||||
endif
|
||||
@@ -693,7 +693,7 @@
|
||||
# The compilation rules use $(CPPFLAGS-${SUFFIX}) and $(CFLAGS-${SUFFIX})
|
||||
# to pass different flags for each flavor.
|
||||
libtypes = $(foreach o,$(object-suffixes-for-libc),$(libtype$o))
|
||||
-all-object-suffixes := .o .os .op .og .ob .oS
|
||||
+all-object-suffixes := .o .os .op .og .ob .oST
|
||||
object-suffixes :=
|
||||
CPPFLAGS-.o = $(pic-default)
|
||||
CFLAGS-.o = $(filter %frame-pointer,$(+cflags))
|
||||
@@ -749,14 +749,14 @@
|
||||
|
||||
ifeq (yes,$(build-shared))
|
||||
# Build special library that contains the static-only routines for libc.
|
||||
-object-suffixes-for-libc += .oS
|
||||
+object-suffixes-for-libc += .oST
|
||||
|
||||
# Must build the routines as PIC, though, because they can end up in (users')
|
||||
# shared objects. We don't want to use CFLAGS-os because users may, for
|
||||
# example, make that processor-specific.
|
||||
-CFLAGS-.oS = $(CFLAGS-.o) $(PIC-ccflag)
|
||||
-CPPFLAGS-.oS = $(CPPFLAGS-.o) -DPIC -DLIBC_NONSHARED=1
|
||||
-libtype.oS = lib%_nonshared.a
|
||||
+CFLAGS-.oST = $(CFLAGS-.o) $(PIC-ccflag)
|
||||
+CPPFLAGS-.oST = $(CPPFLAGS-.o) -DPIC -DLIBC_NONSHARED=1
|
||||
+libtype.oST = lib%_nonshared.a
|
||||
endif
|
||||
|
||||
# The assembler can generate debug information too.
|
||||
diff -aur glibc-2.3.5/Makerules glibc-2.3.5-cygwin/Makerules
|
||||
--- glibc-2.3.5/Makerules 2004-12-15 19:52:39.000000000 +0100
|
||||
+++ glibc-2.3.5-cygwin/Makerules 2005-05-11 08:25:33.578125000 +0200
|
||||
@@ -417,7 +417,7 @@
|
||||
# Bounded pointer thunks are only built for *.ob
|
||||
elide-bp-thunks = $(addprefix $(bppfx),$(bp-thunks))
|
||||
|
||||
-elide-routines.oS += $(filter-out $(static-only-routines),\
|
||||
+elide-routines.oST += $(filter-out $(static-only-routines),\
|
||||
$(routines) $(aux) $(sysdep_routines)) \
|
||||
$(elide-bp-thunks)
|
||||
elide-routines.os += $(static-only-routines) $(elide-bp-thunks)
|
||||
@@ -981,7 +981,7 @@
|
||||
install: $(inst_libdir)/libc.so
|
||||
$(inst_libdir)/libc.so: $(common-objpfx)format.lds \
|
||||
$(common-objpfx)libc.so$(libc.so-version) \
|
||||
- $(inst_libdir)/$(patsubst %,$(libtype.oS),\
|
||||
+ $(inst_libdir)/$(patsubst %,$(libtype.oST),\
|
||||
$(libprefix)$(libc-name)) \
|
||||
$(+force)
|
||||
(echo '/* GNU ld script';\
|
||||
@@ -989,7 +989,7 @@
|
||||
echo ' the static library, so try that secondarily. */';\
|
||||
cat $<; \
|
||||
echo 'GROUP ( $(slibdir)/libc.so$(libc.so-version)' \
|
||||
- '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)$(libc-name))'\
|
||||
+ '$(libdir)/$(patsubst %,$(libtype.oST),$(libprefix)$(libc-name))'\
|
||||
' AS_NEEDED (' $(slibdir)/$(rtld-installed-name) ') )' \
|
||||
) > $@.new
|
||||
mv -f $@.new $@
|
||||
diff -aur glibc-2.3.5/extra-lib.mk glibc-2.3.5-cygwin/extra-lib.mk
|
||||
--- glibc-2.3.5/extra-lib.mk 2004-12-02 23:54:47.000000000 +0100
|
||||
+++ glibc-2.3.5-cygwin/extra-lib.mk 2005-05-11 08:27:28.156250000 +0200
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
ifneq (,$($(lib)-static-only-routines))
|
||||
ifneq (,$(filter yesyes%,$(build-shared)$(elf)$($(lib).so-version)))
|
||||
-object-suffixes-$(lib) += $(filter-out $($(lib)-inhibit-o),.oS)
|
||||
+object-suffixes-$(lib) += $(filter-out $($(lib)-inhibit-o),.oST)
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
# Add each flavor of library to the lists of things to build and install.
|
||||
install-lib += $(foreach o,$(object-suffixes-$(lib)),$(lib:lib%=$(libtype$o)))
|
||||
-extra-objs += $(foreach o,$(filter-out .os .oS,$(object-suffixes-$(lib))),\
|
||||
+extra-objs += $(foreach o,$(filter-out .os .oST,$(object-suffixes-$(lib))),\
|
||||
$(patsubst %,%$o,$(filter-out \
|
||||
$($(lib)-shared-only-routines),\
|
||||
$(all-$(lib)-routines))))
|
||||
@@ -57,7 +57,7 @@
|
||||
|
||||
|
||||
# Use o-iterator.mk to generate a rule for each flavor of library.
|
||||
-ifneq (,$(filter-out .os .oS,$(object-suffixes-$(lib))))
|
||||
+ifneq (,$(filter-out .os .oST,$(object-suffixes-$(lib))))
|
||||
define o-iterator-doit
|
||||
$(objpfx)$(patsubst %,$(libtype$o),$(lib:lib%=%)): \
|
||||
$(patsubst %,$(objpfx)%$o,\
|
||||
@@ -65,7 +65,7 @@
|
||||
$(all-$(lib)-routines))); \
|
||||
$$(build-extra-lib)
|
||||
endef
|
||||
-object-suffixes-left = $(filter-out .os .oS,$(object-suffixes-$(lib)))
|
||||
+object-suffixes-left = $(filter-out .os .oST,$(object-suffixes-$(lib)))
|
||||
include $(patsubst %,$(..)o-iterator.mk,$(object-suffixes-left))
|
||||
endif
|
||||
|
||||
@@ -77,9 +77,9 @@
|
||||
$(build-extra-lib)
|
||||
endif
|
||||
|
||||
-ifneq (,$(filter .oS,$(object-suffixes-$(lib))))
|
||||
-$(objpfx)$(patsubst %,$(libtype.oS),$(lib:lib%=%)): \
|
||||
- $(patsubst %,$(objpfx)%.oS,\
|
||||
+ifneq (,$(filter .oST,$(object-suffixes-$(lib))))
|
||||
+$(objpfx)$(patsubst %,$(libtype.oST),$(lib:lib%=%)): \
|
||||
+ $(patsubst %,$(objpfx)%.oST,\
|
||||
$(filter $($(lib)-static-only-routines),\
|
||||
$(all-$(lib)-routines)))
|
||||
$(build-extra-lib)
|
||||
diff -aur glibc-2.3.5/nptl/Makefile glibc-2.3.5-cygwin/nptl/Makefile
|
||||
--- glibc-2.3.5/nptl/Makefile 2005-02-16 09:45:56.000000000 +0100
|
||||
+++ glibc-2.3.5-cygwin/nptl/Makefile 2005-05-11 08:26:01.812500000 +0200
|
||||
@@ -375,7 +375,7 @@
|
||||
|
||||
$(inst_libdir)/libpthread.so: $(common-objpfx)format.lds \
|
||||
$(objpfx)libpthread.so$(libpthread.so-version) \
|
||||
- $(inst_libdir)/$(patsubst %,$(libtype.oS),\
|
||||
+ $(inst_libdir)/$(patsubst %,$(libtype.oST),\
|
||||
$(libprefix)pthread) \
|
||||
$(+force)
|
||||
(echo '/* GNU ld script';\
|
||||
@@ -383,7 +383,7 @@
|
||||
echo ' the static library, so try that secondarily. */';\
|
||||
cat $<; \
|
||||
echo 'GROUP ( $(slibdir)/libpthread.so$(libpthread.so-version)' \
|
||||
- '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)pthread)'\
|
||||
+ '$(libdir)/$(patsubst %,$(libtype.oST),$(libprefix)pthread)'\
|
||||
')' \
|
||||
) > $@.new
|
||||
mv -f $@.new $@
|
||||
diff -aur glibc-2.3.5/sysdeps/sparc/sparc32/sparcv9/Makefile glibc-2.3.5-cygwin/sysdeps/sparc/sparc32/sparcv9/Makefile
|
||||
--- glibc-2.3.5/sysdeps/sparc/sparc32/sparcv9/Makefile 2004-08-16 08:46:14.000000000 +0200
|
||||
+++ glibc-2.3.5-cygwin/sysdeps/sparc/sparc32/sparcv9/Makefile 2005-05-11 08:26:25.937500000 +0200
|
||||
@@ -10,4 +10,4 @@
|
||||
ASFLAGS-.op += -Wa,-Av9a
|
||||
ASFLAGS-.og += -Wa,-Av9a
|
||||
ASFLAGS-.ob += -Wa,-Av9a
|
||||
-ASFLAGS-.oS += -Wa,-Av9a
|
||||
+ASFLAGS-.oST += -Wa,-Av9a
|
||||
|
||||
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
|
@ -1,25 +0,0 @@
|
||||
http://in3www.epfl.ch/~schaffne/glibc-configure-apple-as.patch
|
||||
http://sources.redhat.com/ml/crossgcc/2004-02/msg00151.html
|
||||
|
||||
The following makes it possible to configure glibc-2.3.2 on Mac OS X,
|
||||
where the assembler but doesn't understand the --version flag.
|
||||
|
||||
Fixes the symptom
|
||||
checking whether ld is GNU ld... no
|
||||
checking for /usr/libexec/gcc/darwin/ppc/as... /usr/libexec/gcc/darwin/ppc/as
|
||||
checking version of /usr/libexec/gcc/darwin/ppc/as...
|
||||
<PAUSES HERE AND JUST SITS THERE DOING NOTHING>
|
||||
|
||||
--- glibc-2.3.2/configure~ Wed Feb 26 09:20:48 2003
|
||||
+++ glibc-2.3.2/configure Fri Feb 27 13:12:53 2004
|
||||
@@ -4039,7 +4039,7 @@
|
||||
# Found it, now check the version.
|
||||
echo "$as_me:$LINENO: checking version of $AS" >&5
|
||||
echo $ECHO_N "checking version of $AS... $ECHO_C" >&6
|
||||
- ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
||||
+ ac_prog_version=`$AS -v </dev/null 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
||||
case $ac_prog_version in
|
||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
||||
2.1[3-9]*)
|
||||
|
||||
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
|
@ -1,45 +0,0 @@
|
||||
From dank@kegel.com
|
||||
Wed Jun 15 09:12:43 PDT 2005
|
||||
|
||||
Fixes
|
||||
|
||||
build-glibc/libc.a(nsswitch.o)(.data+0x64): undefined reference to `_nss_files_getaliasent_r'
|
||||
build-glibc/libc.a(nsswitch.o)(.data+0x6c): undefined reference to `_nss_files_endaliasent'
|
||||
... 53 lines deleted ...
|
||||
build-glibc/libc.a(nsswitch.o)(.data+0x21c): undefined reference to `_nss_files_getspnam_r'
|
||||
collect2: ld returned 1 exit status
|
||||
make[2]: *** [/build/gcc-3.4.3-glibc-2.3.5-hdrs-2.6.11.2/i686-unknown-linux-gnu/build-glibc/elf/ldconfig] Error 1
|
||||
|
||||
when building glibc with --enable-static-nss.
|
||||
|
||||
See http://sources.redhat.com/bugzilla/show_bug.cgi?id=631
|
||||
|
||||
--- glibc-2.3.5/Makeconfig.old Wed Jun 15 08:13:12 2005
|
||||
+++ glibc-2.3.5/Makeconfig Wed Jun 15 08:13:14 2005
|
||||
@@ -510,7 +510,7 @@
|
||||
|
||||
# The static libraries.
|
||||
ifeq (yes,$(build-static))
|
||||
-link-libc-static = $(common-objpfx)libc.a $(static-gnulib) $(common-objpfx)libc.a
|
||||
+link-libc-static = $(common-objpfx)libc.a $(static-gnulib) $(otherlibs) $(common-objpfx)libc.a
|
||||
else
|
||||
ifeq (yes,$(build-shared))
|
||||
# We can try to link the programs with lib*_pic.a...
|
||||
--- glibc-2.3.5/elf/Makefile.old Wed Jun 15 07:46:49 2005
|
||||
+++ glibc-2.3.5/elf/Makefile Wed Jun 15 08:14:00 2005
|
||||
@@ -120,6 +120,13 @@
|
||||
install-bin-script = ldd
|
||||
endif
|
||||
|
||||
+ifeq (yes,$(build-static-nss))
|
||||
+nssobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)nss)
|
||||
+resolvobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)resolv)
|
||||
+otherlibs += $(nssobjdir)/libnss_files.a $(resolvobjdir)/libnss_dns.a \
|
||||
+ $(resolvobjdir)/libresolv.a
|
||||
+endif
|
||||
+
|
||||
others = sprof sln
|
||||
install-bin = sprof
|
||||
others-static = sln
|
||||
|
||||
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
|
@ -1,38 +0,0 @@
|
||||
2007-02-15 Khem Raj <kraj@xxxxxxxxxx>
|
||||
|
||||
* sysdeps/unix/sysv/linux/i386/sysdep.h: Re-define __i686.
|
||||
* nptl/sysdeps/pthread/pt-initfini.c: Ditto.
|
||||
|
||||
|
||||
|
||||
Index: glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h
|
||||
===================================================================
|
||||
--- glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h (revision 1469)
|
||||
+++ glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h (working copy)
|
||||
@@ -29,6 +29,10 @@
|
||||
#include <dl-sysdep.h>
|
||||
#include <tls.h>
|
||||
|
||||
+#if defined __i686 && defined __ASSEMBLER__
|
||||
+#undef __i686
|
||||
+#define __i686 __i686
|
||||
+#endif
|
||||
|
||||
/* For Linux we can use the system call table in the header file
|
||||
/usr/include/asm/unistd.h
|
||||
Index: glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c
|
||||
===================================================================
|
||||
--- glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c (revision 1469)
|
||||
+++ glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c (working copy)
|
||||
@@ -45,6 +45,11 @@
|
||||
/* Embed an #include to pull in the alignment and .end directives. */
|
||||
asm ("\n#include \"defs.h\"");
|
||||
|
||||
+asm ("\n#if defined __i686 && defined __ASSEMBLER__");
|
||||
+asm ("\n#undef __i686");
|
||||
+asm ("\n#define __i686 __i686");
|
||||
+asm ("\n#endif");
|
||||
+
|
||||
/* The initial common code ends here. */
|
||||
asm ("\n/*@HEADER_ENDS*/");
|
||||
|
@ -1,18 +0,0 @@
|
||||
(C) 2007 Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
|
||||
License: LGPL v2.1
|
||||
|
||||
Shut off a stupid warning: preffered-stack-boundary must be between 4 ad 12,
|
||||
and 2 is not.
|
||||
|
||||
diff -dur glibc-2.5.orig/sysdeps/i386/Makefile glibc-2.5/sysdeps/i386/Makefile
|
||||
--- glibc-2.5.orig/sysdeps/i386/Makefile 2005-03-06 01:18:16.000000000 +0100
|
||||
+++ glibc-2.5/sysdeps/i386/Makefile 2007-05-27 17:49:37.000000000 +0200
|
||||
@@ -36,7 +36,7 @@
|
||||
ifeq ($(subdir),csu)
|
||||
sysdep-CFLAGS += -mpreferred-stack-boundary=4
|
||||
else
|
||||
-sysdep-CFLAGS += -mpreferred-stack-boundary=2
|
||||
+sysdep-CFLAGS += -mpreferred-stack-boundary=4
|
||||
# Likewise, any function which calls user callbacks
|
||||
uses-callbacks += -mpreferred-stack-boundary=4
|
||||
# Likewise, any stack alignment tests
|
@ -1,26 +0,0 @@
|
||||
2008-06-07 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* sysdeps/unix/sysv/linux/alpha/sys/user.h: Copy page.h definitions
|
||||
from the kernel header to sys/user.h and remove the #include of
|
||||
sys/user.h.
|
||||
|
||||
--- a/sysdeps/unix/sysv/linux/alpha/sys/user.h
|
||||
+++ b/sysdeps/unix/sysv/linux/alpha/sys/user.h
|
||||
@@ -23,7 +23,6 @@
|
||||
only. Don't read too much into it. Don't use it for anything other
|
||||
than gdb/strace unless you know what you are doing. */
|
||||
|
||||
-#include <asm/page.h>
|
||||
#include <asm/reg.h>
|
||||
|
||||
struct user
|
||||
@@ -41,6 +40,9 @@ struct user
|
||||
char u_comm[32]; /* user command name */
|
||||
};
|
||||
|
||||
+#define PAGE_SHIFT 13
|
||||
+#define PAGE_SIZE (1 << PAGE_SHIFT)
|
||||
+#define PAGE_MASK (~(PAGE_SIZE-1))
|
||||
#define NBPG PAGE_SIZE
|
||||
#define UPAGES 1
|
||||
#define HOST_TEXT_START_ADDR (u.start_code)
|
@ -1,18 +0,0 @@
|
||||
Original patch from H.J. Lu, as reported there:
|
||||
http://www.nabble.com/PATCH:-Use-short-for-fnstsw-td14775171.html
|
||||
|
||||
fnstsw stores 16bit into %ax. The upper 16bit of %eax is unchanged.
|
||||
The new assembler (binutils-2.18.50.0.4 and up) will disallow "fnstsw %eax".
|
||||
|
||||
diff -dur glibc-2.6.1.orig/sysdeps/i386/fpu/ftestexcept.c glibc-2.6.1/sysdeps/i386/fpu/ftestexcept.c
|
||||
--- glibc-2.6.1.orig/sysdeps/i386/fpu/ftestexcept.c 2004-03-05 11:14:48.000000000 +0100
|
||||
+++ glibc-2.6.1/sysdeps/i386/fpu/ftestexcept.c 2008-06-24 10:56:14.000000000 +0200
|
||||
@@ -26,7 +26,7 @@
|
||||
int
|
||||
fetestexcept (int excepts)
|
||||
{
|
||||
- int temp;
|
||||
+ short temp;
|
||||
int xtemp = 0;
|
||||
|
||||
/* Get current exceptions. */
|
@ -1,194 +0,0 @@
|
||||
since the kernel no longer provides asm/elf.h, the sys/procfs.h from the
|
||||
common code, alpha, and sh fail when used. this should things up.
|
||||
-mike
|
||||
|
||||
2008-06-07 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* sysdeps/unix/sysv/linux/sys/procfs.h: Replace with #error stub.
|
||||
* sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Copy some asm/elf.h
|
||||
definitions from the kernel header to sys/procfs.h and remove the
|
||||
#include of asm/elf.h.
|
||||
* sysdeps/unix/sysv/linux/sh/sys/procfs.h: Likewise.
|
||||
|
||||
*Attachment: signature.asc <msg00012/signature.asc>*
|
||||
/Description:/ This is a digitally signed message part.
|
||||
|
||||
2008-06-07 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* sysdeps/unix/sysv/linux/sys/procfs.h: Replace with #error stub.
|
||||
* sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Copy some asm/elf.h
|
||||
definitions from the kernel header to sys/procfs.h and remove the
|
||||
#include of asm/elf.h.
|
||||
* sysdeps/unix/sysv/linux/sh/sys/procfs.h: Likewise.
|
||||
|
||||
--- a/sysdeps/unix/sysv/linux/alpha/sys/procfs.h
|
||||
+++ b/sysdeps/unix/sysv/linux/alpha/sys/procfs.h
|
||||
@@ -29,10 +29,23 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/ucontext.h>
|
||||
#include <sys/user.h>
|
||||
-#include <asm/elf.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
+/*
|
||||
+ * The OSF/1 version of <sys/procfs.h> makes gregset_t 46 entries long.
|
||||
+ * I have no idea why that is so. For now, we just leave it at 33
|
||||
+ * (32 general regs + processor status word).
|
||||
+ */
|
||||
+#define ELF_NGREG 33
|
||||
+#define ELF_NFPREG 32
|
||||
+
|
||||
+typedef unsigned long elf_greg_t;
|
||||
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
|
||||
+
|
||||
+typedef double elf_fpreg_t;
|
||||
+typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
|
||||
+
|
||||
struct elf_siginfo
|
||||
{
|
||||
int si_signo; /* Signal number. */
|
||||
--- a/sysdeps/unix/sysv/linux/sh/sys/procfs.h
|
||||
+++ b/sysdeps/unix/sysv/linux/sh/sys/procfs.h
|
||||
@@ -29,10 +29,19 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/ucontext.h>
|
||||
#include <sys/user.h>
|
||||
-#include <asm/elf.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
+/*
|
||||
+ * ELF register definitions...
|
||||
+ */
|
||||
+typedef unsigned long elf_greg_t;
|
||||
+
|
||||
+#define ELF_NGREG (sizeof (struct pt_regs) / sizeof(elf_greg_t))
|
||||
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
|
||||
+
|
||||
+typedef struct user_fpu_struct elf_fpregset_t;
|
||||
+
|
||||
struct elf_siginfo
|
||||
{
|
||||
int si_signo; /* Signal number. */
|
||||
--- a/sysdeps/unix/sysv/linux/sys/procfs.h
|
||||
+++ b/sysdeps/unix/sysv/linux/sys/procfs.h
|
||||
@@ -1,115 +1,2 @@
|
||||
-/* Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc.
|
||||
- This file is part of the GNU C Library.
|
||||
-
|
||||
- The GNU C Library is free software; you can redistribute it and/or
|
||||
- modify it under the terms of the GNU Lesser General Public
|
||||
- License as published by the Free Software Foundation; either
|
||||
- version 2.1 of the License, or (at your option) any later version.
|
||||
-
|
||||
- The GNU C Library is distributed in the hope that it will be useful,
|
||||
- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
- Lesser General Public License for more details.
|
||||
-
|
||||
- You should have received a copy of the GNU Lesser General Public
|
||||
- License along with the GNU C Library; if not, write to the Free
|
||||
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
- 02111-1307 USA. */
|
||||
-
|
||||
-#ifndef _SYS_PROCFS_H
|
||||
-#define _SYS_PROCFS_H 1
|
||||
-
|
||||
-/* This is somehow modelled after the file of the same name on SysVr4
|
||||
- systems. It provides a definition of the core file format for ELF
|
||||
- used on Linux. */
|
||||
-
|
||||
-#include <features.h>
|
||||
-#include <signal.h>
|
||||
-#include <sys/time.h>
|
||||
-#include <sys/types.h>
|
||||
-#include <sys/ucontext.h>
|
||||
-#include <sys/user.h>
|
||||
-#include <asm/elf.h>
|
||||
-
|
||||
-__BEGIN_DECLS
|
||||
-
|
||||
-struct elf_siginfo
|
||||
- {
|
||||
- int si_signo; /* Signal number. */
|
||||
- int si_code; /* Extra code. */
|
||||
- int si_errno; /* Errno. */
|
||||
- };
|
||||
-
|
||||
-/* Definitions to generate Intel SVR4-like core files. These mostly
|
||||
- have the same names as the SVR4 types with "elf_" tacked on the
|
||||
- front to prevent clashes with linux definitions, and the typedef
|
||||
- forms have been avoided. This is mostly like the SVR4 structure,
|
||||
- but more Linuxy, with things that Linux does not support and which
|
||||
- gdb doesn't really use excluded. Fields present but not used are
|
||||
- marked with "XXX". */
|
||||
-struct elf_prstatus
|
||||
- {
|
||||
-#if 0
|
||||
- long int pr_flags; /* XXX Process flags. */
|
||||
- short int pr_why; /* XXX Reason for process halt. */
|
||||
- short int pr_what; /* XXX More detailed reason. */
|
||||
-#endif
|
||||
- struct elf_siginfo pr_info; /* Info associated with signal. */
|
||||
- short int pr_cursig; /* Current signal. */
|
||||
- unsigned long int pr_sigpend; /* Set of pending signals. */
|
||||
- unsigned long int pr_sighold; /* Set of held signals. */
|
||||
-#if 0
|
||||
- struct sigaltstack pr_altstack; /* Alternate stack info. */
|
||||
- struct sigaction pr_action; /* Signal action for current sig. */
|
||||
-#endif
|
||||
- __pid_t pr_pid;
|
||||
- __pid_t pr_ppid;
|
||||
- __pid_t pr_pgrp;
|
||||
- __pid_t pr_sid;
|
||||
- struct timeval pr_utime; /* User time. */
|
||||
- struct timeval pr_stime; /* System time. */
|
||||
- struct timeval pr_cutime; /* Cumulative user time. */
|
||||
- struct timeval pr_cstime; /* Cumulative system time. */
|
||||
-#if 0
|
||||
- long int pr_instr; /* Current instruction. */
|
||||
-#endif
|
||||
- elf_gregset_t pr_reg; /* GP registers. */
|
||||
- int pr_fpvalid; /* True if math copro being used. */
|
||||
- };
|
||||
-
|
||||
-
|
||||
-#define ELF_PRARGSZ (80) /* Number of chars for args */
|
||||
-
|
||||
-struct elf_prpsinfo
|
||||
- {
|
||||
- char pr_state; /* Numeric process state. */
|
||||
- char pr_sname; /* Char for pr_state. */
|
||||
- char pr_zomb; /* Zombie. */
|
||||
- char pr_nice; /* Nice val. */
|
||||
- unsigned long int pr_flag; /* Flags. */
|
||||
- unsigned short int pr_uid;
|
||||
- unsigned short int pr_gid;
|
||||
- int pr_pid, pr_ppid, pr_pgrp, pr_sid;
|
||||
- /* Lots missing */
|
||||
- char pr_fname[16]; /* Filename of executable. */
|
||||
- char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */
|
||||
- };
|
||||
-
|
||||
-/* Addresses. */
|
||||
-typedef void *psaddr_t;
|
||||
-
|
||||
-/* Register sets. Linux has different names. */
|
||||
-typedef gregset_t prgregset_t;
|
||||
-typedef fpregset_t prfpregset_t;
|
||||
-
|
||||
-/* We don't have any differences between processes and threads,
|
||||
- therefore habe only ine PID type. */
|
||||
-typedef __pid_t lwpid_t;
|
||||
-
|
||||
-
|
||||
-typedef struct elf_prstatus prstatus_t;
|
||||
-typedef struct elf_prpsinfo prpsinfo_t;
|
||||
-
|
||||
-__END_DECLS
|
||||
-
|
||||
-#endif /* sys/procfs.h */
|
||||
+/* sys/procfs.h is architecture specific. */
|
||||
+#error "This file must be supplied by every Linux architecture."
|
||||
|
@ -1,50 +0,0 @@
|
||||
Patch pointed to by Ryan ARNOLD on the libc-help ML.
|
||||
See: http://sourceware.org/ml/libc-help/2008-06/msg00063.html
|
||||
|
||||
Forwarded to crosstool-NG by Ioannis E. VENETIS:
|
||||
See: http://sourceware.org/ml/libc-help/2008-06/msg00063.html
|
||||
|
||||
GCC 4.3 changed the location of some of the header files. I don't
|
||||
understand why you'd be getting these errors while building GCC since
|
||||
it provides them.
|
||||
|
||||
With regard to GLIBC, Roland checked in some changes so that the GLIBC
|
||||
build system could find the new locations of the GCC provided header
|
||||
files.
|
||||
|
||||
diff -durN glibc-2.6.orig/configure.in glibc-2.6/configure.in
|
||||
--- glibc-2.6.orig/configure.in 2007-06-08 05:16:36.000000000 +0200
|
||||
+++ glibc-2.6/configure.in 2008-06-24 18:38:46.000000000 +0200
|
||||
@@ -911,8 +911,12 @@
|
||||
# header directory and add that to the list. NOTE: Only does the right
|
||||
# thing on a system that doesn't need fixincludes. (Not presently a problem.)
|
||||
if test -n "$sysheaders"; then
|
||||
- ccheaders=`$CC -print-file-name=include`
|
||||
- SYSINCLUDES="-nostdinc -isystem $ccheaders \
|
||||
+ SYSINCLUDES=-nostdinc
|
||||
+ for d in include include-fixed; do
|
||||
+ i=`$CC -print-file-name="$d"` && test "x$i" != x && test "x$i" != "x$d" &&
|
||||
+ SYSINCLUDES="$SYSINCLUDES -isystem $i"
|
||||
+ done
|
||||
+ SYSINCLUDES="$SYSINCLUDES \
|
||||
-isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
|
||||
if test -n "$CXX"; then
|
||||
cxxversion=`$CXX -dumpversion 2>&AS_MESSAGE_LOG_FD` &&
|
||||
diff -durN glibc-2.6.orig/configure glibc-2.6/configure
|
||||
--- glibc-2.6.orig/configure 2008-06-24 18:35:34.000000000 +0200
|
||||
+++ glibc-2.6/configure 2008-06-24 18:38:46.000000000 +0200
|
||||
@@ -4562,8 +4562,12 @@
|
||||
# header directory and add that to the list. NOTE: Only does the right
|
||||
# thing on a system that doesn't need fixincludes. (Not presently a problem.)
|
||||
if test -n "$sysheaders"; then
|
||||
- ccheaders=`$CC -print-file-name=include`
|
||||
- SYSINCLUDES="-nostdinc -isystem $ccheaders \
|
||||
+ SYSINCLUDES=-nostdinc
|
||||
+ for d in include include-fixed; do
|
||||
+ i=`$CC -print-file-name="$d"` && test "x$i" != "x$d" &&
|
||||
+ SYSINCLUDES="$SYSINCLUDES -isystem $i"
|
||||
+ done
|
||||
+ SYSINCLUDES="$SYSINCLUDES \
|
||||
-isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
|
||||
if test -n "$CXX"; then
|
||||
cxxversion=`$CXX -dumpversion 2>&5` &&
|
@ -1,11 +0,0 @@
|
||||
--- glibc-2.6/sysdeps/unix/sysv/linux/kernel-features.h 2006-07-29 07:43:27.000000000 +0300
|
||||
+++ glibc-2.6/sysdeps/unix/sysv/linux/kernel-features.h.new 2008-07-26 08:45:06.000000000 +0300
|
||||
@@ -445,7 +445,7 @@
|
||||
/* The *at syscalls were introduced just after 2.6.16-rc1. Due to the way the
|
||||
kernel versions are advertised we can only rely on 2.6.17 to have
|
||||
the code. */
|
||||
-#if __LINUX_KERNEL_VERSION >= 0x020611
|
||||
+#if __LINUX_KERNEL_VERSION >= 0x020611 && !defined __alpha__
|
||||
# define __ASSUME_ATFCTS 1
|
||||
#endif
|
||||
|
@ -1,103 +0,0 @@
|
||||
--- glibc-2.6.orig/sysdeps/unix/alpha/sysdep.h
|
||||
+++ glibc-2.6/sysdeps/unix/alpha/sysdep.h
|
||||
@@ -397,42 +397,4 @@
|
||||
_sc_ret = _sc_0, _sc_err = _sc_19; \
|
||||
}
|
||||
|
||||
-/* Pointer mangling support. Note that tls access is slow enough that
|
||||
- we don't deoptimize things by placing the pointer check value there. */
|
||||
-
|
||||
-#include <stdint.h>
|
||||
-
|
||||
-#if defined NOT_IN_libc && defined IS_IN_rtld
|
||||
-# ifdef __ASSEMBLER__
|
||||
-# define PTR_MANGLE(dst, src, tmp) \
|
||||
- ldah tmp, __pointer_chk_guard_local($29) !gprelhigh; \
|
||||
- ldq tmp, __pointer_chk_guard_local(tmp) !gprellow; \
|
||||
- xor src, tmp, dst
|
||||
-# define PTR_MANGLE2(dst, src, tmp) \
|
||||
- xor src, tmp, dst
|
||||
-# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp)
|
||||
-# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp)
|
||||
-# else
|
||||
-extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden;
|
||||
-# define PTR_MANGLE(var) \
|
||||
- (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local)
|
||||
-# define PTR_DEMANGLE(var) PTR_MANGLE(var)
|
||||
-# endif
|
||||
-#elif defined PIC
|
||||
-# ifdef __ASSEMBLER__
|
||||
-# define PTR_MANGLE(dst, src, tmp) \
|
||||
- ldq tmp, __pointer_chk_guard; \
|
||||
- xor src, tmp, dst
|
||||
-# define PTR_MANGLE2(dst, src, tmp) \
|
||||
- xor src, tmp, dst
|
||||
-# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp)
|
||||
-# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp)
|
||||
-# else
|
||||
-extern uintptr_t __pointer_chk_guard attribute_relro;
|
||||
-# define PTR_MANGLE(var) \
|
||||
- (var) = (void *) ((uintptr_t) (var) ^ __pointer_chk_guard)
|
||||
-# define PTR_DEMANGLE(var) PTR_MANGLE(var)
|
||||
-# endif
|
||||
-#endif
|
||||
-
|
||||
#endif /* ASSEMBLER */
|
||||
--- glibc-2.6.orig/sysdeps/unix/sysv/linux/alpha/sysdep.h
|
||||
+++ glibc-2.6/sysdeps/unix/sysv/linux/alpha/sysdep.h
|
||||
@@ -29,6 +29,8 @@
|
||||
/* There is some commonality. */
|
||||
#include <sysdeps/unix/alpha/sysdep.h>
|
||||
|
||||
+#include <tls.h>
|
||||
+
|
||||
/* For Linux we can use the system call table in the header file
|
||||
/usr/include/asm/unistd.h
|
||||
of the kernel. But these symbols do not follow the SYS_* syntax
|
||||
@@ -96,4 +96,46 @@
|
||||
INTERNAL_SYSCALL1(name, err_out, nr, args); \
|
||||
})
|
||||
|
||||
+/* Pointer mangling support. Note that tls access is slow enough that
|
||||
+ we don't deoptimize things by placing the pointer check value there. */
|
||||
+
|
||||
+#if defined NOT_IN_libc && defined IS_IN_rtld
|
||||
+# ifdef __ASSEMBLER__
|
||||
+# define PTR_MANGLE(dst, src, tmp) \
|
||||
+ ldah tmp, __pointer_chk_guard_local($29) !gprelhigh; \
|
||||
+ ldq tmp, __pointer_chk_guard_local(tmp) !gprellow; \
|
||||
+ xor src, tmp, dst
|
||||
+# define PTR_MANGLE2(dst, src, tmp) \
|
||||
+ xor src, tmp, dst
|
||||
+# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp)
|
||||
+# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp)
|
||||
+# else
|
||||
+extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden;
|
||||
+# define PTR_MANGLE(var) \
|
||||
+ (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local)
|
||||
+# define PTR_DEMANGLE(var) PTR_MANGLE(var)
|
||||
+# endif
|
||||
+#elif defined PIC
|
||||
+# ifdef __ASSEMBLER__
|
||||
+# define PTR_MANGLE(dst, src, tmp) \
|
||||
+ ldq tmp, __pointer_chk_guard; \
|
||||
+ xor src, tmp, dst
|
||||
+# define PTR_MANGLE2(dst, src, tmp) \
|
||||
+ xor src, tmp, dst
|
||||
+# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp)
|
||||
+# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp)
|
||||
+# else
|
||||
+extern uintptr_t __pointer_chk_guard attribute_relro;
|
||||
+# define PTR_MANGLE(var) \
|
||||
+ (var) = (void *) ((uintptr_t) (var) ^ __pointer_chk_guard)
|
||||
+# define PTR_DEMANGLE(var) PTR_MANGLE(var)
|
||||
+# endif
|
||||
+#else
|
||||
+/* Pointer mangling is not yet supported for static libc on alpha. */
|
||||
+# ifndef __ASSEMBLER__
|
||||
+# define PTR_MANGLE(var) (void) (var)
|
||||
+# define PTR_DEMANGLE(var) (void) (var)
|
||||
+# endif
|
||||
+#endif
|
||||
+
|
||||
#endif /* _LINUX_ALPHA_SYSDEP_H */
|
@ -1,237 +0,0 @@
|
||||
Patch provided bu Ioannis E. VENETIS
|
||||
|
||||
Using:
|
||||
|
||||
typedef int lll_lock_t;
|
||||
|
||||
creates problems during compilation. Since glibc 2.7 got rid of the 'typedef' and
|
||||
uses directly 'int', we do the same here.
|
||||
|
||||
diff -Naur glibc-2.6/nptl/allocatestack.c glibc-2.6.new/nptl/allocatestack.c
|
||||
--- glibc-2.6/nptl/allocatestack.c 2006-08-23 20:39:47.000000000 +0300
|
||||
+++ glibc-2.6.new/nptl/allocatestack.c 2008-07-27 20:56:19.000000000 +0300
|
||||
@@ -103,7 +103,7 @@
|
||||
static size_t stack_cache_actsize;
|
||||
|
||||
/* Mutex protecting this variable. */
|
||||
-static lll_lock_t stack_cache_lock = LLL_LOCK_INITIALIZER;
|
||||
+static int stack_cache_lock = LLL_LOCK_INITIALIZER;
|
||||
|
||||
/* List of queued stack frames. */
|
||||
static LIST_HEAD (stack_cache);
|
||||
diff -Naur glibc-2.6/nptl/descr.h glibc-2.6.new/nptl/descr.h
|
||||
--- glibc-2.6/nptl/descr.h 2006-09-24 20:10:55.000000000 +0300
|
||||
+++ glibc-2.6.new/nptl/descr.h 2008-07-27 20:54:41.000000000 +0300
|
||||
@@ -304,10 +304,10 @@
|
||||
int parent_cancelhandling;
|
||||
|
||||
/* Lock to synchronize access to the descriptor. */
|
||||
- lll_lock_t lock;
|
||||
+ int lock;
|
||||
|
||||
/* Lock for synchronizing setxid calls. */
|
||||
- lll_lock_t setxid_futex;
|
||||
+ int setxid_futex;
|
||||
|
||||
#if HP_TIMING_AVAIL
|
||||
/* Offset of the CPU clock at start thread start time. */
|
||||
diff -Naur glibc-2.6/nptl/pthread_attr_init.c glibc-2.6.new/nptl/pthread_attr_init.c
|
||||
--- glibc-2.6/nptl/pthread_attr_init.c 2004-03-19 01:56:31.000000000 +0200
|
||||
+++ glibc-2.6.new/nptl/pthread_attr_init.c 2008-07-27 20:55:03.000000000 +0300
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
|
||||
struct pthread_attr *__attr_list;
|
||||
-lll_lock_t __attr_list_lock = LLL_LOCK_INITIALIZER;
|
||||
+int __attr_list_lock = LLL_LOCK_INITIALIZER;
|
||||
|
||||
|
||||
int
|
||||
diff -Naur glibc-2.6/nptl/pthreadP.h glibc-2.6.new/nptl/pthreadP.h
|
||||
--- glibc-2.6/nptl/pthreadP.h 2006-08-23 20:42:52.000000000 +0300
|
||||
+++ glibc-2.6.new/nptl/pthreadP.h 2008-07-27 20:56:40.000000000 +0300
|
||||
@@ -143,7 +143,7 @@
|
||||
|
||||
/* Attribute handling. */
|
||||
extern struct pthread_attr *__attr_list attribute_hidden;
|
||||
-extern lll_lock_t __attr_list_lock attribute_hidden;
|
||||
+extern int __attr_list_lock attribute_hidden;
|
||||
|
||||
/* First available RT signal. */
|
||||
extern int __current_sigrtmin attribute_hidden;
|
||||
diff -Naur glibc-2.6/nptl/semaphoreP.h glibc-2.6.new/nptl/semaphoreP.h
|
||||
--- glibc-2.6/nptl/semaphoreP.h 2006-05-11 20:08:37.000000000 +0300
|
||||
+++ glibc-2.6.new/nptl/semaphoreP.h 2008-07-27 20:55:42.000000000 +0300
|
||||
@@ -48,7 +48,7 @@
|
||||
extern void *__sem_mappings attribute_hidden;
|
||||
|
||||
/* Lock to protect the search tree. */
|
||||
-extern lll_lock_t __sem_mappings_lock attribute_hidden;
|
||||
+extern int __sem_mappings_lock attribute_hidden;
|
||||
|
||||
|
||||
/* Initializer for mountpoint. */
|
||||
diff -Naur glibc-2.6/nptl/sem_open.c glibc-2.6.new/nptl/sem_open.c
|
||||
--- glibc-2.6/nptl/sem_open.c 2006-05-11 20:09:43.000000000 +0300
|
||||
+++ glibc-2.6.new/nptl/sem_open.c 2008-07-27 20:55:22.000000000 +0300
|
||||
@@ -147,7 +147,7 @@
|
||||
void *__sem_mappings attribute_hidden;
|
||||
|
||||
/* Lock to protect the search tree. */
|
||||
-lll_lock_t __sem_mappings_lock attribute_hidden = LLL_LOCK_INITIALIZER;
|
||||
+int __sem_mappings_lock attribute_hidden = LLL_LOCK_INITIALIZER;
|
||||
|
||||
|
||||
/* Search for existing mapping and if possible add the one provided. */
|
||||
diff -Naur glibc-2.6/nptl/pthread_once.c glibc-2.6.new/nptl/pthread_once.c
|
||||
--- glibc-2.6/nptl/pthread_once.c 2002-11-27 00:50:31.000000000 +0200
|
||||
+++ glibc-2.6.new/nptl/pthread_once.c 2008-07-27 20:57:12.000000000 +0300
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
|
||||
|
||||
-static lll_lock_t once_lock = LLL_LOCK_INITIALIZER;
|
||||
+static int once_lock = LLL_LOCK_INITIALIZER;
|
||||
|
||||
|
||||
int
|
||||
diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h
|
||||
--- glibc-2.6/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h 2006-07-29 08:06:07.000000000 +0300
|
||||
+++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h 2008-07-27 20:59:15.000000000 +0300
|
||||
@@ -230,9 +230,6 @@
|
||||
/* Our internal lock implementation is identical to the binary-compatible
|
||||
mutex implementation. */
|
||||
|
||||
-/* Type for lock object. */
|
||||
-typedef int lll_lock_t;
|
||||
-
|
||||
/* Initializers for lock. */
|
||||
#define LLL_LOCK_INITIALIZER (0)
|
||||
#define LLL_LOCK_INITIALIZER_LOCKED (1)
|
||||
diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/fork.c glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/fork.c
|
||||
--- glibc-2.6/nptl/sysdeps/unix/sysv/linux/fork.c 2003-12-21 01:37:13.000000000 +0200
|
||||
+++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/fork.c 2008-07-27 21:00:01.000000000 +0300
|
||||
@@ -183,7 +183,7 @@
|
||||
}
|
||||
|
||||
/* Initialize the fork lock. */
|
||||
- __fork_lock = (lll_lock_t) LLL_LOCK_INITIALIZER;
|
||||
+ __fork_lock = (int) LLL_LOCK_INITIALIZER;
|
||||
}
|
||||
else
|
||||
{
|
||||
diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/fork.h glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/fork.h
|
||||
--- glibc-2.6/nptl/sysdeps/unix/sysv/linux/fork.h 2006-05-15 23:19:43.000000000 +0300
|
||||
+++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/fork.h 2008-07-27 20:58:49.000000000 +0300
|
||||
@@ -26,7 +26,7 @@
|
||||
extern unsigned long int *__fork_generation_pointer attribute_hidden;
|
||||
|
||||
/* Lock to protect allocation and deallocation of fork handlers. */
|
||||
-extern lll_lock_t __fork_lock attribute_hidden;
|
||||
+extern int __fork_lock attribute_hidden;
|
||||
|
||||
/* Elements of the fork handler lists. */
|
||||
struct fork_handler
|
||||
diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h
|
||||
--- glibc-2.6/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h 2006-09-05 17:44:25.000000000 +0300
|
||||
+++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h 2008-07-27 21:00:19.000000000 +0300
|
||||
@@ -436,9 +436,6 @@
|
||||
/* We have a separate internal lock implementation which is not tied
|
||||
to binary compatibility. */
|
||||
|
||||
-/* Type for lock object. */
|
||||
-typedef int lll_lock_t;
|
||||
-
|
||||
/* Initializers for lock. */
|
||||
#define LLL_LOCK_INITIALIZER (0)
|
||||
#define LLL_LOCK_INITIALIZER_LOCKED (1)
|
||||
diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h
|
||||
--- glibc-2.6/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h 2006-07-29 08:06:07.000000000 +0300
|
||||
+++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h 2008-07-27 20:58:16.000000000 +0300
|
||||
@@ -223,9 +223,6 @@
|
||||
/* We have a separate internal lock implementation which is not tied
|
||||
to binary compatibility. We can use the lll_mutex_*. */
|
||||
|
||||
-/* Type for lock object. */
|
||||
-typedef int lll_lock_t;
|
||||
-
|
||||
extern int lll_unlock_wake_cb (int *__futex) attribute_hidden;
|
||||
|
||||
/* Initializers for lock. */
|
||||
diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
|
||||
--- glibc-2.6/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h 2006-07-29 08:06:07.000000000 +0300
|
||||
+++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h 2008-07-27 21:00:36.000000000 +0300
|
||||
@@ -254,9 +254,6 @@
|
||||
/* Our internal lock implementation is identical to the binary-compatible
|
||||
mutex implementation. */
|
||||
|
||||
-/* Type for lock object. */
|
||||
-typedef int lll_lock_t;
|
||||
-
|
||||
/* Initializers for lock. */
|
||||
#define LLL_LOCK_INITIALIZER (0)
|
||||
#define LLL_LOCK_INITIALIZER_LOCKED (1)
|
||||
diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/register-atfork.c glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/register-atfork.c
|
||||
--- glibc-2.6/nptl/sysdeps/unix/sysv/linux/register-atfork.c 2005-12-22 00:17:21.000000000 +0200
|
||||
+++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/register-atfork.c 2008-07-27 21:00:55.000000000 +0300
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
|
||||
/* Lock to protect allocation and deallocation of fork handlers. */
|
||||
-lll_lock_t __fork_lock = LLL_LOCK_INITIALIZER;
|
||||
+int __fork_lock = LLL_LOCK_INITIALIZER;
|
||||
|
||||
|
||||
/* Number of pre-allocated handler entries. */
|
||||
diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h
|
||||
--- glibc-2.6/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h 2006-07-29 08:06:07.000000000 +0300
|
||||
+++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h 2008-07-27 21:01:14.000000000 +0300
|
||||
@@ -309,9 +309,6 @@
|
||||
/* We have a separate internal lock implementation which is not tied
|
||||
to binary compatibility. We can use the lll_mutex_*. */
|
||||
|
||||
-/* Type for lock object. */
|
||||
-typedef int lll_lock_t;
|
||||
-
|
||||
/* Initializers for lock. */
|
||||
#define LLL_LOCK_INITIALIZER (0)
|
||||
#define LLL_LOCK_INITIALIZER_LOCKED (1)
|
||||
diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h
|
||||
--- glibc-2.6/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h 2006-07-29 08:06:06.000000000 +0300
|
||||
+++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h 2008-07-27 20:58:00.000000000 +0300
|
||||
@@ -278,9 +278,6 @@
|
||||
/* We have a separate internal lock implementation which is not tied
|
||||
to binary compatibility. */
|
||||
|
||||
-/* Type for lock object. */
|
||||
-typedef int lll_lock_t;
|
||||
-
|
||||
/* Initializers for lock. */
|
||||
#define LLL_LOCK_INITIALIZER (0)
|
||||
#define LLL_LOCK_INITIALIZER_LOCKED (1)
|
||||
diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h
|
||||
--- glibc-2.6/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h 2006-07-29 08:06:06.000000000 +0300
|
||||
+++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h 2008-07-27 20:59:39.000000000 +0300
|
||||
@@ -237,9 +237,6 @@
|
||||
/* We have a separate internal lock implementation which is not tied
|
||||
to binary compatibility. We can use the lll_mutex_*. */
|
||||
|
||||
-/* Type for lock object. */
|
||||
-typedef int lll_lock_t;
|
||||
-
|
||||
extern int lll_unlock_wake_cb (int *__futex) attribute_hidden;
|
||||
|
||||
/* Initializers for lock. */
|
||||
diff -Naur glibc-2.6/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
|
||||
--- glibc-2.6/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h 2006-09-05 17:45:34.000000000 +0300
|
||||
+++ glibc-2.6.new/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h 2008-07-27 20:58:33.000000000 +0300
|
||||
@@ -446,9 +446,6 @@
|
||||
/* We have a separate internal lock implementation which is not tied
|
||||
to binary compatibility. */
|
||||
|
||||
-/* Type for lock object. */
|
||||
-typedef int lll_lock_t;
|
||||
-
|
||||
/* Initializers for lock. */
|
||||
#define LLL_LOCK_INITIALIZER (0)
|
||||
#define LLL_LOCK_INITIALIZER_LOCKED (1)
|
@ -1,65 +0,0 @@
|
||||
On 20090111.1151+0100, Thomas Jourdan <tjourdan@neuf.fr> wrote:
|
||||
|
||||
I'm still working on the solaris port an I have the same issue here.
|
||||
While trying to build the i686-nptl-linux-gnu toolchain under
|
||||
OpenSolaris, the problems appears during the make install rule of the
|
||||
libc function.
|
||||
|
||||
The problem is that solaris tries to execute ld-linux.so.2, which is an
|
||||
elf 32 bits dyn lib, and it fails with a memory fault, not a "cannot
|
||||
execute binary file". Hence the build stops on this error.
|
||||
|
||||
And on 20090111.1339+0100, he replied with:
|
||||
|
||||
After digging a little, the problem comes from the
|
||||
glibc-2.6.1/posix/Makefile. It has been solved starting from glibc 2.7
|
||||
so I extracted a patch for glibc 2.6.1.
|
||||
|
||||
--- glibc-2.6.1/posix/Makefile 2007-04-04 01:28:20.000000000 +0200
|
||||
+++ glibc-2.7/posix/Makefile 2007-09-12 01:57:22.000000000 +0200
|
||||
@@ -98,7 +98,7 @@
|
||||
endif
|
||||
others := getconf
|
||||
install-bin := getconf
|
||||
-install-others := $(inst_libexecdir)/getconf
|
||||
+install-others-programs := $(inst_libexecdir)/getconf
|
||||
|
||||
before-compile := testcases.h ptestcases.h
|
||||
|
||||
@@ -110,7 +110,7 @@
|
||||
tst-rxspencer-mem tst-rxspencer.mtrace tst-getconf.out \
|
||||
tst-pcre-mem tst-pcre.mtrace tst-boost-mem tst-boost.mtrace \
|
||||
bug-ga2.mtrace bug-ga2-mem bug-glob2.mtrace bug-glob2-mem \
|
||||
- tst-vfork3-mem tst-vfork3.mtrace
|
||||
+ tst-vfork3-mem tst-vfork3.mtrace getconf.speclist
|
||||
|
||||
include ../Rules
|
||||
|
||||
@@ -291,12 +291,20 @@
|
||||
$(objpfx)bug-glob2-mem: $(objpfx)bug-glob2.out
|
||||
$(common-objpfx)malloc/mtrace $(objpfx)bug-glob2.mtrace > $@
|
||||
|
||||
-$(inst_libexecdir)/getconf: $(objpfx)getconf FORCE
|
||||
+$(inst_libexecdir)/getconf: $(inst_bindir)/getconf \
|
||||
+ $(objpfx)getconf.speclist FORCE
|
||||
$(addprefix $(..)./scripts/mkinstalldirs ,\
|
||||
$(filter-out $(wildcard $@),$@))
|
||||
- for spec in `LC_ALL=C GETCONF_DIR=/dev/null \
|
||||
- $(run-program-prefix) $< \
|
||||
- _POSIX_V6_WIDTH_RESTRICTED_ENVS`; do \
|
||||
- $(INSTALL_PROGRAM) $< $@/$$spec.new; \
|
||||
- mv -f $@/$$spec.new $@/$$spec; \
|
||||
- done
|
||||
+ while read spec; do \
|
||||
+ ln -f $< $@/$$spec.new || $(INSTALL_PROGRAM) $< $@/$$spec.new; \
|
||||
+ mv -f $@/$$spec.new $@/$$spec; \
|
||||
+ done < $(objpfx)getconf.speclist
|
||||
+
|
||||
+$(objpfx)getconf.speclist: $(objpfx)getconf
|
||||
+ifeq (no,$(cross-compiling))
|
||||
+ LC_ALL=C GETCONF_DIR=/dev/null \
|
||||
+ $(run-program-prefix) $< _POSIX_V6_WIDTH_RESTRICTED_ENVS > $@.new
|
||||
+else
|
||||
+ > $@.new
|
||||
+endif
|
||||
+ mv -f $@.new $@
|
@ -1,185 +0,0 @@
|
||||
Fixes
|
||||
elf/librtld.os: In function `process_envvars': : undefined reference to `__access'
|
||||
...
|
||||
when building glibc-2.3.x on cygwin
|
||||
|
||||
Idea from
|
||||
http://sources.redhat.com/ml/bug-glibc/2002-01/msg00071/glibc-2.2-cygin-shared.patch
|
||||
Basically, make glibc use .oST as suffix for 'object static'
|
||||
instead of .oS, since cygwin has trouble distinguishing .os from .oS
|
||||
(Original patch had .on, but .oST is more mnemonic for 'object static')
|
||||
|
||||
glibc-linuxthreads-2.3.5 also requires a patch, see
|
||||
../glibc-linuxthreads-2.3.5/glibc-linuxthreads-2.3.5-cygwin.patch
|
||||
|
||||
[ forward ported to glibc-2.3.5 by Petr Cvachoucek:
|
||||
|
||||
Message-ID: <4282FCBA.3040000@unicontrols.cz>
|
||||
Date: Thu, 12 May 2005 08:50:34 +0200
|
||||
From: Petr Cvachoucek <cvachoucek@unicontrols.cz>
|
||||
To: Dan Kegel <dank@kegel.com>
|
||||
CC: crossgcc@sources.redhat.com
|
||||
Subject: Patches to build gcc 3.4.3 / glibc 2.3.5 on cygwin
|
||||
|
||||
Hi Dan,
|
||||
following patches are needed to build gcc-3.4.3/glibc-2.3.5 toolchain
|
||||
on cygwin. Tested to build toolchains for powerpc 604 and 750 targets.
|
||||
|
||||
--
|
||||
Petr Cvachoucek
|
||||
Unicontrols a.s.
|
||||
http://www.unicontrols.cz
|
||||
]
|
||||
|
||||
diff -aur glibc-2.3.5/Makeconfig glibc-2.3.5-cygwin/Makeconfig
|
||||
--- glibc-2.3.5/Makeconfig 2005-02-16 11:50:19.000000000 +0100
|
||||
+++ glibc-2.3.5-cygwin/Makeconfig 2005-05-11 08:24:51.046875000 +0200
|
||||
@@ -470,7 +470,7 @@
|
||||
# run the linked programs.
|
||||
link-libc = -Wl,-rpath-link=$(rpath-link) \
|
||||
$(common-objpfx)libc.so$(libc.so-version) \
|
||||
- $(common-objpfx)$(patsubst %,$(libtype.oS),c) $(gnulib)
|
||||
+ $(common-objpfx)$(patsubst %,$(libtype.oST),c) $(gnulib)
|
||||
# This is how to find at build-time things that will be installed there.
|
||||
rpath-dirs = math elf dlfcn nss nis rt resolv crypt
|
||||
endif
|
||||
@@ -691,7 +691,7 @@
|
||||
# The compilation rules use $(CPPFLAGS-${SUFFIX}) and $(CFLAGS-${SUFFIX})
|
||||
# to pass different flags for each flavor.
|
||||
libtypes = $(foreach o,$(object-suffixes-for-libc),$(libtype$o))
|
||||
-all-object-suffixes := .o .os .op .og .ob .oS
|
||||
+all-object-suffixes := .o .os .op .og .ob .oST
|
||||
object-suffixes :=
|
||||
CPPFLAGS-.o = $(pic-default)
|
||||
CFLAGS-.o = $(filter %frame-pointer,$(+cflags))
|
||||
@@ -747,14 +747,14 @@
|
||||
|
||||
ifeq (yes,$(build-shared))
|
||||
# Build special library that contains the static-only routines for libc.
|
||||
-object-suffixes-for-libc += .oS
|
||||
+object-suffixes-for-libc += .oST
|
||||
|
||||
# Must build the routines as PIC, though, because they can end up in (users')
|
||||
# shared objects. We don't want to use CFLAGS-os because users may, for
|
||||
# example, make that processor-specific.
|
||||
-CFLAGS-.oS = $(CFLAGS-.o) $(PIC-ccflag)
|
||||
-CPPFLAGS-.oS = $(CPPFLAGS-.o) -DPIC -DLIBC_NONSHARED=1
|
||||
-libtype.oS = lib%_nonshared.a
|
||||
+CFLAGS-.oST = $(CFLAGS-.o) $(PIC-ccflag)
|
||||
+CPPFLAGS-.oST = $(CPPFLAGS-.o) -DPIC -DLIBC_NONSHARED=1
|
||||
+libtype.oST = lib%_nonshared.a
|
||||
endif
|
||||
|
||||
# The assembler can generate debug information too.
|
||||
diff -aur glibc-2.3.5/Makerules glibc-2.3.5-cygwin/Makerules
|
||||
--- glibc-2.3.5/Makerules 2004-12-15 19:52:39.000000000 +0100
|
||||
+++ glibc-2.3.5-cygwin/Makerules 2005-05-11 08:25:33.578125000 +0200
|
||||
@@ -417,7 +417,7 @@
|
||||
# Bounded pointer thunks are only built for *.ob
|
||||
elide-bp-thunks = $(addprefix $(bppfx),$(bp-thunks))
|
||||
|
||||
-elide-routines.oS += $(filter-out $(static-only-routines),\
|
||||
+elide-routines.oST += $(filter-out $(static-only-routines),\
|
||||
$(routines) $(aux) $(sysdep_routines)) \
|
||||
$(elide-bp-thunks)
|
||||
elide-routines.os += $(static-only-routines) $(elide-bp-thunks)
|
||||
@@ -984,7 +984,7 @@
|
||||
install: $(inst_libdir)/libc.so
|
||||
$(inst_libdir)/libc.so: $(common-objpfx)format.lds \
|
||||
$(common-objpfx)libc.so$(libc.so-version) \
|
||||
- $(inst_libdir)/$(patsubst %,$(libtype.oS),\
|
||||
+ $(inst_libdir)/$(patsubst %,$(libtype.oST),\
|
||||
$(libprefix)$(libc-name)) \
|
||||
$(+force)
|
||||
(echo '/* GNU ld script';\
|
||||
@@ -992,7 +992,7 @@
|
||||
echo ' the static library, so try that secondarily. */';\
|
||||
cat $<; \
|
||||
echo 'GROUP ( $(slibdir)/libc.so$(libc.so-version)' \
|
||||
- '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)$(libc-name))'\
|
||||
+ '$(libdir)/$(patsubst %,$(libtype.oST),$(libprefix)$(libc-name))'\
|
||||
' AS_NEEDED (' $(slibdir)/$(rtld-installed-name) ') )' \
|
||||
) > $@.new
|
||||
mv -f $@.new $@
|
||||
diff -aur glibc-2.3.5/extra-lib.mk glibc-2.3.5-cygwin/extra-lib.mk
|
||||
--- glibc-2.3.5/extra-lib.mk 2004-12-02 23:54:47.000000000 +0100
|
||||
+++ glibc-2.3.5-cygwin/extra-lib.mk 2005-05-11 08:27:28.156250000 +0200
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
ifneq (,$($(lib)-static-only-routines))
|
||||
ifneq (,$(filter yesyes%,$(build-shared)$(elf)$($(lib).so-version)))
|
||||
-object-suffixes-$(lib) += $(filter-out $($(lib)-inhibit-o),.oS)
|
||||
+object-suffixes-$(lib) += $(filter-out $($(lib)-inhibit-o),.oST)
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
# Add each flavor of library to the lists of things to build and install.
|
||||
install-lib += $(foreach o,$(object-suffixes-$(lib)),$(lib:lib%=$(libtype$o)))
|
||||
-extra-objs += $(foreach o,$(filter-out .os .oS,$(object-suffixes-$(lib))),\
|
||||
+extra-objs += $(foreach o,$(filter-out .os .oST,$(object-suffixes-$(lib))),\
|
||||
$(patsubst %,%$o,$(filter-out \
|
||||
$($(lib)-shared-only-routines),\
|
||||
$(all-$(lib)-routines))))
|
||||
@@ -57,7 +57,7 @@
|
||||
|
||||
|
||||
# Use o-iterator.mk to generate a rule for each flavor of library.
|
||||
-ifneq (,$(filter-out .os .oS,$(object-suffixes-$(lib))))
|
||||
+ifneq (,$(filter-out .os .oST,$(object-suffixes-$(lib))))
|
||||
define o-iterator-doit
|
||||
$(objpfx)$(patsubst %,$(libtype$o),$(lib:lib%=%)): \
|
||||
$(patsubst %,$(objpfx)%$o,\
|
||||
@@ -65,7 +65,7 @@
|
||||
$(all-$(lib)-routines))); \
|
||||
$$(build-extra-lib)
|
||||
endef
|
||||
-object-suffixes-left = $(filter-out .os .oS,$(object-suffixes-$(lib)))
|
||||
+object-suffixes-left = $(filter-out .os .oST,$(object-suffixes-$(lib)))
|
||||
include $(patsubst %,$(..)o-iterator.mk,$(object-suffixes-left))
|
||||
endif
|
||||
|
||||
@@ -77,9 +77,9 @@
|
||||
$(build-extra-lib)
|
||||
endif
|
||||
|
||||
-ifneq (,$(filter .oS,$(object-suffixes-$(lib))))
|
||||
-$(objpfx)$(patsubst %,$(libtype.oS),$(lib:lib%=%)): \
|
||||
- $(patsubst %,$(objpfx)%.oS,\
|
||||
+ifneq (,$(filter .oST,$(object-suffixes-$(lib))))
|
||||
+$(objpfx)$(patsubst %,$(libtype.oST),$(lib:lib%=%)): \
|
||||
+ $(patsubst %,$(objpfx)%.oST,\
|
||||
$(filter $($(lib)-static-only-routines),\
|
||||
$(all-$(lib)-routines)))
|
||||
$(build-extra-lib)
|
||||
diff -aur glibc-2.3.5/nptl/Makefile glibc-2.3.5-cygwin/nptl/Makefile
|
||||
--- glibc-2.3.5/nptl/Makefile 2005-02-16 09:45:56.000000000 +0100
|
||||
+++ glibc-2.3.5-cygwin/nptl/Makefile 2005-05-11 08:26:01.812500000 +0200
|
||||
@@ -375,7 +375,7 @@
|
||||
|
||||
$(inst_libdir)/libpthread.so: $(common-objpfx)format.lds \
|
||||
$(objpfx)libpthread.so$(libpthread.so-version) \
|
||||
- $(inst_libdir)/$(patsubst %,$(libtype.oS),\
|
||||
+ $(inst_libdir)/$(patsubst %,$(libtype.oST),\
|
||||
$(libprefix)pthread) \
|
||||
$(+force)
|
||||
(echo '/* GNU ld script';\
|
||||
@@ -383,7 +383,7 @@
|
||||
echo ' the static library, so try that secondarily. */';\
|
||||
cat $<; \
|
||||
echo 'GROUP ( $(slibdir)/libpthread.so$(libpthread.so-version)' \
|
||||
- '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)pthread)'\
|
||||
+ '$(libdir)/$(patsubst %,$(libtype.oST),$(libprefix)pthread)'\
|
||||
')' \
|
||||
) > $@.new
|
||||
mv -f $@.new $@
|
||||
diff -aur glibc-2.3.5/sysdeps/sparc/sparc32/sparcv9/Makefile glibc-2.3.5-cygwin/sysdeps/sparc/sparc32/sparcv9/Makefile
|
||||
--- glibc-2.3.5/sysdeps/sparc/sparc32/sparcv9/Makefile 2004-08-16 08:46:14.000000000 +0200
|
||||
+++ glibc-2.3.5-cygwin/sysdeps/sparc/sparc32/sparcv9/Makefile 2005-05-11 08:26:25.937500000 +0200
|
||||
@@ -10,4 +10,4 @@
|
||||
ASFLAGS-.op += -Wa,-Av9a
|
||||
ASFLAGS-.og += -Wa,-Av9a
|
||||
ASFLAGS-.ob += -Wa,-Av9a
|
||||
-ASFLAGS-.oS += -Wa,-Av9a
|
||||
+ASFLAGS-.oST += -Wa,-Av9a
|
@ -1,26 +0,0 @@
|
||||
http://in3www.epfl.ch/~schaffne/glibc-configure-apple-as.patch
|
||||
http://sources.redhat.com/ml/crossgcc/2004-02/msg00151.html
|
||||
|
||||
The following makes it possible to configure glibc-2.3.2 on Mac OS X,
|
||||
where the assembler but doesn't understand the --version flag.
|
||||
|
||||
Fixes the symptom
|
||||
checking whether ld is GNU ld... no
|
||||
checking for /usr/libexec/gcc/darwin/ppc/as... /usr/libexec/gcc/darwin/ppc/as
|
||||
checking version of /usr/libexec/gcc/darwin/ppc/as...
|
||||
<PAUSES HERE AND JUST SITS THERE DOING NOTHING>
|
||||
|
||||
NOTE: This patch should apparently be pushed upstream so we don't need to
|
||||
keep adding it here.
|
||||
|
||||
--- glibc-2.3.2/configure~ Wed Feb 26 09:20:48 2003
|
||||
+++ glibc-2.3.2/configure Fri Feb 27 13:12:53 2004
|
||||
@@ -4524,7 +4524,7 @@
|
||||
# Found it, now check the version.
|
||||
{ echo "$as_me:$LINENO: checking version of $AS" >&5
|
||||
echo $ECHO_N "checking version of $AS... $ECHO_C" >&6; }
|
||||
- ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
||||
+ ac_prog_version=`$AS -v </dev/null 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
||||
case $ac_prog_version in
|
||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
||||
2.1[3-9]*)
|
@ -1,43 +0,0 @@
|
||||
From dank@kegel.com
|
||||
Wed Jun 15 09:12:43 PDT 2005
|
||||
|
||||
Fixes
|
||||
|
||||
build-glibc/libc.a(nsswitch.o)(.data+0x64): undefined reference to `_nss_files_getaliasent_r'
|
||||
build-glibc/libc.a(nsswitch.o)(.data+0x6c): undefined reference to `_nss_files_endaliasent'
|
||||
... 53 lines deleted ...
|
||||
build-glibc/libc.a(nsswitch.o)(.data+0x21c): undefined reference to `_nss_files_getspnam_r'
|
||||
collect2: ld returned 1 exit status
|
||||
make[2]: *** [/build/gcc-3.4.3-glibc-2.3.5-hdrs-2.6.11.2/i686-unknown-linux-gnu/build-glibc/elf/ldconfig] Error 1
|
||||
|
||||
when building glibc with --enable-static-nss.
|
||||
|
||||
See http://sources.redhat.com/bugzilla/show_bug.cgi?id=631
|
||||
|
||||
--- glibc-2.3.5/Makeconfig.old Wed Jun 15 08:13:12 2005
|
||||
+++ glibc-2.3.5/Makeconfig Wed Jun 15 08:13:14 2005
|
||||
@@ -508,7 +508,7 @@
|
||||
|
||||
# The static libraries.
|
||||
ifeq (yes,$(build-static))
|
||||
-link-libc-static = $(common-objpfx)libc.a $(static-gnulib) $(common-objpfx)libc.a
|
||||
+link-libc-static = $(common-objpfx)libc.a $(static-gnulib) $(otherlibs) $(common-objpfx)libc.a
|
||||
else
|
||||
ifeq (yes,$(build-shared))
|
||||
# We can try to link the programs with lib*_pic.a...
|
||||
--- glibc-2.3.5/elf/Makefile.old Wed Jun 15 07:46:49 2005
|
||||
+++ glibc-2.3.5/elf/Makefile Wed Jun 15 08:14:00 2005
|
||||
@@ -120,6 +120,13 @@
|
||||
install-bin-script = ldd
|
||||
endif
|
||||
|
||||
+ifeq (yes,$(build-static-nss))
|
||||
+nssobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)nss)
|
||||
+resolvobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)resolv)
|
||||
+otherlibs += $(nssobjdir)/libnss_files.a $(resolvobjdir)/libnss_dns.a \
|
||||
+ $(resolvobjdir)/libresolv.a
|
||||
+endif
|
||||
+
|
||||
others = sprof sln
|
||||
install-bin = sprof
|
||||
others-static = sln
|
@ -1,43 +0,0 @@
|
||||
If gcc is configured to generate i686 code or better by default (like
|
||||
when using the --with-arch=pentium3 configure option), then the __i686
|
||||
macro will always be defined automatically and thus screw up the
|
||||
compilation of some .S files.
|
||||
|
||||
http://bugs.gentoo.org/131108
|
||||
http://sourceware.org/ml/libc-alpha/2006-04/msg00090.html
|
||||
|
||||
2006-04-25 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* sysdeps/i386/sysdep.h (__i686): Undefine.
|
||||
|
||||
Index: glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h
|
||||
===================================================================
|
||||
--- glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h (revision 1469)
|
||||
+++ glibc-2.4/sysdeps/unix/sysv/linux/i386/sysdep.h (working copy)
|
||||
@@ -29,6 +29,10 @@
|
||||
#include <dl-sysdep.h>
|
||||
#include <tls.h>
|
||||
|
||||
+#if defined __i686 && defined __ASSEMBLER__
|
||||
+#undef __i686
|
||||
+#define __i686 __i686
|
||||
+#endif
|
||||
|
||||
/* For Linux we can use the system call table in the header file
|
||||
/usr/include/asm/unistd.h
|
||||
Index: glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c
|
||||
===================================================================
|
||||
--- glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c (revision 1469)
|
||||
+++ glibc-2.4/nptl/sysdeps/pthread/pt-initfini.c (working copy)
|
||||
@@ -45,6 +45,11 @@
|
||||
/* Embed an #include to pull in the alignment and .end directives. */
|
||||
asm ("\n#include \"defs.h\"");
|
||||
|
||||
+asm ("\n#if defined __i686 && defined __ASSEMBLER__");
|
||||
+asm ("\n#undef __i686");
|
||||
+asm ("\n#define __i686 __i686");
|
||||
+asm ("\n#endif");
|
||||
+
|
||||
/* The initial common code ends here. */
|
||||
asm ("\n/*@HEADER_ENDS*/");
|
||||
|
@ -1,18 +0,0 @@
|
||||
(C) 2007 Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
|
||||
License: LGPL v2.1
|
||||
|
||||
Shut off a stupid warning: preffered-stack-boundary must be between 4 ad 12,
|
||||
and 2 is not.
|
||||
|
||||
diff -dur glibc-2.5.orig/sysdeps/i386/Makefile glibc-2.5/sysdeps/i386/Makefile
|
||||
--- glibc-2.5.orig/sysdeps/i386/Makefile 2005-03-06 01:18:16.000000000 +0100
|
||||
+++ glibc-2.5/sysdeps/i386/Makefile 2007-05-27 17:49:37.000000000 +0200
|
||||
@@ -36,7 +36,7 @@
|
||||
ifeq ($(subdir),csu)
|
||||
sysdep-CFLAGS += -mpreferred-stack-boundary=4
|
||||
else
|
||||
-sysdep-CFLAGS += -mpreferred-stack-boundary=2
|
||||
+sysdep-CFLAGS += -mpreferred-stack-boundary=4
|
||||
# Likewise, any function which calls user callbacks
|
||||
uses-callbacks += -mpreferred-stack-boundary=4
|
||||
# Likewise, any stack alignment tests
|
@ -1,26 +0,0 @@
|
||||
2008-06-07 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* sysdeps/unix/sysv/linux/alpha/sys/user.h: Copy page.h definitions
|
||||
from the kernel header to sys/user.h and remove the #include of
|
||||
sys/user.h.
|
||||
|
||||
--- a/sysdeps/unix/sysv/linux/alpha/sys/user.h
|
||||
+++ b/sysdeps/unix/sysv/linux/alpha/sys/user.h
|
||||
@@ -23,7 +23,6 @@
|
||||
only. Don't read too much into it. Don't use it for anything other
|
||||
than gdb/strace unless you know what you are doing. */
|
||||
|
||||
-#include <asm/page.h>
|
||||
#include <asm/reg.h>
|
||||
|
||||
struct user
|
||||
@@ -41,6 +40,9 @@ struct user
|
||||
char u_comm[32]; /* user command name */
|
||||
};
|
||||
|
||||
+#define PAGE_SHIFT 13
|
||||
+#define PAGE_SIZE (1 << PAGE_SHIFT)
|
||||
+#define PAGE_MASK (~(PAGE_SIZE-1))
|
||||
#define NBPG PAGE_SIZE
|
||||
#define UPAGES 1
|
||||
#define HOST_TEXT_START_ADDR (u.start_code)
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user