Accepting request 114966 from Base:System
Fix building for PowerPC and GCC 4.7 (forwarded request 114965 from a_jaeger) OBS-URL: https://build.opensuse.org/request/show/114966 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/glibc?expand=0&rev=106
This commit is contained in:
commit
f558e5fc0d
@ -1,3 +1,9 @@
|
|||||||
|
For backward compatibility with armhf binaries built with the
|
||||||
|
old linker SONAME, we need to fake out the linker to believe
|
||||||
|
the new is the old, until such a point as everything is rebuilt.
|
||||||
|
|
||||||
|
Patch for elf/dl-load.c taken from Debian.
|
||||||
|
|
||||||
diff --git a/sysdeps/arm/shlib-versions b/sysdeps/arm/shlib-versions
|
diff --git a/sysdeps/arm/shlib-versions b/sysdeps/arm/shlib-versions
|
||||||
index 491dd0a..5464959 100644
|
index 491dd0a..5464959 100644
|
||||||
--- a/glibc-ports-2.15/sysdeps/arm/shlib-versions
|
--- a/glibc-ports-2.15/sysdeps/arm/shlib-versions
|
||||||
@ -8,3 +14,21 @@ index 491dd0a..5464959 100644
|
|||||||
-arm.*-.*-linux-gnueabi.* ld=ld-linux.so.3
|
-arm.*-.*-linux-gnueabi.* ld=ld-linux.so.3
|
||||||
+arm.*-.*-linux-gnueabi.* ld=ld-linux-armhf.so.3
|
+arm.*-.*-linux-gnueabi.* ld=ld-linux-armhf.so.3
|
||||||
arm.*-.*-linux.* ld=ld-linux.so.2
|
arm.*-.*-linux.* ld=ld-linux.so.2
|
||||||
|
|
||||||
|
--- glibc-2.15/elf/dl-load.c.~1~ 2011-12-30 23:13:56.000000000 +0100
|
||||||
|
+++ glibc-2.15/elf/dl-load.c 2012-04-18 15:05:33.203485389 +0200
|
||||||
|
@@ -2082,10 +2082,13 @@
|
||||||
|
soname = ((const char *) D_PTR (l, l_info[DT_STRTAB])
|
||||||
|
+ l->l_info[DT_SONAME]->d_un.d_val);
|
||||||
|
if (strcmp (name, soname) != 0)
|
||||||
|
+#ifdef __arm__
|
||||||
|
+ if (strcmp(name, "ld-linux.so.3") || strcmp(soname, "ld-linux-armhf.so.3"))
|
||||||
|
+#endif
|
||||||
|
continue;
|
||||||
|
|
||||||
|
/* We have a match on a new name -- cache it. */
|
||||||
|
- add_name_to_object (l, soname);
|
||||||
|
+ add_name_to_object (l, name);
|
||||||
|
l->l_soname_added = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
References: bnc#361697
|
References: bnc#361697
|
||||||
|
|
||||||
Index: sysdeps/posix/getaddrinfo.c
|
Index: glibc-2.15/sysdeps/posix/getaddrinfo.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- sysdeps/posix/getaddrinfo.c.orig
|
--- glibc-2.15.orig/sysdeps/posix/getaddrinfo.c
|
||||||
+++ sysdeps/posix/getaddrinfo.c
|
+++ glibc-2.15/sysdeps/posix/getaddrinfo.c
|
||||||
@@ -269,7 +269,7 @@ extern service_user *__nss_hosts_databas
|
@@ -269,7 +269,7 @@ extern service_user *__nss_hosts_databas
|
||||||
static int
|
static int
|
||||||
gaih_inet (const char *name, const struct gaih_service *service,
|
gaih_inet (const char *name, const struct gaih_service *service,
|
||||||
|
@ -1,30 +0,0 @@
|
|||||||
Index: glibc-2.14/elf/soinit.c
|
|
||||||
===================================================================
|
|
||||||
--- glibc-2.14.orig/elf/soinit.c
|
|
||||||
+++ glibc-2.14/elf/soinit.c
|
|
||||||
@@ -26,7 +26,11 @@ void
|
|
||||||
__libc_global_ctors (void)
|
|
||||||
{
|
|
||||||
/* Call constructor functions. */
|
|
||||||
- run_hooks (__CTOR_LIST__);
|
|
||||||
+ void (**tem)();
|
|
||||||
+ asm ("" : "=r" (tem) : "0" (__CTOR_LIST__));
|
|
||||||
+ /* Call destructor functions. */
|
|
||||||
+
|
|
||||||
+ run_hooks (tem);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -36,7 +40,11 @@ void
|
|
||||||
__libc_fini (void)
|
|
||||||
{
|
|
||||||
/* Call destructor functions. */
|
|
||||||
- run_hooks (__DTOR_LIST__);
|
|
||||||
+ void (**tem)();
|
|
||||||
+ asm ("" : "=r" (tem) : "0" (__DTOR_LIST__));
|
|
||||||
+ /* Call destructor functions. */
|
|
||||||
+
|
|
||||||
+ run_hooks (tem);
|
|
||||||
}
|
|
||||||
|
|
||||||
void (*_fini_ptr) (void) __attribute__ ((section (".fini_array")))
|
|
@ -11,10 +11,10 @@ Date: Fri Feb 10 21:05:54 2012 +0100
|
|||||||
* sysdeps/i386/fpu/feupdateenv.c (__feupdateenv) Invoke __feraiseexcept
|
* sysdeps/i386/fpu/feupdateenv.c (__feupdateenv) Invoke __feraiseexcept
|
||||||
instead of feraiseexcept.
|
instead of feraiseexcept.
|
||||||
|
|
||||||
diff --git a/sysdeps/i386/fpu/feupdateenv.c b/sysdeps/i386/fpu/feupdateenv.c
|
Index: glibc-2.15/sysdeps/i386/fpu/feupdateenv.c
|
||||||
index 70f9ee2..6e2ce35 100644
|
===================================================================
|
||||||
--- a/sysdeps/i386/fpu/feupdateenv.c
|
--- glibc-2.15.orig/sysdeps/i386/fpu/feupdateenv.c
|
||||||
+++ b/sysdeps/i386/fpu/feupdateenv.c
|
+++ glibc-2.15/sysdeps/i386/fpu/feupdateenv.c
|
||||||
@@ -1,5 +1,5 @@
|
@@ -1,5 +1,5 @@
|
||||||
/* Install given floating-point environment and raise exceptions.
|
/* Install given floating-point environment and raise exceptions.
|
||||||
- Copyright (C) 1997,99,2000,01,07,2010 Free Software Foundation, Inc.
|
- Copyright (C) 1997,99,2000,01,07,2010 Free Software Foundation, Inc.
|
||||||
@ -22,7 +22,7 @@ index 70f9ee2..6e2ce35 100644
|
|||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
|
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
|
||||||
|
|
||||||
@@ -44,7 +44,7 @@ __feupdateenv (const fenv_t *envp)
|
@@ -45,7 +45,7 @@ __feupdateenv (const fenv_t *envp)
|
||||||
/* Raise the saved exception. Incidently for us the implementation
|
/* Raise the saved exception. Incidently for us the implementation
|
||||||
defined format of the values in objects of type fexcept_t is the
|
defined format of the values in objects of type fexcept_t is the
|
||||||
same as the ones specified using the FE_* constants. */
|
same as the ones specified using the FE_* constants. */
|
||||||
|
795
glibc-2.16-powerpc-initfini.patch
Normal file
795
glibc-2.16-powerpc-initfini.patch
Normal file
@ -0,0 +1,795 @@
|
|||||||
|
commit 3add8e1353d62d77fdd9b4ca363cdfe7006b0efb
|
||||||
|
Author: Joseph Myers <joseph@codesourcery.com>
|
||||||
|
Date: Wed Feb 8 01:45:26 2012 +0000
|
||||||
|
|
||||||
|
Support crti.S and crtn.S provided directly by architectures.
|
||||||
|
|
||||||
|
2012-02-08 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
Support crti.S and crtn.S provided directly by architectures.
|
||||||
|
* csu/Makefile [crti.S in sysdirs] (generated): Do not append.
|
||||||
|
[crti.S in sysdirs] (omit-deps): Likewise.
|
||||||
|
[crti.S in sysdirs] (CFLAGS-initfini.s): Do not define variable.
|
||||||
|
[crti.S in sysdirs] ($(crtstuff:%=$(objpfx)%.o)): Disable rule.
|
||||||
|
[crti.S in sysdirs] ($(objpfx)initfini.s): Likewise.
|
||||||
|
[crti.S in sysdirs] ($(objpfx)crti.S): Likewise.
|
||||||
|
[crti.S in sysdirs] ($(objpfx)crtn.S): Likewise.
|
||||||
|
[crti.S in sysdirs] ($(patsubst %,$(objpfx)crt%.o,i n)): Likewise.
|
||||||
|
[crti.S in sysdirs] ($(objpfx)defs.h): Likewise.
|
||||||
|
[crti.S in sysdirs] (initfini.c): Remove vpath directive.
|
||||||
|
* sysdeps/i386/crti.S, sysdeps/i386/crtn.S: New files, based on
|
||||||
|
compiler output for sysdeps/generic/initfini.c.
|
||||||
|
* sysdeps/i386/elf/Makefile: Remove file.
|
||||||
|
* sysdeps/i386/Makefile (CFLAGS-initfini.s): Remove variable.
|
||||||
|
|
||||||
|
Index: glibc-2.15/csu/Makefile
|
||||||
|
===================================================================
|
||||||
|
--- glibc-2.15.orig/csu/Makefile
|
||||||
|
+++ glibc-2.15/csu/Makefile
|
||||||
|
@@ -75,10 +75,6 @@ before-compile += $(objpfx)abi-tag.h
|
||||||
|
generated += abi-tag.h
|
||||||
|
endif
|
||||||
|
|
||||||
|
-ifeq ($(have-initfini),yes)
|
||||||
|
-
|
||||||
|
-CPPFLAGS += -DHAVE_INITFINI
|
||||||
|
-
|
||||||
|
# These are the special initializer/finalizer files. They are always the
|
||||||
|
# first and last file in the link. crti.o ... crtn.o define the global
|
||||||
|
# "functions" _init and _fini to run the .init and .fini sections.
|
||||||
|
@@ -86,6 +82,13 @@ crtstuff = crti crtn
|
||||||
|
|
||||||
|
install-lib += $(crtstuff:=.o)
|
||||||
|
extra-objs += $(crtstuff:=.o)
|
||||||
|
+
|
||||||
|
+# Conditionals on the existence of a sysdeps version of crti.S are
|
||||||
|
+# temporary until all targets either have such a file or have been
|
||||||
|
+# removed, after which the old approach of postprocessing compiler
|
||||||
|
+# output will be removed.
|
||||||
|
+ifeq (,$(wildcard $(sysdirs:%=%/crti.S)))
|
||||||
|
+
|
||||||
|
generated += $(crtstuff:=.S) initfini.s defs.h
|
||||||
|
omit-deps += $(crtstuff)
|
||||||
|
|
||||||
|
Index: glibc-2.15/nptl/Makefile
|
||||||
|
===================================================================
|
||||||
|
--- glibc-2.15.orig/nptl/Makefile
|
||||||
|
+++ glibc-2.15/nptl/Makefile
|
||||||
|
@@ -335,15 +335,22 @@ ifneq (,$(patsubst .,,$(multidir)))
|
||||||
|
generated-dirs := $(firstword $(subst /, , $(multidir)))
|
||||||
|
crti-objs += $(multidir)/crti.o
|
||||||
|
crtn-objs += $(multidir)/crtn.o
|
||||||
|
+# Conditionals on the existence of a sysdeps version of crti.S are
|
||||||
|
+# temporary until all targets either have such a file or have been
|
||||||
|
+# removed, after which the old approach of postprocessing compiler
|
||||||
|
+# output will be removed.
|
||||||
|
+ifeq (,$(wildcard $(sysdirs:%=%/crti.S)))
|
||||||
|
omit-deps += $(multidir)/crti $(multidir)/crtn
|
||||||
|
+endif
|
||||||
|
$(objpfx)$(multidir):
|
||||||
|
mkdir -p $@
|
||||||
|
endif
|
||||||
|
extra-objs += $(crti-objs) $(crtn-objs)
|
||||||
|
+ifeq (,$(wildcard $(sysdirs:%=%/crti.S)))
|
||||||
|
omit-deps += crti crtn
|
||||||
|
-
|
||||||
|
CFLAGS-pt-initfini.s = -g0 -fPIC -fno-inline-functions $(fno-unit-at-a-time) -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||||
|
endif
|
||||||
|
+endif
|
||||||
|
|
||||||
|
CFLAGS-flockfile.c = -D_IO_MTSAFE_IO
|
||||||
|
CFLAGS-ftrylockfile.c = -D_IO_MTSAFE_IO
|
||||||
|
@@ -543,15 +550,24 @@ $(addprefix $(objpfx),$(tests) $(test-sr
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(build-shared),yes)
|
||||||
|
+ifeq (,$(wildcard $(sysdirs:%=%/crti.S)))
|
||||||
|
vpath pt-initfini.c $(sysdirs)
|
||||||
|
|
||||||
|
$(objpfx)pt-initfini.s: pt-initfini.c
|
||||||
|
$(compile.c) -S $(CFLAGS-pt-initfini.s) -finhibit-size-directive \
|
||||||
|
$(patsubst -f%,-fno-%,$(exceptions)) -o $@
|
||||||
|
+endif
|
||||||
|
|
||||||
|
$(objpfx)tst-cleanup0.out: /dev/null $(objpfx)tst-cleanup0
|
||||||
|
$(make-test-out) 2>&1 | cmp - tst-cleanup0.expect > $@
|
||||||
|
|
||||||
|
+ifneq (,$(wildcard $(sysdirs:%=%/crti.S)))
|
||||||
|
+
|
||||||
|
+$(objpfx)crti.o: $(objpfx)pt-crti.o
|
||||||
|
+ ln -f $< $@
|
||||||
|
+
|
||||||
|
+else
|
||||||
|
+
|
||||||
|
# We only have one kind of startup code files. Static binaries and
|
||||||
|
# shared libraries are build using the PIC version.
|
||||||
|
$(objpfx)crti.S: $(objpfx)pt-initfini.s
|
||||||
|
@@ -573,6 +589,8 @@ $(objpfx)crti.o: $(objpfx)crti.S $(objpf
|
||||||
|
$(objpfx)crtn.o: $(objpfx)crtn.S $(objpfx)defs.h
|
||||||
|
$(compile.S) -g0 $(ASFLAGS-.os) -o $@
|
||||||
|
|
||||||
|
+endif
|
||||||
|
+
|
||||||
|
ifneq ($(multidir),.)
|
||||||
|
$(objpfx)$(multidir)/crti.o: $(objpfx)crti.o $(objpfx)$(multidir)/
|
||||||
|
ln -f $< $@
|
||||||
|
Index: glibc-2.15/nptl/pt-crti.S
|
||||||
|
===================================================================
|
||||||
|
--- /dev/null
|
||||||
|
+++ glibc-2.15/nptl/pt-crti.S
|
||||||
|
@@ -0,0 +1,44 @@
|
||||||
|
+/* Special .init and .fini section support for libpthread.
|
||||||
|
+ Copyright (C) 2012 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.
|
||||||
|
+
|
||||||
|
+ In addition to the permissions in the GNU Lesser General Public
|
||||||
|
+ License, the Free Software Foundation gives you unlimited
|
||||||
|
+ permission to link the compiled version of this file with other
|
||||||
|
+ programs, and to distribute those programs without any restriction
|
||||||
|
+ coming from the use of this file. (The GNU Lesser General Public
|
||||||
|
+ License restrictions do apply in other respects; for example, they
|
||||||
|
+ cover modification of the file, and distribution when not linked
|
||||||
|
+ into another program.)
|
||||||
|
+
|
||||||
|
+ Note that people who make modified versions of this file are not
|
||||||
|
+ obligated to grant this special exception for their modified
|
||||||
|
+ versions; it is their choice whether to do so. The GNU Lesser
|
||||||
|
+ General Public License gives permission to release a modified
|
||||||
|
+ version without this exception; this exception also makes it
|
||||||
|
+ possible to release a modified version which carries forward this
|
||||||
|
+ exception.
|
||||||
|
+
|
||||||
|
+ 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. */
|
||||||
|
+
|
||||||
|
+/* Arrange for __pthread_initialize_minimal_internal to be called at
|
||||||
|
+ libpthread startup, instead of conditionally calling
|
||||||
|
+ __gmon_start__. */
|
||||||
|
+
|
||||||
|
+#define PREINIT_FUNCTION __pthread_initialize_minimal_internal
|
||||||
|
+#define PREINIT_FUNCTION_WEAK 0
|
||||||
|
+
|
||||||
|
+#include <crti.S>
|
||||||
|
Index: glibc-2.15/sysdeps/i386/Makefile
|
||||||
|
===================================================================
|
||||||
|
--- glibc-2.15.orig/sysdeps/i386/Makefile
|
||||||
|
+++ glibc-2.15/sysdeps/i386/Makefile
|
||||||
|
@@ -5,12 +5,6 @@ asm-CPPFLAGS += -DGAS_SYNTAX
|
||||||
|
# The i386 `long double' is a distinct type we support.
|
||||||
|
long-double-fcts = yes
|
||||||
|
|
||||||
|
-ifeq ($(subdir),csu)
|
||||||
|
-# On i686 we must avoid generating the trampoline functions generated
|
||||||
|
-# to get the GOT pointer.
|
||||||
|
-CFLAGS-initfini.s += -march=i386 -mtune=i386
|
||||||
|
-endif
|
||||||
|
-
|
||||||
|
ifeq ($(subdir),gmon)
|
||||||
|
sysdep_routines += i386-mcount
|
||||||
|
endif
|
||||||
|
Index: glibc-2.15/sysdeps/i386/crti.S
|
||||||
|
===================================================================
|
||||||
|
--- /dev/null
|
||||||
|
+++ glibc-2.15/sysdeps/i386/crti.S
|
||||||
|
@@ -0,0 +1,85 @@
|
||||||
|
+/* Special .init and .fini section support for x86.
|
||||||
|
+ Copyright (C) 1995-2012 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.
|
||||||
|
+
|
||||||
|
+ In addition to the permissions in the GNU Lesser General Public
|
||||||
|
+ License, the Free Software Foundation gives you unlimited
|
||||||
|
+ permission to link the compiled version of this file with other
|
||||||
|
+ programs, and to distribute those programs without any restriction
|
||||||
|
+ coming from the use of this file. (The GNU Lesser General Public
|
||||||
|
+ License restrictions do apply in other respects; for example, they
|
||||||
|
+ cover modification of the file, and distribution when not linked
|
||||||
|
+ into another program.)
|
||||||
|
+
|
||||||
|
+ Note that people who make modified versions of this file are not
|
||||||
|
+ obligated to grant this special exception for their modified
|
||||||
|
+ versions; it is their choice whether to do so. The GNU Lesser
|
||||||
|
+ General Public License gives permission to release a modified
|
||||||
|
+ version without this exception; this exception also makes it
|
||||||
|
+ possible to release a modified version which carries forward this
|
||||||
|
+ exception.
|
||||||
|
+
|
||||||
|
+ 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. */
|
||||||
|
+
|
||||||
|
+/* crti.S puts a function prologue at the beginning of the .init and
|
||||||
|
+ .fini sections and defines global symbols for those addresses, so
|
||||||
|
+ they can be called as functions. The symbols _init and _fini are
|
||||||
|
+ magic and cause the linker to emit DT_INIT and DT_FINI. */
|
||||||
|
+
|
||||||
|
+#include <libc-symbols.h>
|
||||||
|
+#include <sysdep.h>
|
||||||
|
+
|
||||||
|
+#ifndef PREINIT_FUNCTION
|
||||||
|
+# define PREINIT_FUNCTION __gmon_start__
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#ifndef PREINIT_FUNCTION_WEAK
|
||||||
|
+# define PREINIT_FUNCTION_WEAK 1
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if PREINIT_FUNCTION_WEAK
|
||||||
|
+ weak_extern (PREINIT_FUNCTION)
|
||||||
|
+#else
|
||||||
|
+ .hidden PREINIT_FUNCTION
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+ .section .init,"ax",@progbits
|
||||||
|
+ .p2align 2
|
||||||
|
+ .globl _init
|
||||||
|
+ .type _init, @function
|
||||||
|
+_init:
|
||||||
|
+ pushl %ebx
|
||||||
|
+ /* Maintain 16-byte stack alignment for called functions. */
|
||||||
|
+ subl $8, %esp
|
||||||
|
+ LOAD_PIC_REG (bx)
|
||||||
|
+#if PREINIT_FUNCTION_WEAK
|
||||||
|
+ movl PREINIT_FUNCTION@GOT(%ebx), %eax
|
||||||
|
+ testl %eax, %eax
|
||||||
|
+ je .Lno_weak_fn
|
||||||
|
+ call PREINIT_FUNCTION@PLT
|
||||||
|
+.Lno_weak_fn:
|
||||||
|
+#else
|
||||||
|
+ call PREINIT_FUNCTION
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+ .section .fini,"ax",@progbits
|
||||||
|
+ .p2align 2
|
||||||
|
+ .globl _fini
|
||||||
|
+ .type _fini, @function
|
||||||
|
+_fini:
|
||||||
|
+ pushl %ebx
|
||||||
|
+ subl $8, %esp
|
||||||
|
+ LOAD_PIC_REG (bx)
|
||||||
|
Index: glibc-2.15/sysdeps/i386/crtn.S
|
||||||
|
===================================================================
|
||||||
|
--- /dev/null
|
||||||
|
+++ glibc-2.15/sysdeps/i386/crtn.S
|
||||||
|
@@ -0,0 +1,48 @@
|
||||||
|
+/* Special .init and .fini section support for x86.
|
||||||
|
+ Copyright (C) 1995-2012 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.
|
||||||
|
+
|
||||||
|
+ In addition to the permissions in the GNU Lesser General Public
|
||||||
|
+ License, the Free Software Foundation gives you unlimited
|
||||||
|
+ permission to link the compiled version of this file with other
|
||||||
|
+ programs, and to distribute those programs without any restriction
|
||||||
|
+ coming from the use of this file. (The GNU Lesser General Public
|
||||||
|
+ License restrictions do apply in other respects; for example, they
|
||||||
|
+ cover modification of the file, and distribution when not linked
|
||||||
|
+ into another program.)
|
||||||
|
+
|
||||||
|
+ Note that people who make modified versions of this file are not
|
||||||
|
+ obligated to grant this special exception for their modified
|
||||||
|
+ versions; it is their choice whether to do so. The GNU Lesser
|
||||||
|
+ General Public License gives permission to release a modified
|
||||||
|
+ version without this exception; this exception also makes it
|
||||||
|
+ possible to release a modified version which carries forward this
|
||||||
|
+ exception.
|
||||||
|
+
|
||||||
|
+ 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. */
|
||||||
|
+
|
||||||
|
+/* crtn.S puts function epilogues in the .init and .fini sections
|
||||||
|
+ corresponding to the prologues in crti.S. */
|
||||||
|
+
|
||||||
|
+ .section .init,"ax",@progbits
|
||||||
|
+ addl $8, %esp
|
||||||
|
+ popl %ebx
|
||||||
|
+ ret
|
||||||
|
+
|
||||||
|
+ .section .fini,"ax",@progbits
|
||||||
|
+ addl $8, %esp
|
||||||
|
+ popl %ebx
|
||||||
|
+ ret
|
||||||
|
Index: glibc-2.15/sysdeps/i386/elf/Makefile
|
||||||
|
===================================================================
|
||||||
|
--- glibc-2.15.orig/sysdeps/i386/elf/Makefile
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1,4 +0,0 @@
|
||||||
|
-ifeq ($(subdir),csu)
|
||||||
|
-# Turn off -fasynchronous-unwind-tables
|
||||||
|
-CFLAGS-initfini.s += -fno-asynchronous-unwind-tables
|
||||||
|
-endif
|
||||||
|
Index: glibc-2.15/Makeconfig
|
||||||
|
===================================================================
|
||||||
|
--- glibc-2.15.orig/Makeconfig
|
||||||
|
+++ glibc-2.15/Makeconfig
|
||||||
|
@@ -394,11 +394,6 @@ ifndef asm-CPPFLAGS
|
||||||
|
asm-CPPFLAGS =
|
||||||
|
endif
|
||||||
|
|
||||||
|
-# ELF always supports init/fini sections
|
||||||
|
-ifeq ($(elf),yes)
|
||||||
|
-have-initfini = yes
|
||||||
|
-endif
|
||||||
|
-
|
||||||
|
ifeq ($(have-as-needed),yes)
|
||||||
|
as-needed := -Wl,--as-needed
|
||||||
|
no-as-needed := -Wl,--no-as-needed
|
||||||
|
@@ -412,14 +407,8 @@ no-whole-archive = -Wl,--no-whole-archiv
|
||||||
|
whole-archive = -Wl,--whole-archive
|
||||||
|
|
||||||
|
# Installed name of the startup code.
|
||||||
|
-ifneq ($(have-initfini),yes)
|
||||||
|
-# When not having init/fini, there is just one startfile, called crt0.o.
|
||||||
|
-start-installed-name = crt0.o
|
||||||
|
-else
|
||||||
|
-# On systems having init/fini, crt0.o is called crt1.o, and there are
|
||||||
|
-# some additional bizarre files.
|
||||||
|
+# The ELF convention is that the startfile is called crt1.o
|
||||||
|
start-installed-name = crt1.o
|
||||||
|
-endif
|
||||||
|
# On systems that do not need a special startfile for statically linked
|
||||||
|
# binaries, simply set it to the normal name.
|
||||||
|
ifndef static-start-installed-name
|
||||||
|
Index: glibc-2.15/config.h.in
|
||||||
|
===================================================================
|
||||||
|
--- glibc-2.15.orig/config.h.in
|
||||||
|
+++ glibc-2.15/config.h.in
|
||||||
|
@@ -42,9 +42,6 @@
|
||||||
|
assembler instructions per line. Default is `;' */
|
||||||
|
#undef ASM_LINE_SEP
|
||||||
|
|
||||||
|
-/* Define if not using ELF, but `.init' and `.fini' sections are available. */
|
||||||
|
-#undef HAVE_INITFINI
|
||||||
|
-
|
||||||
|
/* Define if __attribute__((section("foo"))) puts quotes around foo. */
|
||||||
|
#undef HAVE_SECTION_QUOTES
|
||||||
|
|
||||||
|
Index: glibc-2.15/config.make.in
|
||||||
|
===================================================================
|
||||||
|
--- glibc-2.15.orig/config.make.in
|
||||||
|
+++ glibc-2.15/config.make.in
|
||||||
|
@@ -48,11 +48,9 @@ all-warnings = @all_warnings@
|
||||||
|
elf = @elf@
|
||||||
|
have-z-combreloc = @libc_cv_z_combreloc@
|
||||||
|
have-z-execstack = @libc_cv_z_execstack@
|
||||||
|
-have-initfini = @libc_cv_have_initfini@
|
||||||
|
have-Bgroup = @libc_cv_Bgroup@
|
||||||
|
have-as-needed = @libc_cv_as_needed@
|
||||||
|
libgcc_s_suffix = @libc_cv_libgcc_s_suffix@
|
||||||
|
-need-nopic-initfini = @nopic_initfini@
|
||||||
|
with-fp = @with_fp@
|
||||||
|
old-glibc-headers = @old_glibc_headers@
|
||||||
|
unwind-find-fde = @libc_cv_gcc_unwind_find_fde@
|
||||||
|
Index: glibc-2.15/configure
|
||||||
|
===================================================================
|
||||||
|
--- glibc-2.15.orig/configure
|
||||||
|
+++ glibc-2.15/configure
|
||||||
|
@@ -610,7 +610,6 @@ RELEASE
|
||||||
|
VERSION
|
||||||
|
mach_interface_list
|
||||||
|
DEFINES
|
||||||
|
-nopic_initfini
|
||||||
|
static_nss
|
||||||
|
bounded
|
||||||
|
omitfp
|
||||||
|
@@ -7995,7 +7994,6 @@ $as_echo "$libc_cv_pic_default" >&6; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Index: glibc-2.15/configure.in
|
||||||
|
===================================================================
|
||||||
|
--- glibc-2.15.orig/configure.in
|
||||||
|
+++ glibc-2.15/configure.in
|
||||||
|
@@ -2377,7 +2377,6 @@ AC_SUBST(profile)
|
||||||
|
AC_SUBST(omitfp)
|
||||||
|
AC_SUBST(bounded)
|
||||||
|
AC_SUBST(static_nss)
|
||||||
|
-AC_SUBST(nopic_initfini)
|
||||||
|
|
||||||
|
AC_SUBST(DEFINES)
|
||||||
|
|
||||||
|
Index: glibc-2.15/csu/gmon-start.c
|
||||||
|
===================================================================
|
||||||
|
--- glibc-2.15.orig/csu/gmon-start.c
|
||||||
|
+++ glibc-2.15/csu/gmon-start.c
|
||||||
|
@@ -1,5 +1,5 @@
|
||||||
|
/* Code to enable profiling at program startup.
|
||||||
|
- Copyright (C) 1995,1996,1997,2000,2001,2002 Free Software Foundation, Inc.
|
||||||
|
+ Copyright (C) 1995,1996,1997,2000,2001,2002,2012 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
|
||||||
|
@@ -43,23 +43,14 @@ extern char etext[];
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#ifndef HAVE_INITFINI
|
||||||
|
-/* This function gets called at startup by the normal constructor
|
||||||
|
- mechanism. We link this file together with start.o to produce gcrt1.o,
|
||||||
|
- so this constructor will be first in the list. */
|
||||||
|
-
|
||||||
|
-extern void __gmon_start__ (void) __attribute__ ((constructor));
|
||||||
|
-#else
|
||||||
|
-/* In ELF and COFF, we cannot use the normal constructor mechanism to call
|
||||||
|
+/* We cannot use the normal constructor mechanism to call
|
||||||
|
__gmon_start__ because gcrt1.o appears before crtbegin.o in the link.
|
||||||
|
- Instead crti.o calls it specially (see initfini.c). */
|
||||||
|
+ Instead crti.o calls it specially. */
|
||||||
|
extern void __gmon_start__ (void);
|
||||||
|
-#endif
|
||||||
|
|
||||||
|
void
|
||||||
|
__gmon_start__ (void)
|
||||||
|
{
|
||||||
|
-#ifdef HAVE_INITFINI
|
||||||
|
/* Protect from being called more than once. Since crti.o is linked
|
||||||
|
into every shared library, each of their init functions will call us. */
|
||||||
|
static int called;
|
||||||
|
@@ -68,7 +59,6 @@ __gmon_start__ (void)
|
||||||
|
return;
|
||||||
|
|
||||||
|
called = 1;
|
||||||
|
-#endif
|
||||||
|
|
||||||
|
/* Start keeping profiling records. */
|
||||||
|
__monstartup ((u_long) TEXT_START, (u_long) &etext);
|
||||||
|
Index: glibc-2.15/sysdeps/powerpc/powerpc32/crti.S
|
||||||
|
===================================================================
|
||||||
|
--- /dev/null
|
||||||
|
+++ glibc-2.15/sysdeps/powerpc/powerpc32/crti.S
|
||||||
|
@@ -0,0 +1,90 @@
|
||||||
|
+/* Special .init and .fini section support for PowerPC.
|
||||||
|
+ Copyright (C) 2012 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.
|
||||||
|
+
|
||||||
|
+ In addition to the permissions in the GNU Lesser General Public
|
||||||
|
+ License, the Free Software Foundation gives you unlimited
|
||||||
|
+ permission to link the compiled version of this file with other
|
||||||
|
+ programs, and to distribute those programs without any restriction
|
||||||
|
+ coming from the use of this file. (The GNU Lesser General Public
|
||||||
|
+ License restrictions do apply in other respects; for example, they
|
||||||
|
+ cover modification of the file, and distribution when not linked
|
||||||
|
+ into another program.)
|
||||||
|
+
|
||||||
|
+ Note that people who make modified versions of this file are not
|
||||||
|
+ obligated to grant this special exception for their modified
|
||||||
|
+ versions; it is their choice whether to do so. The GNU Lesser
|
||||||
|
+ General Public License gives permission to release a modified
|
||||||
|
+ version without this exception; this exception also makes it
|
||||||
|
+ possible to release a modified version which carries forward this
|
||||||
|
+ exception.
|
||||||
|
+
|
||||||
|
+ 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. */
|
||||||
|
+
|
||||||
|
+/* crti.S puts a function prologue at the beginning of the .init and
|
||||||
|
+ .fini sections and defines global symbols for those addresses, so
|
||||||
|
+ they can be called as functions. The symbols _init and _fini are
|
||||||
|
+ magic and cause the linker to emit DT_INIT and DT_FINI. */
|
||||||
|
+
|
||||||
|
+#include <libc-symbols.h>
|
||||||
|
+#include <sysdep.h>
|
||||||
|
+
|
||||||
|
+#ifndef PREINIT_FUNCTION
|
||||||
|
+# define PREINIT_FUNCTION __gmon_start__
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#ifndef PREINIT_FUNCTION_WEAK
|
||||||
|
+# define PREINIT_FUNCTION_WEAK 1
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if PREINIT_FUNCTION_WEAK
|
||||||
|
+ weak_extern (PREINIT_FUNCTION)
|
||||||
|
+#else
|
||||||
|
+ .hidden PREINIT_FUNCTION
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+ .section .init,"ax",@progbits
|
||||||
|
+ .align 2
|
||||||
|
+ .globl _init
|
||||||
|
+ .type _init, @function
|
||||||
|
+_init:
|
||||||
|
+ stwu r1, -16(r1)
|
||||||
|
+ mflr r0
|
||||||
|
+ stw r0, 20(r1)
|
||||||
|
+ stw r30, 8(r1)
|
||||||
|
+ SETUP_GOT_ACCESS (r30, .Lgot_label_i)
|
||||||
|
+ addis r30, r30, _GLOBAL_OFFSET_TABLE_-.Lgot_label_i@ha
|
||||||
|
+ addi r30, r30, _GLOBAL_OFFSET_TABLE_-.Lgot_label_i@l
|
||||||
|
+#if PREINIT_FUNCTION_WEAK
|
||||||
|
+ lwz r0, PREINIT_FUNCTION@got(r30)
|
||||||
|
+ cmpwi cr7, r0, 0
|
||||||
|
+ beq+ cr7, 1f
|
||||||
|
+ bl PREINIT_FUNCTION@plt
|
||||||
|
+1:
|
||||||
|
+#else
|
||||||
|
+ bl PREINIT_FUNCTION@local
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+ .section .fini,"ax",@progbits
|
||||||
|
+ .align 2
|
||||||
|
+ .globl _fini
|
||||||
|
+ .type _fini, @function
|
||||||
|
+_fini:
|
||||||
|
+ stwu r1, -16(r1)
|
||||||
|
+ mflr r0
|
||||||
|
+ stw r0, 20(r1)
|
||||||
|
+ stw r30, 8(r1)
|
||||||
|
+ SETUP_GOT_ACCESS (r30, .Lgot_label_f)
|
||||||
|
Index: glibc-2.15/sysdeps/powerpc/powerpc32/crtn.S
|
||||||
|
===================================================================
|
||||||
|
--- /dev/null
|
||||||
|
+++ glibc-2.15/sysdeps/powerpc/powerpc32/crtn.S
|
||||||
|
@@ -0,0 +1,54 @@
|
||||||
|
+/* Special .init and .fini section support for PowerPC.
|
||||||
|
+ Copyright (C) 2012 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.
|
||||||
|
+
|
||||||
|
+ In addition to the permissions in the GNU Lesser General Public
|
||||||
|
+ License, the Free Software Foundation gives you unlimited
|
||||||
|
+ permission to link the compiled version of this file with other
|
||||||
|
+ programs, and to distribute those programs without any restriction
|
||||||
|
+ coming from the use of this file. (The GNU Lesser General Public
|
||||||
|
+ License restrictions do apply in other respects; for example, they
|
||||||
|
+ cover modification of the file, and distribution when not linked
|
||||||
|
+ into another program.)
|
||||||
|
+
|
||||||
|
+ Note that people who make modified versions of this file are not
|
||||||
|
+ obligated to grant this special exception for their modified
|
||||||
|
+ versions; it is their choice whether to do so. The GNU Lesser
|
||||||
|
+ General Public License gives permission to release a modified
|
||||||
|
+ version without this exception; this exception also makes it
|
||||||
|
+ possible to release a modified version which carries forward this
|
||||||
|
+ exception.
|
||||||
|
+
|
||||||
|
+ 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. */
|
||||||
|
+
|
||||||
|
+/* crtn.S puts function epilogues in the .init and .fini sections
|
||||||
|
+ corresponding to the prologues in crti.S. */
|
||||||
|
+
|
||||||
|
+#include <sysdep.h>
|
||||||
|
+
|
||||||
|
+ .section .init,"ax",@progbits
|
||||||
|
+ lwz r0, 20(r1)
|
||||||
|
+ mtlr r0
|
||||||
|
+ lwz r30, 8(r1)
|
||||||
|
+ addi r1, r1, 16
|
||||||
|
+ blr
|
||||||
|
+
|
||||||
|
+ .section .fini,"ax",@progbits
|
||||||
|
+ lwz r0, 20(r1)
|
||||||
|
+ mtlr r0
|
||||||
|
+ lwz r30, 8(r1)
|
||||||
|
+ addi r1, r1, 16
|
||||||
|
+ blr
|
||||||
|
Index: glibc-2.15/sysdeps/powerpc/powerpc64/crti.S
|
||||||
|
===================================================================
|
||||||
|
--- /dev/null
|
||||||
|
+++ glibc-2.15/sysdeps/powerpc/powerpc64/crti.S
|
||||||
|
@@ -0,0 +1,107 @@
|
||||||
|
+/* Special .init and .fini section support for PowerPC64.
|
||||||
|
+ Copyright (C) 2012 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.
|
||||||
|
+
|
||||||
|
+ In addition to the permissions in the GNU Lesser General Public
|
||||||
|
+ License, the Free Software Foundation gives you unlimited
|
||||||
|
+ permission to link the compiled version of this file with other
|
||||||
|
+ programs, and to distribute those programs without any restriction
|
||||||
|
+ coming from the use of this file. (The GNU Lesser General Public
|
||||||
|
+ License restrictions do apply in other respects; for example, they
|
||||||
|
+ cover modification of the file, and distribution when not linked
|
||||||
|
+ into another program.)
|
||||||
|
+
|
||||||
|
+ Note that people who make modified versions of this file are not
|
||||||
|
+ obligated to grant this special exception for their modified
|
||||||
|
+ versions; it is their choice whether to do so. The GNU Lesser
|
||||||
|
+ General Public License gives permission to release a modified
|
||||||
|
+ version without this exception; this exception also makes it
|
||||||
|
+ possible to release a modified version which carries forward this
|
||||||
|
+ exception.
|
||||||
|
+
|
||||||
|
+ 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. */
|
||||||
|
+
|
||||||
|
+/* crti.S puts a function prologue at the beginning of the .init and
|
||||||
|
+ .fini sections and defines global symbols for those addresses, so
|
||||||
|
+ they can be called as functions. The symbols _init and _fini are
|
||||||
|
+ magic and cause the linker to emit DT_INIT and DT_FINI. */
|
||||||
|
+
|
||||||
|
+#include <libc-symbols.h>
|
||||||
|
+#include <sysdep.h>
|
||||||
|
+
|
||||||
|
+#ifndef PREINIT_FUNCTION
|
||||||
|
+# define PREINIT_FUNCTION __gmon_start__
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#ifndef PREINIT_FUNCTION_WEAK
|
||||||
|
+# define PREINIT_FUNCTION_WEAK 1
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if PREINIT_FUNCTION_WEAK
|
||||||
|
+ weak_extern (PREINIT_FUNCTION)
|
||||||
|
+#else
|
||||||
|
+ .hidden PREINIT_FUNCTION
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if PREINIT_FUNCTION_WEAK
|
||||||
|
+ .section ".toc", "aw"
|
||||||
|
+.LC0:
|
||||||
|
+ .tc PREINIT_FUNCTION[TC], PREINIT_FUNCTION
|
||||||
|
+#endif
|
||||||
|
+ .type BODY_LABEL (_init), @function
|
||||||
|
+ .globl _init
|
||||||
|
+ .section ".opd", "aw"
|
||||||
|
+ .align 3
|
||||||
|
+_init: OPD_ENT (_init)
|
||||||
|
+#ifdef HAVE_ASM_GLOBAL_DOT_NAME
|
||||||
|
+ .globl BODY_LABEL (_init)
|
||||||
|
+ .size _init, 24
|
||||||
|
+#else
|
||||||
|
+ .type _init, @function
|
||||||
|
+#endif
|
||||||
|
+ .section ".init", "ax", @progbits
|
||||||
|
+ .align ALIGNARG (2)
|
||||||
|
+BODY_LABEL (_init):
|
||||||
|
+ mflr 0
|
||||||
|
+ std 0, 16(r1)
|
||||||
|
+ stdu r1, -112(r1)
|
||||||
|
+#if PREINIT_FUNCTION_WEAK
|
||||||
|
+ addis r9, r2, .LC0@toc@ha
|
||||||
|
+ ld r0, .LC0@toc@l(r9)
|
||||||
|
+ cmpdi cr7, r0, 0
|
||||||
|
+ beq+ cr7, 1f
|
||||||
|
+#endif
|
||||||
|
+ bl JUMPTARGET (PREINIT_FUNCTION)
|
||||||
|
+ nop
|
||||||
|
+1:
|
||||||
|
+
|
||||||
|
+ .type BODY_LABEL (_fini), @function
|
||||||
|
+ .globl _fini
|
||||||
|
+ .section ".opd", "aw"
|
||||||
|
+ .align 3
|
||||||
|
+_fini: OPD_ENT (_fini)
|
||||||
|
+#ifdef HAVE_ASM_GLOBAL_DOT_NAME
|
||||||
|
+ .globl BODY_LABEL (_fini)
|
||||||
|
+ .size _fini, 24
|
||||||
|
+#else
|
||||||
|
+ .type _fini, @function
|
||||||
|
+#endif
|
||||||
|
+ .section ".fini", "ax", @progbits
|
||||||
|
+ .align ALIGNARG (2)
|
||||||
|
+BODY_LABEL (_fini):
|
||||||
|
+ mflr 0
|
||||||
|
+ std 0, 16(r1)
|
||||||
|
+ stdu r1, -112(r1)
|
||||||
|
Index: glibc-2.15/sysdeps/powerpc/powerpc64/crtn.S
|
||||||
|
===================================================================
|
||||||
|
--- /dev/null
|
||||||
|
+++ glibc-2.15/sysdeps/powerpc/powerpc64/crtn.S
|
||||||
|
@@ -0,0 +1,52 @@
|
||||||
|
+/* Special .init and .fini section support for PowerPC64.
|
||||||
|
+ Copyright (C) 2012 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.
|
||||||
|
+
|
||||||
|
+ In addition to the permissions in the GNU Lesser General Public
|
||||||
|
+ License, the Free Software Foundation gives you unlimited
|
||||||
|
+ permission to link the compiled version of this file with other
|
||||||
|
+ programs, and to distribute those programs without any restriction
|
||||||
|
+ coming from the use of this file. (The GNU Lesser General Public
|
||||||
|
+ License restrictions do apply in other respects; for example, they
|
||||||
|
+ cover modification of the file, and distribution when not linked
|
||||||
|
+ into another program.)
|
||||||
|
+
|
||||||
|
+ Note that people who make modified versions of this file are not
|
||||||
|
+ obligated to grant this special exception for their modified
|
||||||
|
+ versions; it is their choice whether to do so. The GNU Lesser
|
||||||
|
+ General Public License gives permission to release a modified
|
||||||
|
+ version without this exception; this exception also makes it
|
||||||
|
+ possible to release a modified version which carries forward this
|
||||||
|
+ exception.
|
||||||
|
+
|
||||||
|
+ 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. */
|
||||||
|
+
|
||||||
|
+/* crtn.S puts function epilogues in the .init and .fini sections
|
||||||
|
+ corresponding to the prologues in crti.S. */
|
||||||
|
+
|
||||||
|
+#include <sysdep.h>
|
||||||
|
+
|
||||||
|
+ .section .init,"ax",@progbits
|
||||||
|
+ addi r1, r1, 112
|
||||||
|
+ ld r0, 16(r1)
|
||||||
|
+ mtlr r0
|
||||||
|
+ blr
|
||||||
|
+
|
||||||
|
+ .section .fini,"ax",@progbits
|
||||||
|
+ addi r1, r1, 112
|
||||||
|
+ ld r0, 16(r1)
|
||||||
|
+ mtlr r0
|
||||||
|
+ blr
|
@ -3,10 +3,10 @@ Wed Jun 4 14:29:07 CEST 2003 - kukuk@suse.de
|
|||||||
|
|
||||||
- Make --no-archive default for localedef
|
- Make --no-archive default for localedef
|
||||||
|
|
||||||
Index: locale/programs/localedef.c
|
Index: glibc-2.15/locale/programs/localedef.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- locale/programs/localedef.c.orig
|
--- glibc-2.15.orig/locale/programs/localedef.c
|
||||||
+++ locale/programs/localedef.c
|
+++ glibc-2.15/locale/programs/localedef.c
|
||||||
@@ -82,7 +82,7 @@ const char *alias_file;
|
@@ -82,7 +82,7 @@ const char *alias_file;
|
||||||
static struct localedef_t *locales;
|
static struct localedef_t *locales;
|
||||||
|
|
||||||
|
@ -2,12 +2,10 @@
|
|||||||
|
|
||||||
* nscd/nscd.h: Move persistent storage back to /var/run/nscd
|
* nscd/nscd.h: Move persistent storage back to /var/run/nscd
|
||||||
|
|
||||||
Index: nscd/nscd.h
|
Index: glibc-2.15/nscd/nscd.h
|
||||||
===================================================================
|
===================================================================
|
||||||
diff --git a/nscd/nscd.h b/nscd/nscd.h
|
--- glibc-2.15.orig/nscd/nscd.h
|
||||||
index fdaf01b..23b6a94 100644
|
+++ glibc-2.15/nscd/nscd.h
|
||||||
--- nscd/nscd.h
|
|
||||||
+++ nscd/nscd.h
|
|
||||||
@@ -113,11 +113,11 @@ struct database_dyn
|
@@ -113,11 +113,11 @@ struct database_dyn
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: sunrpc/bindrsvprt.c
|
Index: glibc-2.15/sunrpc/bindrsvprt.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- sunrpc/bindrsvprt.c.orig
|
--- glibc-2.15.orig/sunrpc/bindrsvprt.c
|
||||||
+++ sunrpc/bindrsvprt.c
|
+++ glibc-2.15/sunrpc/bindrsvprt.c
|
||||||
@@ -29,28 +29,108 @@
|
@@ -29,28 +29,108 @@
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: intl/loadmsgcat.c
|
Index: glibc-2.15/intl/loadmsgcat.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- intl/loadmsgcat.c.orig
|
--- glibc-2.15.orig/intl/loadmsgcat.c
|
||||||
+++ intl/loadmsgcat.c
|
+++ glibc-2.15/intl/loadmsgcat.c
|
||||||
@@ -806,8 +806,52 @@ _nl_load_domain (domain_file, domainbind
|
@@ -806,8 +806,52 @@ _nl_load_domain (domain_file, domainbind
|
||||||
if (domain_file->filename == NULL)
|
if (domain_file->filename == NULL)
|
||||||
goto out;
|
goto out;
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:23c4a947e7dee14c05556bc30c1dded5458a7b9ba8b306cb7bce93dd57fb9b96
|
oid sha256:fe966fc1d1082da024fda16d4ad1e8e2b73f30d646701d24a27882ec653b5807
|
||||||
size 329206
|
size 329247
|
||||||
|
@ -1,38 +0,0 @@
|
|||||||
Index: nscd/nscd.conf
|
|
||||||
===================================================================
|
|
||||||
--- nscd/nscd.conf.orig 2010-01-18 18:01:41.000000000 +0100
|
|
||||||
+++ nscd/nscd.conf 2010-02-14 14:58:08.000000000 +0100
|
|
||||||
@@ -61,11 +61,11 @@
|
|
||||||
auto-propagate group yes
|
|
||||||
|
|
||||||
enable-cache hosts yes
|
|
||||||
- positive-time-to-live hosts 3600
|
|
||||||
- negative-time-to-live hosts 20
|
|
||||||
+ positive-time-to-live hosts 600
|
|
||||||
+ negative-time-to-live hosts 0
|
|
||||||
suggested-size hosts 211
|
|
||||||
check-files hosts yes
|
|
||||||
- persistent hosts yes
|
|
||||||
+ persistent hosts no
|
|
||||||
shared hosts yes
|
|
||||||
max-db-size hosts 33554432
|
|
||||||
|
|
||||||
Index: nscd/nscd_stat.c
|
|
||||||
===================================================================
|
|
||||||
--- nscd/nscd_stat.c.orig 2010-01-18 18:01:41.000000000 +0100
|
|
||||||
+++ nscd/nscd_stat.c 2010-02-14 15:02:41.000000000 +0100
|
|
||||||
@@ -37,8 +37,13 @@
|
|
||||||
#endif /* HAVE_SELINUX */
|
|
||||||
|
|
||||||
|
|
||||||
-/* We use this to make sure the receiver is the same. */
|
|
||||||
+/* We use this to make sure the receiver is the same. Capture mtime
|
|
||||||
+ of this file if possible. */
|
|
||||||
+#if defined(__TIMESTAMP__)
|
|
||||||
+static const char compilation[21] = __TIMESTAMP__;
|
|
||||||
+#else
|
|
||||||
static const char compilation[21] = __DATE__ " " __TIME__;
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/* Statistic data for one database. */
|
|
||||||
struct dbstat
|
|
@ -1,7 +1,7 @@
|
|||||||
Index: locale/iso-4217.def
|
Index: glibc-2.15/locale/iso-4217.def
|
||||||
===================================================================
|
===================================================================
|
||||||
--- locale/iso-4217.def.orig
|
--- glibc-2.15.orig/locale/iso-4217.def
|
||||||
+++ locale/iso-4217.def
|
+++ glibc-2.15/locale/iso-4217.def
|
||||||
@@ -8,6 +8,7 @@
|
@@ -8,6 +8,7 @@
|
||||||
*
|
*
|
||||||
* !!! The list has to be sorted !!!
|
* !!! The list has to be sorted !!!
|
||||||
|
@ -2,10 +2,10 @@ This is required for too noisy rpmlint:
|
|||||||
glibc.i586: E: hardlink-across-partition (Badness: 10000) /usr/lib/getconf/POSIX_V7_ILP32_OFFBIG /usr/bin/getconf
|
glibc.i586: E: hardlink-across-partition (Badness: 10000) /usr/lib/getconf/POSIX_V7_ILP32_OFFBIG /usr/bin/getconf
|
||||||
|
|
||||||
|
|
||||||
Index: posix/Makefile
|
Index: glibc-2.15/posix/Makefile
|
||||||
===================================================================
|
===================================================================
|
||||||
--- posix/Makefile.orig
|
--- glibc-2.15.orig/posix/Makefile
|
||||||
+++ posix/Makefile
|
+++ glibc-2.15/posix/Makefile
|
||||||
@@ -316,8 +316,7 @@ $(inst_libexecdir)/getconf: $(inst_bindi
|
@@ -316,8 +316,7 @@ $(inst_libexecdir)/getconf: $(inst_bindi
|
||||||
$(addprefix $(..)./scripts/mkinstalldirs ,\
|
$(addprefix $(..)./scripts/mkinstalldirs ,\
|
||||||
$(filter-out $(wildcard $@),$@))
|
$(filter-out $(wildcard $@),$@))
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: bits/sched.h
|
Index: glibc-2.15/bits/sched.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- bits/sched.h.orig
|
--- glibc-2.15.orig/bits/sched.h
|
||||||
+++ bits/sched.h
|
+++ glibc-2.15/bits/sched.h
|
||||||
@@ -54,7 +54,7 @@ struct __sched_param
|
@@ -54,7 +54,7 @@ struct __sched_param
|
||||||
#if defined _SCHED_H && !defined __cpu_set_t_defined
|
#if defined _SCHED_H && !defined __cpu_set_t_defined
|
||||||
# define __cpu_set_t_defined
|
# define __cpu_set_t_defined
|
||||||
@ -11,10 +11,10 @@ Index: bits/sched.h
|
|||||||
# define __NCPUBITS (8 * sizeof (__cpu_mask))
|
# define __NCPUBITS (8 * sizeof (__cpu_mask))
|
||||||
|
|
||||||
/* Type for array elements in 'cpu_set_t'. */
|
/* Type for array elements in 'cpu_set_t'. */
|
||||||
Index: sysdeps/unix/sysv/linux/bits/sched.h
|
Index: glibc-2.15/sysdeps/unix/sysv/linux/bits/sched.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- sysdeps/unix/sysv/linux/bits/sched.h.orig
|
--- glibc-2.15.orig/sysdeps/unix/sysv/linux/bits/sched.h
|
||||||
+++ sysdeps/unix/sysv/linux/bits/sched.h
|
+++ glibc-2.15/sysdeps/unix/sysv/linux/bits/sched.h
|
||||||
@@ -113,7 +113,7 @@ struct __sched_param
|
@@ -113,7 +113,7 @@ struct __sched_param
|
||||||
#if defined _SCHED_H && !defined __cpu_set_t_defined
|
#if defined _SCHED_H && !defined __cpu_set_t_defined
|
||||||
# define __cpu_set_t_defined
|
# define __cpu_set_t_defined
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
diff -ru elf~/dl-close.c elf/dl-close.c
|
Index: glibc-2.15/elf/dl-close.c
|
||||||
--- elf~/dl-close.c 2011-02-04 00:35:03.000000000 +0100
|
===================================================================
|
||||||
+++ elf/dl-close.c 2011-02-22 02:16:12.367883000 +0100
|
--- glibc-2.15.orig/elf/dl-close.c
|
||||||
@@ -180,24 +186,28 @@
|
+++ glibc-2.15/elf/dl-close.c
|
||||||
|
@@ -180,24 +180,28 @@ _dl_close_worker (struct link_map *map)
|
||||||
/* Signal the object is still needed. */
|
/* Signal the object is still needed. */
|
||||||
l->l_idx = IDX_STILL_USED;
|
l->l_idx = IDX_STILL_USED;
|
||||||
|
|
||||||
@ -42,7 +43,7 @@ diff -ru elf~/dl-close.c elf/dl-close.c
|
|||||||
++lp;
|
++lp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -206,19 +216,25 @@
|
@@ -206,19 +210,25 @@ _dl_close_worker (struct link_map *map)
|
||||||
for (unsigned int j = 0; j < l->l_reldeps->act; ++j)
|
for (unsigned int j = 0; j < l->l_reldeps->act; ++j)
|
||||||
{
|
{
|
||||||
struct link_map *jmap = l->l_reldeps->list[j];
|
struct link_map *jmap = l->l_reldeps->list[j];
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: sysdeps/x86_64/elf/initfini.c
|
Index: glibc-2.15/sysdeps/x86_64/elf/initfini.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- sysdeps/x86_64/elf/initfini.c.orig 2004-08-16 06:50:55.000000000 +0200
|
--- glibc-2.15.orig/sysdeps/x86_64/elf/initfini.c
|
||||||
+++ sysdeps/x86_64/elf/initfini.c 2010-04-16 16:41:11.000000000 +0200
|
+++ glibc-2.15/sysdeps/x86_64/elf/initfini.c
|
||||||
@@ -44,6 +44,25 @@
|
@@ -44,6 +44,25 @@
|
||||||
* crtn.s puts the corresponding function epilogues
|
* crtn.s puts the corresponding function epilogues
|
||||||
in the .init and .fini sections. */
|
in the .init and .fini sections. */
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
Index: glibc-2.11.3/elf/dl-close.c
|
|
||||||
===================================================================
|
|
||||||
--- glibc-2.11.3.orig/elf/dl-close.c 2011-05-27 15:08:23.000000000 +0200
|
|
||||||
+++ glibc-2.11.3/elf/dl-close.c 2011-07-13 19:28:52.000000000 +0200
|
|
||||||
@@ -127,7 +127,13 @@ _dl_close_worker (struct link_map *map)
|
|
||||||
{
|
|
||||||
struct link_map **oldp = map->l_initfini;
|
|
||||||
map->l_initfini = map->l_orig_initfini;
|
|
||||||
- _dl_scope_free (oldp);
|
|
||||||
+ /* We can't remove the l_initfini memory because
|
|
||||||
+ it's shared with l_searchlist.r_list. We don't clear
|
|
||||||
+ the latter so when we dlopen this object again that
|
|
||||||
+ entry would point to stale memory. And we don't want
|
|
||||||
+ to recompute it as it would involve a new call to
|
|
||||||
+ map_object_deps.
|
|
||||||
+ _dl_scope_free (oldp); */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
|||||||
--- posix/gai.conf~ 2010-05-12 04:10:58.087661000 +0200
|
Index: glibc-2.15/posix/gai.conf
|
||||||
+++ posix/gai.conf 2010-05-12 04:14:40.638820000 +0200
|
===================================================================
|
||||||
|
--- glibc-2.15.orig/posix/gai.conf
|
||||||
|
+++ glibc-2.15/posix/gai.conf
|
||||||
@@ -67,11 +67,66 @@
|
@@ -67,11 +67,66 @@
|
||||||
#scopev4 ::ffff:192.168.0.0/112 5
|
#scopev4 ::ffff:192.168.0.0/112 5
|
||||||
#scopev4 ::ffff:0.0.0.0/96 14
|
#scopev4 ::ffff:0.0.0.0/96 14
|
||||||
|
@ -1,3 +1,23 @@
|
|||||||
|
Index: glibc-2.15/nscd/nscd_stat.c
|
||||||
|
===================================================================
|
||||||
|
--- glibc-2.15/nscd/nscd_stat.c.orig 2010-01-18 18:01:41.000000000 +0100
|
||||||
|
+++ glibc-2.15/nscd/nscd_stat.c 2010-02-14 15:02:41.000000000 +0100
|
||||||
|
@@ -37,8 +37,13 @@
|
||||||
|
#endif /* HAVE_SELINUX */
|
||||||
|
|
||||||
|
|
||||||
|
-/* We use this to make sure the receiver is the same. */
|
||||||
|
+/* We use this to make sure the receiver is the same. Capture mtime
|
||||||
|
+ of this file if possible. */
|
||||||
|
+#if defined(__TIMESTAMP__)
|
||||||
|
+static const char compilation[21] = __TIMESTAMP__;
|
||||||
|
+#else
|
||||||
|
static const char compilation[21] = __DATE__ " " __TIME__;
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/* Statistic data for one database. */
|
||||||
|
struct dbstat
|
||||||
|
|
||||||
Index: glibc-2.15/csu/Makefile
|
Index: glibc-2.15/csu/Makefile
|
||||||
===================================================================
|
===================================================================
|
||||||
--- glibc-2.15.orig/csu/Makefile
|
--- glibc-2.15.orig/csu/Makefile
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
See:
|
See:
|
||||||
http://sourceware.org/bugzilla/show_bug.cgi?id=11928
|
http://sourceware.org/bugzilla/show_bug.cgi?id=11928
|
||||||
|
|
||||||
diff --git a/nscd/aicache.c b/nscd/aicache.c
|
Index: glibc-2.15/nscd/aicache.c
|
||||||
index 3cb2208..2e92929 100644
|
===================================================================
|
||||||
--- a/nscd/aicache.c
|
--- glibc-2.15.orig/nscd/aicache.c
|
||||||
+++ b/nscd/aicache.c
|
+++ glibc-2.15/nscd/aicache.c
|
||||||
@@ -26,6 +26,7 @@
|
@@ -26,6 +26,7 @@
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
@ -13,7 +13,7 @@ index 3cb2208..2e92929 100644
|
|||||||
|
|
||||||
#include "dbg_log.h"
|
#include "dbg_log.h"
|
||||||
#include "nscd.h"
|
#include "nscd.h"
|
||||||
@@ -103,6 +104,8 @@ addhstaiX (struct database_dyn *db, int fd, request_header *req,
|
@@ -103,6 +104,8 @@ addhstaiX (struct database_dyn *db, int
|
||||||
|
|
||||||
if (__res_maybe_init (&_res, 0) == -1)
|
if (__res_maybe_init (&_res, 0) == -1)
|
||||||
no_more = 1;
|
no_more = 1;
|
||||||
@ -22,11 +22,11 @@ index 3cb2208..2e92929 100644
|
|||||||
|
|
||||||
/* If we are looking for both IPv4 and IPv6 address we don't want
|
/* If we are looking for both IPv4 and IPv6 address we don't want
|
||||||
the lookup functions to automatically promote IPv4 addresses to
|
the lookup functions to automatically promote IPv4 addresses to
|
||||||
diff --git a/resolv/res_hconf.c b/resolv/res_hconf.c
|
Index: glibc-2.15/resolv/res_hconf.c
|
||||||
index ed55bec..c79b85a 100644
|
===================================================================
|
||||||
--- a/resolv/res_hconf.c
|
--- glibc-2.15.orig/resolv/res_hconf.c
|
||||||
+++ b/resolv/res_hconf.c
|
+++ glibc-2.15/resolv/res_hconf.c
|
||||||
@@ -84,7 +84,9 @@ static const struct cmd
|
@@ -83,7 +83,9 @@ static const struct cmd
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Structure containing the state. */
|
/* Structure containing the state. */
|
||||||
|
19
glibc-nscd.conf.patch
Normal file
19
glibc-nscd.conf.patch
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
Index: glibc-2.15/nscd/nscd.conf
|
||||||
|
===================================================================
|
||||||
|
--- glibc-2.15.orig/nscd/nscd.conf
|
||||||
|
+++ glibc-2.15/nscd/nscd.conf
|
||||||
|
@@ -61,11 +61,11 @@
|
||||||
|
auto-propagate group yes
|
||||||
|
|
||||||
|
enable-cache hosts yes
|
||||||
|
- positive-time-to-live hosts 3600
|
||||||
|
- negative-time-to-live hosts 20
|
||||||
|
+ positive-time-to-live hosts 600
|
||||||
|
+ negative-time-to-live hosts 0
|
||||||
|
suggested-size hosts 211
|
||||||
|
check-files hosts yes
|
||||||
|
- persistent hosts yes
|
||||||
|
+ persistent hosts no
|
||||||
|
shared hosts yes
|
||||||
|
max-db-size hosts 33554432
|
||||||
|
|
@ -1,8 +1,8 @@
|
|||||||
diff --git a/resolv/res_hconf.c b/resolv/res_hconf.c
|
Index: glibc-2.15/resolv/res_hconf.c
|
||||||
index ed55bec..f06db75 100644
|
===================================================================
|
||||||
--- a/resolv/res_hconf.c
|
--- glibc-2.15.orig/resolv/res_hconf.c
|
||||||
+++ b/resolv/res_hconf.c
|
+++ glibc-2.15/resolv/res_hconf.c
|
||||||
@@ -243,9 +243,12 @@ parse_line (const char *fname, int line_num, const char *str)
|
@@ -242,9 +242,12 @@ parse_line (const char *fname, int line_
|
||||||
if (c == NULL)
|
if (c == NULL)
|
||||||
{
|
{
|
||||||
char *buf;
|
char *buf;
|
||||||
|
@ -72,9 +72,10 @@ Content-Transfer-Encoding: 7bit
|
|||||||
Content-Disposition: inline;
|
Content-Disposition: inline;
|
||||||
filename="glibc-2.5-resolvconf.patch"
|
filename="glibc-2.5-resolvconf.patch"
|
||||||
|
|
||||||
diff -ur resolv.orig/res_libc.c resolv/res_libc.c
|
Index: glibc-2.15/resolv/res_libc.c
|
||||||
--- resolv.orig/res_libc.c 2005-11-01 01:06:40.000000000 +0100
|
===================================================================
|
||||||
+++ resolv/res_libc.c 2010-03-15 14:13:18.000000000 +0100
|
--- glibc-2.15.orig/resolv/res_libc.c
|
||||||
|
+++ glibc-2.15/resolv/res_libc.c
|
||||||
@@ -22,7 +22,7 @@
|
@@ -22,7 +22,7 @@
|
||||||
#include <arpa/nameser.h>
|
#include <arpa/nameser.h>
|
||||||
#include <resolv.h>
|
#include <resolv.h>
|
||||||
@ -84,7 +85,7 @@ diff -ur resolv.orig/res_libc.c resolv/res_libc.c
|
|||||||
|
|
||||||
/* The following bit is copied from res_data.c (where it is #ifdef'ed
|
/* The following bit is copied from res_data.c (where it is #ifdef'ed
|
||||||
out) since res_init() should go into libc.so but the rest of that
|
out) since res_init() should go into libc.so but the rest of that
|
||||||
@@ -89,12 +89,34 @@
|
@@ -89,12 +89,34 @@ res_init(void) {
|
||||||
return (__res_vinit(&_res, 1));
|
return (__res_vinit(&_res, 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -119,6 +120,3 @@ diff -ur resolv.orig/res_libc.c resolv/res_libc.c
|
|||||||
if (__res_initstamp != resp->_u._ext.initstamp) {
|
if (__res_initstamp != resp->_u._ext.initstamp) {
|
||||||
if (resp->nscount > 0)
|
if (resp->nscount > 0)
|
||||||
__res_iclose (resp, true);
|
__res_iclose (resp, true);
|
||||||
|
|
||||||
|
|
||||||
--------------060407080409020101000002--
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
test-lfs runs for ever on ReiserFS. Let's disable it completely.
|
test-lfs runs for ever on ReiserFS. Let's disable it completely.
|
||||||
|
|
||||||
Index: io/Makefile
|
Index: glibc-2.15/io/Makefile
|
||||||
===================================================================
|
===================================================================
|
||||||
--- io/Makefile.orig
|
--- glibc-2.15.orig/io/Makefile
|
||||||
+++ io/Makefile
|
+++ glibc-2.15/io/Makefile
|
||||||
@@ -64,7 +64,7 @@ static-only-routines = stat fstat lstat
|
@@ -64,7 +64,7 @@ static-only-routines = stat fstat lstat
|
||||||
|
|
||||||
others := pwd
|
others := pwd
|
||||||
|
@ -1,8 +1,3 @@
|
|||||||
Refused by Ulrich Drepper:
|
|
||||||
http://sourceware.org/ml/libc-alpha/2011-07/msg00046.html
|
|
||||||
|
|
||||||
We have to keep it until gcc handles this better.
|
|
||||||
|
|
||||||
2009-11-06 Petr Baudis <pasky@suse.cz>
|
2009-11-06 Petr Baudis <pasky@suse.cz>
|
||||||
|
|
||||||
* include/sys/uio.h: Change __vector to __iovec to avoid clash
|
* include/sys/uio.h: Change __vector to __iovec to avoid clash
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
Index: csu/version.c
|
Index: glibc-2.15/csu/version.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- csu/version.c.orig
|
--- glibc-2.15.orig/csu/version.c
|
||||||
+++ csu/version.c
|
+++ glibc-2.15/csu/version.c
|
||||||
@@ -25,19 +25,20 @@ static const char __libc_release[] = REL
|
@@ -25,11 +25,12 @@ static const char __libc_release[] = REL
|
||||||
static const char __libc_version[] = VERSION;
|
static const char __libc_version[] = VERSION;
|
||||||
|
|
||||||
static const char banner[] =
|
static const char banner[] =
|
||||||
@ -16,11 +16,3 @@ Index: csu/version.c
|
|||||||
Compiled by GNU CC version "__VERSION__".\n"
|
Compiled by GNU CC version "__VERSION__".\n"
|
||||||
#include "version-info.h"
|
#include "version-info.h"
|
||||||
#ifdef LIBC_ABIS_STRING
|
#ifdef LIBC_ABIS_STRING
|
||||||
LIBC_ABIS_STRING
|
|
||||||
#endif
|
|
||||||
#ifdef GLIBC_OLDEST_ABI
|
|
||||||
"The oldest ABI supported: " GLIBC_OLDEST_ABI ".\n"
|
|
||||||
#endif
|
|
||||||
"For bug reporting instructions, please see:\n\
|
|
||||||
<http://www.gnu.org/software/libc/bugs.html>.\n";
|
|
||||||
|
|
||||||
|
@ -1,3 +1,35 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Apr 22 11:35:05 UTC 2012 - aj@suse.de
|
||||||
|
|
||||||
|
- gcc 4.7 does not build crt files properly on powerpc64, backport
|
||||||
|
patch from upstream to handle this
|
||||||
|
(glibc-2.16-powerpc-initfini.patch)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Apr 20 18:28:18 UTC 2012 - aj@suse.de
|
||||||
|
|
||||||
|
- Disable patch x86-cpuid-level2.patch, this should be fixed in
|
||||||
|
valgrind now.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Apr 19 11:12:43 UTC 2012 - aj@suse.de
|
||||||
|
|
||||||
|
- Reorder patches, refresh to apply cleanly with -p1.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Apr 18 11:35:48 UTC 2012 - aj@suse.de
|
||||||
|
|
||||||
|
- Build profiled libs only for base.
|
||||||
|
- Cleanup patches.
|
||||||
|
- Remove glibc-2.14-fix-ctors.patch, we have proper support in
|
||||||
|
binutils now.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Apr 17 12:35:21 UTC 2012 - aj@suse.de
|
||||||
|
|
||||||
|
- The dynamic linker for armv7 hardware float is called
|
||||||
|
/lib/ld-linux-armhf.so.3. Provide symlink for old location.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Apr 17 08:29:21 UTC 2012 - aj@suse.de
|
Tue Apr 17 08:29:21 UTC 2012 - aj@suse.de
|
||||||
|
|
||||||
|
331
glibc.spec
331
glibc.spec
@ -120,17 +120,17 @@ Source: glibc-%{version}-%{git_id}.tar.bz2
|
|||||||
Source2: glibc-ports-%{glibc_ports_ver}-%{ports_git_id}.tar.bz2
|
Source2: glibc-ports-%{glibc_ports_ver}-%{ports_git_id}.tar.bz2
|
||||||
Source3: noversion.tar.bz2
|
Source3: noversion.tar.bz2
|
||||||
Source4: manpages.tar.bz2
|
Source4: manpages.tar.bz2
|
||||||
Source8: nsswitch.conf
|
Source5: nsswitch.conf
|
||||||
Source9: nscd.init
|
Source6: nscd.init
|
||||||
Source10: bindresvport.blacklist
|
Source7: bindresvport.blacklist
|
||||||
Source12: glibc_post_upgrade.c
|
Source8: glibc_post_upgrade.c
|
||||||
Source15: glibc.rpmlintrc
|
Source9: glibc.rpmlintrc
|
||||||
Source16: baselibs.conf
|
Source10: baselibs.conf
|
||||||
# For systemd
|
# For systemd
|
||||||
Source20: nscd.conf
|
Source20: nscd.conf
|
||||||
Source21: nscd.service
|
Source21: nscd.service
|
||||||
Source22: nscd.socket
|
Source22: nscd.socket
|
||||||
#
|
# crypt_blowfish
|
||||||
Source50: http://www.openwall.com/crypt/crypt_blowfish-%{crypt_bf_version}.tar.gz
|
Source50: http://www.openwall.com/crypt/crypt_blowfish-%{crypt_bf_version}.tar.gz
|
||||||
Source51: http://www.openwall.com/crypt/crypt_blowfish-%{crypt_bf_version}.tar.gz.sign
|
Source51: http://www.openwall.com/crypt/crypt_blowfish-%{crypt_bf_version}.tar.gz.sign
|
||||||
|
|
||||||
@ -146,8 +146,8 @@ NoSource: 0
|
|||||||
#
|
#
|
||||||
|
|
||||||
###
|
###
|
||||||
# Patches are ordered as:
|
# Patches are ordered in the following groups:
|
||||||
# Patches that we will never upstream or which have not been looked at: 0000-0999
|
# Patches that we will never upstream or which have not been looked at: 0-999
|
||||||
# Patches taken from upstream: 1000-2000
|
# Patches taken from upstream: 1000-2000
|
||||||
# Patches that are going upstream, waiting approval: 2000-3000
|
# Patches that are going upstream, waiting approval: 2000-3000
|
||||||
###
|
###
|
||||||
@ -155,96 +155,95 @@ NoSource: 0
|
|||||||
###
|
###
|
||||||
# Patches that upstream will not accept
|
# Patches that upstream will not accept
|
||||||
###
|
###
|
||||||
# PATCH-FIX-OPENSUSE remove lfs test from testsuite aj@suse.de
|
|
||||||
Patch0: glibc-testsuite.patch
|
###
|
||||||
# PATCH-FIX-OPENSUSE handle glibc binaries
|
# openSUSE specific patches - won't go upstream
|
||||||
Patch1: glibc-2.3.90-noversion.diff
|
###
|
||||||
# PATCH-FIX-OPENSUSE reload /etc/resolv.conf on change
|
### openSUSE extensions, configuration
|
||||||
Patch3: glibc-resolv-reload.diff
|
|
||||||
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
|
|
||||||
Patch4: glibc-2.3.locales.diff.bz2
|
|
||||||
# PATCH-FEATURE-OPENSUSE -- add crypt_blowfish support - bnc#700876
|
# PATCH-FEATURE-OPENSUSE -- add crypt_blowfish support - bnc#700876
|
||||||
Patch5: glibc-2.14-crypt.diff
|
Patch1: glibc-2.14-crypt.diff
|
||||||
# PATCH-FEATURE-OPENSUSE -- use separate symbol version for Owl extensions - lnussel@suse.de
|
# PATCH-FEATURE-OPENSUSE -- use separate symbol version for Owl extensions - lnussel@suse.de
|
||||||
Patch6: glibc-2.14-crypt-versioning.diff
|
Patch2: glibc-2.14-crypt-versioning.diff
|
||||||
# PATCH-FIX-OPENSUSE add some extra information to version output - kukuk@suse.de
|
|
||||||
Patch7: glibc-version.diff
|
|
||||||
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
|
|
||||||
Patch8: glibc-2.4.90-revert-only-euro.diff
|
|
||||||
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
|
|
||||||
Patch12: glibc-2.3.2.no_archive.diff
|
|
||||||
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
|
|
||||||
Patch14: glibc-2.3.90-bindresvport.blacklist.diff
|
|
||||||
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
|
|
||||||
Patch16: glibc-2.4.90-no_NO.diff
|
|
||||||
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
|
|
||||||
Patch20: glibc-2.4-china.diff
|
|
||||||
# PATCH-FIX-OPENSUSE Fix gb18030 code bnc#54080
|
|
||||||
Patch21: gb18030.patch.bz2
|
|
||||||
# PATCH-FIX-OPENSUSE Handle timestamp, adjust nscd.conf
|
|
||||||
Patch22: glibc-2.4.90-nscd.diff
|
|
||||||
# PATCH-FIX-OPENSUSE Fix path for nscd databases
|
|
||||||
Patch23: glibc-2.3.3-nscd-db-path.diff
|
|
||||||
# PATCH-FIX-OPENSUSE prefer -lang rpm packages
|
|
||||||
Patch25: glibc-2.3.90-langpackdir.diff
|
|
||||||
# PATCH-FIX-OPENSUSE Fix hangs in UDP RPC calls bso#5379 bnc#257745 aj@suse.de
|
|
||||||
Patch28: glibc-2.2-sunrpc.diff
|
|
||||||
# PATCH-FIX-OPENSUSE Do not generate hardlink for getconf
|
|
||||||
Patch29: glibc-2.8-getconf.diff
|
|
||||||
# PATCH-FIX-OPENSUSE only use ipv6 if real ipv6 address exists bnc#361697, bnc#684534
|
|
||||||
Patch30: getaddrinfo-ipv6-sanity.diff
|
|
||||||
# PATCH-FIX-OPENSUSE add option --enable-runbinaries to disable running of compiled binaries
|
|
||||||
Patch33: glibc-compiled-binaries.diff
|
|
||||||
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
|
|
||||||
Patch36: glibc-no-unwind-tables.diff
|
|
||||||
# PATCH-FEATURE-SLE increase cpusetsize to 4096, needs to be kept for compatibility kukuk@suse.de
|
|
||||||
Patch38: glibc-cpusetsize.diff
|
|
||||||
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
|
|
||||||
Patch45: glibc-gai-private4.diff
|
|
||||||
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
|
|
||||||
Patch46: glibc-resolv-mdnshint.diff
|
|
||||||
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
|
|
||||||
Patch47: glibc-nscd-hconf.diff
|
|
||||||
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
|
|
||||||
Patch49: glibc-fini-unwind.diff
|
|
||||||
# PATCH-FIX-OPENSUSE bnc#657627, http://sourceware.org/bugzilla/show_bug.cgi?id=12561
|
|
||||||
Patch52: glibc-elf-localscope.diff
|
|
||||||
# FIX-OPENSUSE compile some files with -fno-strict-aliasing
|
|
||||||
Patch58: glibc-strict-aliasing.diff
|
|
||||||
# PATCH-FIX-OPENSUSE disable rewriting ::1 to 127.0.0.1 for /etc/hosts bnc#684534, bnc#706719
|
|
||||||
Patch65: glibc-fix-double-loopback.diff
|
|
||||||
# PATCH-FEATURE-OPENSUSE Revert sunrpc removal aj@suse.de
|
|
||||||
Patch66: glibc2.14-revert-sunrpc-removal.patch
|
|
||||||
# PATCH-FIX-OPENSUSE revert seeking on fclose for now bnc#711829 matz@suse.de
|
|
||||||
Patch67: glibc-revert-fseek-on-fclose.diff
|
|
||||||
# PATCH-FIX-OPENSUSE Fix crash (access-after-free) in dl_lookup_x bnc#703140, bso#13579 matz@suse.de
|
|
||||||
Patch68: glibc-fix-lookup-crash.patch
|
|
||||||
# PATCH-FIX-OPENSUSE Fix crash (access-after-free) in dl_lookup_x bnc#703140, bso#13579 matz@suse.de
|
|
||||||
Patch69: glibc-fix-noload.patch
|
|
||||||
# PATCH-FIX-OPENSUSE Do not trigger an abort when an i586 Intel CPU is running the i686 library, as valgrind does. bnc#681398 aj@suse.de
|
|
||||||
Patch71: x86-cpuid-level2.patch
|
|
||||||
# PATCH-FIX-OPENSUSE Run ctors (bnc#717671) aj@suse.de
|
|
||||||
Patch74: glibc-2.14-fix-ctors.patch
|
|
||||||
# PATCH-FEATURE-OPENSUSE -- add sha support to crypt_blowfish lnussel@suse.de
|
# PATCH-FEATURE-OPENSUSE -- add sha support to crypt_blowfish lnussel@suse.de
|
||||||
Patch80: crypt_blowfish-1.2-sha.diff
|
Patch3: crypt_blowfish-1.2-sha.diff
|
||||||
# PATCH-FEATURE-OPENSUSE -- use separate symbol version for Owl extensions - lnussel@suse.de
|
# PATCH-FEATURE-OPENSUSE -- use separate symbol version for Owl extensions - lnussel@suse.de
|
||||||
Patch81: crypt_blowfish-1.2-versioning.diff
|
Patch4: crypt_blowfish-1.2-versioning.diff
|
||||||
# PATCH-FIX-OPENSUSE Avoid build failure on noexecstack marker on ARM dmueller@suse.de
|
# PATCH-FIX-OPENSUSE Avoid build failure on noexecstack marker on ARM dmueller@suse.de
|
||||||
Patch82: crypt_blowfish-1.2-hack_around_arm.diff
|
Patch5: crypt_blowfish-1.2-hack_around_arm.diff
|
||||||
# PATCH-FIX-OPENSUSE avoid false positive warning that triggers brp postcheck fail
|
# PATCH-FIX-OPENSUSE Fix path for nscd databases
|
||||||
Patch84: nscd-avoid-gcc-warning.diff
|
Patch6: glibc-2.3.3-nscd-db-path.diff
|
||||||
# PATCH-FIX-OPENSUSE fixed build-compare by omitting one more date - meissner@suse.de
|
|
||||||
Patch87: glibc-nodate.patch
|
|
||||||
# PATCH-FIX-OPENSUSE revert pthread-cond-wait change since it causes hangs - aj@suse.de
|
|
||||||
Patch88: pthread-cond-wait-revert.patch
|
|
||||||
# PATCH-FIX-OPENSUSE Fix cycle detection - aj@suse.de
|
|
||||||
Patch95: cycle-detection.patch
|
|
||||||
# PATCH-FIX-OPENSUSE Fix LD_PROFILE (glibc bug#13818) - aj@suse.de
|
|
||||||
Patch96: glibc-ld-profile.patch
|
|
||||||
# PATCH-FIX-OPENSUSE Fix path for nss_db (bnc#753657) - aj@suse.de
|
# PATCH-FIX-OPENSUSE Fix path for nss_db (bnc#753657) - aj@suse.de
|
||||||
Patch97: nss-db-path.patch
|
Patch7: nss-db-path.patch
|
||||||
# PATCH-FIX-OPENSUSE Fix cycle detection 2 (from Fedora) - aj@suse.de
|
# PATCH-FIX-OPENSUSE adjust nscd.conf
|
||||||
Patch100: glibc-sw13618-2.patch
|
Patch8: glibc-nscd.conf.patch
|
||||||
|
# PATCH-FIX-OPENSUSE do not use compile time in binaries
|
||||||
|
Patch9: glibc-nodate.patch
|
||||||
|
# PATCH-FIX-OPENSUSE -- add some extra information to version output - kukuk@suse.de
|
||||||
|
Patch10: glibc-version.diff
|
||||||
|
# PATCH-FIX-OPENSUSE remove lfs test from testsuite aj@suse.de
|
||||||
|
Patch11: glibc-testsuite.patch
|
||||||
|
# PATCH-FIX-OPENSUSE handle old glibc binaries
|
||||||
|
Patch12: glibc-2.3.90-noversion.diff
|
||||||
|
# PATCH-FIX-OPENSUSE -- Make --no-archive default for localedef - kukuk@suse.de
|
||||||
|
Patch13: glibc-2.3.2.no_archive.diff
|
||||||
|
# PATCH-FIX-OPENSUSE -- add blacklist for bindresvport
|
||||||
|
Patch14: glibc-2.3.90-bindresvport.blacklist.diff
|
||||||
|
# PATCH-FIX-OPENSUSE prefer -lang rpm packages
|
||||||
|
Patch15: glibc-2.3.90-langpackdir.diff
|
||||||
|
# PATCH-FIX-OPENSUSE Do not generate hardlink for getconf
|
||||||
|
Patch16: glibc-2.8-getconf.diff
|
||||||
|
# PATCH-FIX-OPENSUSE add option --enable-runbinaries to disable running of compiled binaries
|
||||||
|
Patch17: glibc-compiled-binaries.diff
|
||||||
|
# PATCH-FEATURE-SLE increase cpusetsize to 4096, needs to be kept for compatibility kukuk@suse.de (XXX: Review)
|
||||||
|
Patch18: glibc-cpusetsize.diff
|
||||||
|
# PATCH-FIX-OPENSUSE Do not trigger an abort when an i586 Intel CPU is running the i686 library, as valgrind does. bnc#681398 aj@suse.de
|
||||||
|
# According the the Debian bug report, this is fixed in valgrind now, so disable
|
||||||
|
# this patch.
|
||||||
|
Patch19: x86-cpuid-level2.patch
|
||||||
|
|
||||||
|
### Locale related patches
|
||||||
|
# PATCH-FIX-OPENSUSE Add additional locales
|
||||||
|
Patch100: glibc-2.3.locales.diff.bz2
|
||||||
|
# PATCH-FIX-OPENSUSE Support pre-EURO currencies (XXX: Still needed?)
|
||||||
|
Patch101: glibc-2.4.90-revert-only-euro.diff
|
||||||
|
# PATCH-FIX-OPENSUSE -- Add no_NO back (XXX: Still needed?)
|
||||||
|
Patch102: glibc-2.4.90-no_NO.diff
|
||||||
|
# PATCH-FIX-OPENSUSE -- Renames for China
|
||||||
|
Patch103: glibc-2.4-china.diff
|
||||||
|
# PATCH-FIX-OPENSUSE Fix gb18030 code bnc#54080
|
||||||
|
Patch104: gb18030.patch.bz2
|
||||||
|
|
||||||
|
### Broken patches in glibc that we revert for now:
|
||||||
|
# PATCH-FEATURE-OPENSUSE Revert sunrpc removal aj@suse.de
|
||||||
|
Patch200: glibc2.14-revert-sunrpc-removal.patch
|
||||||
|
# PATCH-FIX-OPENSUSE revert seeking on fclose for now bnc#711829 matz@suse.de
|
||||||
|
Patch201: glibc-revert-fseek-on-fclose.diff
|
||||||
|
# PATCH-FIX-OPENSUSE revert pthread-cond-wait change since it causes hangs - aj@suse.de
|
||||||
|
Patch202: pthread-cond-wait-revert.patch
|
||||||
|
|
||||||
|
### Network related patches
|
||||||
|
# PATCH-FIX-OPENSUSE reload /etc/resolv.conf on change
|
||||||
|
Patch300: glibc-resolv-reload.diff
|
||||||
|
# PATCH-FIX-OPENSUSE Fix hangs in UDP RPC calls bso#5379 bnc#257745 aj@suse.de
|
||||||
|
Patch301: glibc-2.2-sunrpc.diff
|
||||||
|
# PATCH-FIX-OPENSUSE only use ipv6 if real ipv6 address exists bnc#361697, bnc#684534
|
||||||
|
Patch302: getaddrinfo-ipv6-sanity.diff
|
||||||
|
# PATCH-FIX-OPENSUSE Consider private IPv4 addresses as global-scope in gai.conf [bnc#597616]
|
||||||
|
Patch303: glibc-gai-private4.diff
|
||||||
|
# PATCH-FIX-OPENSUSE Warn about usage of mdns in resolv.conv
|
||||||
|
Patch304: glibc-resolv-mdnshint.diff
|
||||||
|
# PATCH-FIX-OPENSUSE nscd does not account for 'multi on' in /etc/host.conf when ai-resolving host bso#11928
|
||||||
|
Patch305: glibc-nscd-hconf.diff
|
||||||
|
# PATCH-FIX-OPENSUSE disable rewriting ::1 to 127.0.0.1 for /etc/hosts bnc#684534, bnc#706719
|
||||||
|
Patch306: glibc-fix-double-loopback.diff
|
||||||
|
|
||||||
|
### Misc patches
|
||||||
|
# PATCH-FIX-OPENSUSE don't use unwind tables for initfini (solved differently for glibc 2.16)
|
||||||
|
Patch400: glibc-no-unwind-tables.diff
|
||||||
|
# FIX-OPENSUSE compile some files with -fno-strict-aliasing
|
||||||
|
Patch401: glibc-strict-aliasing.diff
|
||||||
|
# PATCH-FIX-OPENSUSE avoid false positive warning that triggers brp postcheck fail
|
||||||
|
Patch402: nscd-avoid-gcc-warning.diff
|
||||||
|
|
||||||
###
|
###
|
||||||
# Patches from upstream
|
# Patches from upstream
|
||||||
@ -269,6 +268,8 @@ Patch1007: glibc-2.16-fix-check-abi.patch
|
|||||||
Patch1008: glibc-2.16-fix-check-localplt.patch
|
Patch1008: glibc-2.16-fix-check-localplt.patch
|
||||||
# PATCH-FIX-UPSTREAM - Allow compilation with -altivec aj@suse.de
|
# PATCH-FIX-UPSTREAM - Allow compilation with -altivec aj@suse.de
|
||||||
Patch1009: glibc-uio-cell.diff
|
Patch1009: glibc-uio-cell.diff
|
||||||
|
# PATCH-FIX-UPSTREAM - do not use initfini anymore
|
||||||
|
Patch1010: glibc-2.16-powerpc-initfini.patch
|
||||||
|
|
||||||
###
|
###
|
||||||
# Patches awaiting upstream approval
|
# Patches awaiting upstream approval
|
||||||
@ -279,6 +280,18 @@ Patch2001: glibc-resolv-assert.diff
|
|||||||
Patch2002: armhf-ld-so.patch
|
Patch2002: armhf-ld-so.patch
|
||||||
# PATCH-FIX-UPSTREAM Fix crash when nscd is not running (bso#135949) - aj@suse.de
|
# PATCH-FIX-UPSTREAM Fix crash when nscd is not running (bso#135949) - aj@suse.de
|
||||||
Patch2003: glibc-nscd-crash-bso13594.patch
|
Patch2003: glibc-nscd-crash-bso13594.patch
|
||||||
|
# PATCH-FIX-OPENSUSE Fix crash (access-after-free) in dl_lookup_x bnc#703140, bso#13579 matz@suse.de
|
||||||
|
Patch2004: glibc-fix-noload.patch
|
||||||
|
# PATCH-FIX-OPENSUSE bnc#657627, http://sourceware.org/bugzilla/show_bug.cgi?id=12561
|
||||||
|
Patch2005: glibc-elf-localscope.diff
|
||||||
|
# PATCH-FIX-OPENSUSE Fix cycle detection - aj@suse.de
|
||||||
|
Patch2006: cycle-detection.patch
|
||||||
|
# PATCH-FIX-OPENSUSE Fix cycle detection 2 (from Fedora) - aj@suse.de
|
||||||
|
Patch2007: glibc-sw13618-2.patch
|
||||||
|
# PATCH-FIX-OPENSUSE Fix LD_PROFILE (glibc bug#13818) - aj@suse.de
|
||||||
|
Patch2008: glibc-ld-profile.patch
|
||||||
|
# PATCH-FIX-OPENSUSE _fini does not have proper unwinding information on x86_64 bso#11610
|
||||||
|
Patch2009: glibc-fini-unwind.diff
|
||||||
|
|
||||||
%description
|
%description
|
||||||
The GNU C Library provides the most important standard libraries used
|
The GNU C Library provides the most important standard libraries used
|
||||||
@ -460,81 +473,87 @@ versions of your software.
|
|||||||
# Owl crypt_blowfish
|
# Owl crypt_blowfish
|
||||||
tar -xzf %SOURCE50
|
tar -xzf %SOURCE50
|
||||||
pushd crypt_blowfish-%{crypt_bf_version}
|
pushd crypt_blowfish-%{crypt_bf_version}
|
||||||
%patch80 -p1
|
%patch3 -p1
|
||||||
%patch81 -p1
|
%patch4 -p1
|
||||||
%patch82
|
%patch5
|
||||||
popd
|
popd
|
||||||
mv crypt/{crypt.h,gnu-crypt.h}
|
mv crypt/{crypt.h,gnu-crypt.h}
|
||||||
mv crypt_blowfish-%crypt_bf_version/*.[chS] crypt/
|
mv crypt_blowfish-%crypt_bf_version/*.[chS] crypt/
|
||||||
#
|
#
|
||||||
%patch0
|
|
||||||
# libNoVersion part is only active on ix86
|
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch3
|
%patch2 -p1
|
||||||
%patch4
|
|
||||||
%patch5 -p1
|
|
||||||
%patch6 -p1
|
%patch6 -p1
|
||||||
%patch7
|
%patch7 -p1
|
||||||
%patch8
|
%patch8 -p1
|
||||||
%patch12
|
|
||||||
%patch14
|
|
||||||
%patch16 -p1
|
|
||||||
%patch20 -p1
|
|
||||||
%patch21 -p1
|
|
||||||
# avoid changing nscd_stat.c mtime to avoid code generation
|
# avoid changing nscd_stat.c mtime to avoid code generation
|
||||||
# differences on each rebuild
|
# differences on each rebuild
|
||||||
touch -r nscd/nscd_stat.c nscd/s-stamp
|
touch -r nscd/nscd_stat.c nscd/s-stamp
|
||||||
%patch22
|
%patch9 -p1
|
||||||
%patch23
|
|
||||||
touch -r nscd/s-stamp nscd/nscd_stat.c
|
touch -r nscd/s-stamp nscd/nscd_stat.c
|
||||||
rm nscd/s-stamp
|
rm nscd/s-stamp
|
||||||
%patch25
|
%patch10 -p1
|
||||||
%patch28 -p1
|
%patch11 -p1
|
||||||
%patch29
|
%patch12 -p1
|
||||||
%patch30
|
%patch13 -p1
|
||||||
%patch33 -p1
|
%patch14 -p1
|
||||||
%patch36 -p1
|
%patch15 -p1
|
||||||
%patch38
|
%patch16 -p1
|
||||||
%patch1009 -p1
|
%patch17 -p1
|
||||||
%patch45
|
%patch18 -p1
|
||||||
%patch46 -p1
|
# This should be fixed in valgrind now
|
||||||
%patch47 -p1
|
#%patch19 -p1
|
||||||
%patch49
|
|
||||||
# XXX: Does not pass testsuite, still there's no better solution yet
|
%patch100 -p1
|
||||||
%patch52
|
%patch101 -p1
|
||||||
%patch58 -p1
|
%patch102 -p1
|
||||||
%patch65 -p1
|
%patch103 -p1
|
||||||
%patch66 -p1
|
%patch104 -p1
|
||||||
%patch67 -p1
|
|
||||||
# XXX Patch 69 replaces 68, remove soon
|
%patch200 -p1
|
||||||
#%patch68 -p1
|
%patch201 -p1
|
||||||
%patch69 -p1
|
%patch202 -p1 -R
|
||||||
%patch71 -p1
|
|
||||||
%patch2001 -p1
|
%patch300 -p1
|
||||||
%patch74 -p1
|
%patch301 -p1
|
||||||
|
%patch302 -p1
|
||||||
|
%patch303 -p1
|
||||||
|
%patch304 -p1
|
||||||
|
%patch305 -p1
|
||||||
|
%patch306 -p1
|
||||||
|
|
||||||
|
%patch400 -p1
|
||||||
|
%patch401 -p1
|
||||||
|
%patch402 -p1
|
||||||
|
|
||||||
%patch1000 -p1
|
%patch1000 -p1
|
||||||
%patch84 -p1
|
|
||||||
%patch87 -p1
|
|
||||||
%patch88 -p1 -R
|
|
||||||
%patch1001 -p1
|
%patch1001 -p1
|
||||||
%patch1002 -p1
|
%patch1002 -p1
|
||||||
%patch1003 -p1
|
%patch1003 -p1
|
||||||
%patch1004 -p1
|
%patch1004 -p1
|
||||||
%patch1005 -p1
|
%patch1005 -p1
|
||||||
%patch95 -p1
|
|
||||||
# XXX Disable, it breaks the testsuite, test elf/tst-audit2
|
|
||||||
# %patch96 -p1
|
|
||||||
%patch97 -p1
|
|
||||||
%patch2003 -p1
|
|
||||||
%patch1006 -p1
|
%patch1006 -p1
|
||||||
%patch100 -p1
|
|
||||||
%patch1007 -p1
|
%patch1007 -p1
|
||||||
%patch1008 -p1
|
%patch1008 -p1
|
||||||
%ifarch armv7l
|
%patch1009 -p1
|
||||||
# Disable for now
|
%ifarch ppc ppc64
|
||||||
#%patch2002 -p1
|
# to support further architectures, some more changes are needed
|
||||||
|
%patch1010 -p1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%patch2001 -p1
|
||||||
|
%ifarch armv7l
|
||||||
|
%patch2002 -p1
|
||||||
|
%endif
|
||||||
|
%patch2003 -p1
|
||||||
|
%patch2004 -p1
|
||||||
|
# XXX: Does not pass testsuite, still there's no better solution yet
|
||||||
|
%patch2005 -p1
|
||||||
|
%patch2006 -p1
|
||||||
|
%patch2007 -p1
|
||||||
|
# XXX Disable, it breaks the testsuite, test elf/tst-audit2
|
||||||
|
# %patch2008 -p1
|
||||||
|
%patch2009 -p1
|
||||||
|
|
||||||
#
|
#
|
||||||
# Inconsistency detected by ld.so: dl-close.c: 719: _dl_close: Assertion `map->l_init_called' failed!
|
# Inconsistency detected by ld.so: dl-close.c: 719: _dl_close: Assertion `map->l_init_called' failed!
|
||||||
#
|
#
|
||||||
@ -664,13 +683,17 @@ configure_and_build_glibc() {
|
|||||||
conf_cflags="$cflags"
|
conf_cflags="$cflags"
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
profile="--disable-profile"
|
||||||
|
%if %{build_profile}
|
||||||
|
if [ "$dirname" = "base" ] ; then
|
||||||
|
profile="--enable-profile"
|
||||||
|
fi
|
||||||
|
%endif
|
||||||
CFLAGS="$conf_cflags" CC="$BuildCC" CXX="$BuildCCplus" ../configure \
|
CFLAGS="$conf_cflags" CC="$BuildCC" CXX="$BuildCCplus" ../configure \
|
||||||
--prefix=%{_prefix} \
|
--prefix=%{_prefix} \
|
||||||
--libexecdir=%{_libdir} --infodir=%{_infodir} \
|
--libexecdir=%{_libdir} --infodir=%{_infodir} \
|
||||||
--enable-add-ons=nptl$addons \
|
--enable-add-ons=nptl$addons \
|
||||||
%if %{build_profile}
|
$profile \
|
||||||
--enable-profile \
|
|
||||||
%endif
|
|
||||||
"$@" \
|
"$@" \
|
||||||
%if %{enable_stackguard_randomization}
|
%if %{enable_stackguard_randomization}
|
||||||
--enable-stackguard-randomization \
|
--enable-stackguard-randomization \
|
||||||
@ -916,8 +939,8 @@ cp -av bits/stdio-lock.h %{buildroot}%{_includedir}/bits/stdio-lock.h
|
|||||||
|
|
||||||
install -m 0700 glibc_post_upgrade %{buildroot}%{_sbindir}
|
install -m 0700 glibc_post_upgrade %{buildroot}%{_sbindir}
|
||||||
|
|
||||||
install -m 644 $RPM_SOURCE_DIR/bindresvport.blacklist %{buildroot}/etc
|
install -m 644 %{SOURCE7} %{buildroot}/etc
|
||||||
install -m 644 $RPM_SOURCE_DIR/nsswitch.conf %{buildroot}/etc
|
install -m 644 %{SOURCE5} %{buildroot}/etc
|
||||||
install -m 644 posix/gai.conf %{buildroot}/etc
|
install -m 644 posix/gai.conf %{buildroot}/etc
|
||||||
|
|
||||||
mkdir -p %{buildroot}/etc/default
|
mkdir -p %{buildroot}/etc/default
|
||||||
@ -944,7 +967,7 @@ popd
|
|||||||
|
|
||||||
cp nscd/nscd.conf %{buildroot}/etc
|
cp nscd/nscd.conf %{buildroot}/etc
|
||||||
mkdir -p %{buildroot}/etc/init.d
|
mkdir -p %{buildroot}/etc/init.d
|
||||||
install -m 755 $RPM_SOURCE_DIR/nscd.init %{buildroot}/etc/init.d/nscd
|
install -m 755 %{SOURCE6} %{buildroot}/etc/init.d/nscd
|
||||||
ln -sf /etc/init.d/nscd %{buildroot}/usr/sbin/rcnscd
|
ln -sf /etc/init.d/nscd %{buildroot}/usr/sbin/rcnscd
|
||||||
mkdir -p %{buildroot}/var/run/nscd
|
mkdir -p %{buildroot}/var/run/nscd
|
||||||
touch %{buildroot}/var/run/nscd/{passwd,group,hosts}
|
touch %{buildroot}/var/run/nscd/{passwd,group,hosts}
|
||||||
@ -998,7 +1021,7 @@ install -m 644 %{SOURCE22} %{buildroot}/lib/systemd/system
|
|||||||
|
|
||||||
%ifarch armv7l
|
%ifarch armv7l
|
||||||
# Provide compatibility link
|
# Provide compatibility link
|
||||||
# XXX ln -s ld-%{version}.so %{buildroot}/lib/ld-linux.so.3
|
ln -s ld-%{version}.so %{buildroot}/lib/ld-linux.so.3
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
#######################################################################
|
#######################################################################
|
||||||
@ -1077,7 +1100,7 @@ exit 0
|
|||||||
# Each architecture has a different name for the dynamic linker:
|
# Each architecture has a different name for the dynamic linker:
|
||||||
%ifarch %arm
|
%ifarch %arm
|
||||||
%ifarch armv7l
|
%ifarch armv7l
|
||||||
#XXX /%{_lib}/ld-linux-armhf.so.3
|
/%{_lib}/ld-linux-armhf.so.3
|
||||||
# Keep compatibility link
|
# Keep compatibility link
|
||||||
/%{_lib}/ld-linux.so.3
|
/%{_lib}/ld-linux.so.3
|
||||||
%else
|
%else
|
||||||
|
Loading…
Reference in New Issue
Block a user