Commit 51657ab1 authored by Carsten Munk's avatar Carsten Munk

Upgrade to 2.18-0ubuntu2

parent 7a1f6955
This diff is collapsed.
diff -ru eglibc-2.18/ports/sysdeps/aarch64/nptl/pthread_spin_lock.c eglibc-2.18-sb2-workaround/ports/sysdeps/aarch64/nptl/pthread_spin_lock.c
--- eglibc-2.18/ports/sysdeps/aarch64/nptl/pthread_spin_lock.c 2013-01-10 00:28:48.000000000 +0000
+++ eglibc-2.18-sb2-workaround/ports/sysdeps/aarch64/nptl/pthread_spin_lock.c 2013-12-27 08:56:08.000000000 +0000
@@ -21,4 +21,4 @@
/* We can't use the normal "#include <nptl/pthread_spin_lock.c>" because
it will resolve to this very file. Using "sysdeps/.." as reference to the
top level directory does the job. */
-#include <sysdeps/../nptl/pthread_spin_lock.c>
+#include <sysdeps/../../eglibc-2.18/nptl/pthread_spin_lock.c>
diff -ru eglibc-2.18/ports/sysdeps/arm/nptl/pthread_spin_lock.c eglibc-2.18-sb2-workaround/ports/sysdeps/arm/nptl/pthread_spin_lock.c
--- eglibc-2.18/ports/sysdeps/arm/nptl/pthread_spin_lock.c 2013-01-10 00:28:48.000000000 +0000
+++ eglibc-2.18-sb2-workaround/ports/sysdeps/arm/nptl/pthread_spin_lock.c 2013-12-27 08:55:03.000000000 +0000
@@ -20,4 +20,4 @@
/* We can't use the normal "#include <nptl/pthread_spin_lock.c>" because
it will resolve to this very file. Using "sysdeps/.." as reference to the
top level directory does the job. */
-#include <sysdeps/../nptl/pthread_spin_lock.c>
+#include <sysdeps/../../eglibc-2.18/nptl/pthread_spin_lock.c>
diff -ru eglibc-2.18/ports/sysdeps/mips/nptl/pthread_spin_lock.c eglibc-2.18-sb2-workaround/ports/sysdeps/mips/nptl/pthread_spin_lock.c
--- eglibc-2.18/ports/sysdeps/mips/nptl/pthread_spin_lock.c 2013-01-10 00:28:48.000000000 +0000
+++ eglibc-2.18-sb2-workaround/ports/sysdeps/mips/nptl/pthread_spin_lock.c 2013-12-27 08:56:28.000000000 +0000
@@ -20,4 +20,5 @@
/* We can't use the normal "#include <nptl/pthread_spin_lock.c>" because
it will resolve to this very file. Using "sysdeps/.." as reference to the
top level directory does the job. */
-#include <sysdeps/../nptl/pthread_spin_lock.c>
+#include <sysdeps/../../eglibc-2.18/nptl/pthread_spin_lock.c>
+
diff --git a/libc/posix/confstr.c b/libc/posix/confstr.c
index 3f79d45..b5b4185 100644
--- a/libc/posix/confstr.c
+++ b/libc/posix/confstr.c
@@ -34,10 +36,6 @@ confstr (name, buf, len)
const char *string = "";
size_t string_len = 1;
- /* Note that this buffer must be large enough for the longest strings
- used below. */
- char restenvs[4 * sizeof "POSIX_V7_LPBIG_OFFBIG"];
-
switch (name)
{
case _CS_PATH:
diff --git a/libc/posix/confstr.inc b/libc/posix/confstr.inc
index 9f1a071..ee88304 100644
--- a/libc/posix/confstr.inc
+++ b/libc/posix/confstr.inc
@@ -28,55 +28,59 @@
wint_t types are no greater than the width of type long.
Currently this means all environment which the system allows. */
- string_len = 0;
+ {
+ char restenvs[4 * sizeof "POSIX_V7_LPBIG_OFFBIG"];
+
+ string_len = 0;
#ifndef _POSIX_V7_ILP32_OFF32
- if (__sysconf (_SC_V7_ILP32_OFF32) > 0)
+ if (__sysconf (_SC_V7_ILP32_OFF32) > 0)
#endif
#if !defined _POSIX_V7_ILP32_OFF32 || _POSIX_V7_ILP32_OFF32 > 0
- {
- memcpy (restenvs + string_len, "POSIX_V7_ILP32_OFF32",
- sizeof "POSIX_V7_ILP32_OFF32" - 1);
- string_len += sizeof "POSIX_V7_ILP32_OFF32" - 1;
- }
+ {
+ memcpy (restenvs + string_len, "POSIX_V7_ILP32_OFF32",
+ sizeof "POSIX_V7_ILP32_OFF32" - 1);
+ string_len += sizeof "POSIX_V7_ILP32_OFF32" - 1;
+ }
#endif
#ifndef _POSIX_V7_ILP32_OFFBIG
- if (__sysconf (_SC_V7_ILP32_OFFBIG) > 0)
+ if (__sysconf (_SC_V7_ILP32_OFFBIG) > 0)
#endif
#if !defined _POSIX_V7_ILP32_OFFBIG || _POSIX_V7_ILP32_OFFBIG > 0
- {
- if (string_len)
- restenvs[string_len++] = '\n';
- memcpy (restenvs + string_len, "POSIX_V7_ILP32_OFFBIG",
- sizeof "POSIX_V7_ILP32_OFFBIG" - 1);
- string_len += sizeof "POSIX_V7_ILP32_OFFBIG" - 1;
- }
+ {
+ if (string_len)
+ restenvs[string_len++] = '\n';
+ memcpy (restenvs + string_len, "POSIX_V7_ILP32_OFFBIG",
+ sizeof "POSIX_V7_ILP32_OFFBIG" - 1);
+ string_len += sizeof "POSIX_V7_ILP32_OFFBIG" - 1;
+ }
#endif
#ifndef _POSIX_V7_LP64_OFF64
- if (__sysconf (_SC_V7_LP64_OFF64) > 0)
+ if (__sysconf (_SC_V7_LP64_OFF64) > 0)
#endif
#if !defined _POSIX_V7_LP64_OFF64 || _POSIX_V7_LP64_OFF64 > 0
- {
- if (string_len)
- restenvs[string_len++] = '\n';
- memcpy (restenvs + string_len, "POSIX_V7_LP64_OFF64",
- sizeof "POSIX_V7_LP64_OFF64" - 1);
- string_len += sizeof "POSIX_V7_LP64_OFF64" - 1;
- }
+ {
+ if (string_len)
+ restenvs[string_len++] = '\n';
+ memcpy (restenvs + string_len, "POSIX_V7_LP64_OFF64",
+ sizeof "POSIX_V7_LP64_OFF64" - 1);
+ string_len += sizeof "POSIX_V7_LP64_OFF64" - 1;
+ }
#endif
#ifndef _POSIX_V7_LPBIG_OFFBIG
- if (__sysconf (_SC_V7_LPBIG_OFFBIG) > 0)
+ if (__sysconf (_SC_V7_LPBIG_OFFBIG) > 0)
#endif
#if !defined _POSIX_V7_LPBIG_OFFBIG || _POSIX_V7_LPBIG_OFFBIG > 0
- {
- if (string_len)
- restenvs[string_len++] = '\n';
- memcpy (restenvs + string_len, "POSIX_V7_LPBIG_OFFBIG",
- sizeof "POSIX_V7_LPBIG_OFFBIG" - 1);
- string_len += sizeof "POSIX_V7_LPBIG_OFFBIG" - 1;
- }
-#endif
- restenvs[string_len++] = '\0';
- string = restenvs;
+ {
+ if (string_len)
+ restenvs[string_len++] = '\n';
+ memcpy (restenvs + string_len, "POSIX_V7_LPBIG_OFFBIG",
+ sizeof "POSIX_V7_LPBIG_OFFBIG" - 1);
+ string_len += sizeof "POSIX_V7_LPBIG_OFFBIG" - 1;
+ }
+#endif
+ restenvs[string_len++] = '\0';
+ string = restenvs;
+ }
break;
case _CS_V6_WIDTH_RESTRICTED_ENVS:
@@ -87,55 +91,59 @@
wint_t types are no greater than the width of type long.
Currently this means all environment which the system allows. */
- string_len = 0;
+ {
+ char restenvs[4 * sizeof "POSIX_V6_LPBIG_OFFBIG"];
+
+ string_len = 0;
#ifndef _POSIX_V6_ILP32_OFF32
- if (__sysconf (_SC_V6_ILP32_OFF32) > 0)
+ if (__sysconf (_SC_V6_ILP32_OFF32) > 0)
#endif
#if !defined _POSIX_V6_ILP32_OFF32 || _POSIX_V6_ILP32_OFF32 > 0
- {
- memcpy (restenvs + string_len, "POSIX_V6_ILP32_OFF32",
- sizeof "POSIX_V6_ILP32_OFF32" - 1);
- string_len += sizeof "POSIX_V6_ILP32_OFF32" - 1;
- }
+ {
+ memcpy (restenvs + string_len, "POSIX_V6_ILP32_OFF32",
+ sizeof "POSIX_V6_ILP32_OFF32" - 1);
+ string_len += sizeof "POSIX_V6_ILP32_OFF32" - 1;
+ }
#endif
#ifndef _POSIX_V6_ILP32_OFFBIG
- if (__sysconf (_SC_V6_ILP32_OFFBIG) > 0)
+ if (__sysconf (_SC_V6_ILP32_OFFBIG) > 0)
#endif
#if !defined _POSIX_V6_ILP32_OFFBIG || _POSIX_V6_ILP32_OFFBIG > 0
- {
- if (string_len)
- restenvs[string_len++] = '\n';
- memcpy (restenvs + string_len, "POSIX_V6_ILP32_OFFBIG",
- sizeof "POSIX_V6_ILP32_OFFBIG" - 1);
- string_len += sizeof "POSIX_V6_ILP32_OFFBIG" - 1;
- }
+ {
+ if (string_len)
+ restenvs[string_len++] = '\n';
+ memcpy (restenvs + string_len, "POSIX_V6_ILP32_OFFBIG",
+ sizeof "POSIX_V6_ILP32_OFFBIG" - 1);
+ string_len += sizeof "POSIX_V6_ILP32_OFFBIG" - 1;
+ }
#endif
#ifndef _POSIX_V6_LP64_OFF64
- if (__sysconf (_SC_V6_LP64_OFF64) > 0)
+ if (__sysconf (_SC_V6_LP64_OFF64) > 0)
#endif
#if !defined _POSIX_V6_LP64_OFF64 || _POSIX_V6_LP64_OFF64 > 0
- {
- if (string_len)
- restenvs[string_len++] = '\n';
- memcpy (restenvs + string_len, "POSIX_V6_LP64_OFF64",
- sizeof "POSIX_V6_LP64_OFF64" - 1);
- string_len += sizeof "POSIX_V6_LP64_OFF64" - 1;
- }
+ {
+ if (string_len)
+ restenvs[string_len++] = '\n';
+ memcpy (restenvs + string_len, "POSIX_V6_LP64_OFF64",
+ sizeof "POSIX_V6_LP64_OFF64" - 1);
+ string_len += sizeof "POSIX_V6_LP64_OFF64" - 1;
+ }
#endif
#ifndef _POSIX_V6_LPBIG_OFFBIG
- if (__sysconf (_SC_V6_LPBIG_OFFBIG) > 0)
+ if (__sysconf (_SC_V6_LPBIG_OFFBIG) > 0)
#endif
#if !defined _POSIX_V6_LPBIG_OFFBIG || _POSIX_V6_LPBIG_OFFBIG > 0
- {
- if (string_len)
- restenvs[string_len++] = '\n';
- memcpy (restenvs + string_len, "POSIX_V6_LPBIG_OFFBIG",
- sizeof "POSIX_V6_LPBIG_OFFBIG" - 1);
- string_len += sizeof "POSIX_V6_LPBIG_OFFBIG" - 1;
- }
-#endif
- restenvs[string_len++] = '\0';
- string = restenvs;
+ {
+ if (string_len)
+ restenvs[string_len++] = '\n';
+ memcpy (restenvs + string_len, "POSIX_V6_LPBIG_OFFBIG",
+ sizeof "POSIX_V6_LPBIG_OFFBIG" - 1);
+ string_len += sizeof "POSIX_V6_LPBIG_OFFBIG" - 1;
+ }
+#endif
+ restenvs[string_len++] = '\0';
+ string = restenvs;
+ }
break;
case _CS_V5_WIDTH_RESTRICTED_ENVS:
@@ -146,53 +154,57 @@
wint_t types are no greater than the width of type long.
Currently this means all environment which the system allows. */
- string_len = 0;
+ {
+ char restenvs[4 * sizeof "XBS5_LPBIG_OFFBIG"];
+
+ string_len = 0;
#ifndef _XBS5_ILP32_OFF32
- if (__sysconf (_SC_XBS5_ILP32_OFF32) > 0)
+ if (__sysconf (_SC_XBS5_ILP32_OFF32) > 0)
#endif
#if !defined _XBS5_ILP32_OFF32 || _XBS5_ILP32_OFF32 > 0
- {
- memcpy (restenvs + string_len, "XBS5_ILP32_OFF32",
- sizeof "XBS5_ILP32_OFF32" - 1);
- string_len += sizeof "XBS5_ILP32_OFF32" - 1;
- }
+ {
+ memcpy (restenvs + string_len, "XBS5_ILP32_OFF32",
+ sizeof "XBS5_ILP32_OFF32" - 1);
+ string_len += sizeof "XBS5_ILP32_OFF32" - 1;
+ }
#endif
#ifndef _XBS5_ILP32_OFFBIG
- if (__sysconf (_SC_XBS5_ILP32_OFFBIG) > 0)
+ if (__sysconf (_SC_XBS5_ILP32_OFFBIG) > 0)
#endif
#if !defined _XBS5_ILP32_OFFBIG || _XBS5_ILP32_OFFBIG > 0
- {
- if (string_len)
- restenvs[string_len++] = '\n';
- memcpy (restenvs + string_len, "XBS5_ILP32_OFFBIG",
- sizeof "XBS5_ILP32_OFFBIG" - 1);
- string_len += sizeof "XBS5_ILP32_OFFBIG" - 1;
- }
+ {
+ if (string_len)
+ restenvs[string_len++] = '\n';
+ memcpy (restenvs + string_len, "XBS5_ILP32_OFFBIG",
+ sizeof "XBS5_ILP32_OFFBIG" - 1);
+ string_len += sizeof "XBS5_ILP32_OFFBIG" - 1;
+ }
#endif
#ifndef _XBS5_LP64_OFF64
- if (__sysconf (_SC_XBS5_LP64_OFF64) > 0)
+ if (__sysconf (_SC_XBS5_LP64_OFF64) > 0)
#endif
#if !defined _XBS5_LP64_OFF64 || _XBS5_LP64_OFF64 > 0
- {
- if (string_len)
- restenvs[string_len++] = '\n';
- memcpy (restenvs + string_len, "XBS5_LP64_OFF64",
- sizeof "XBS5_LP64_OFF64" - 1);
- string_len += sizeof "XBS5_LP64_OFF64" - 1;
- }
+ {
+ if (string_len)
+ restenvs[string_len++] = '\n';
+ memcpy (restenvs + string_len, "XBS5_LP64_OFF64",
+ sizeof "XBS5_LP64_OFF64" - 1);
+ string_len += sizeof "XBS5_LP64_OFF64" - 1;
+ }
#endif
#ifndef _XBS5_LPBIG_OFFBIG
- if (__sysconf (_SC_XBS5_LPBIG_OFFBIG) > 0)
+ if (__sysconf (_SC_XBS5_LPBIG_OFFBIG) > 0)
#endif
#if !defined _XBS5_LPBIG_OFFBIG || _XBS5_LPBIG_OFFBIG > 0
- {
- if (string_len)
- restenvs[string_len++] = '\n';
- memcpy (restenvs + string_len, "XBS5_LPBIG_OFFBIG",
- sizeof "XBS5_LPBIG_OFFBIG" - 1);
- string_len += sizeof "XBS5_LPBIG_OFFBIG" - 1;
- }
-#endif
- restenvs[string_len++] = '\0';
- string = restenvs;
+ {
+ if (string_len)
+ restenvs[string_len++] = '\n';
+ memcpy (restenvs + string_len, "XBS5_LPBIG_OFFBIG",
+ sizeof "XBS5_LPBIG_OFFBIG" - 1);
+ string_len += sizeof "XBS5_LPBIG_OFFBIG" - 1;
+ }
+#endif
+ restenvs[string_len++] = '\0';
+ string = restenvs;
+ }
break;
# DP: Enable RunFast mode by default
diff -Naur eglibc-2.10.orig/ports/sysdeps/arm/eabi/fpu_control.h eglibc-2.10/ports/sysdeps/arm/eabi/fpu_control.h
--- eglibc-2.10.orig/ports/sysdeps/arm/eabi/fpu_control.h 2009-10-12 21:30:02.000000000 +0300
+++ eglibc-2.10/ports/sysdeps/arm/eabi/fpu_control.h 2010-12-10 14:05:34.211855205 +0200
@@ -41,9 +41,10 @@
diff -ru eglibc-2.18/csu/init-first.c eglibc-2.18-runfast/csu/init-first.c
--- eglibc-2.18/csu/init-first.c 2013-01-10 00:28:48.000000000 +0000
+++ eglibc-2.18-runfast/csu/init-first.c 2014-01-01 10:46:24.000000000 +0000
@@ -69,6 +69,9 @@
__setfpucw (__fpu_control);
}
+ /* Set the default FPU mode once again it is RunFast */
+ _FPU_SETCW(_FPU_DEFAULT);
+
/* Save the command-line arguments. */
__libc_argc = argc;
__libc_argv = argv;
Only in eglibc-2.18-runfast/ports/sysdeps/arm: .fpu_control.h.rej.swp
diff -ru eglibc-2.18/ports/sysdeps/arm/fpu_control.h eglibc-2.18-runfast/ports/sysdeps/arm/fpu_control.h
--- eglibc-2.18/ports/sysdeps/arm/fpu_control.h 2013-06-24 22:42:26.000000000 +0000
+++ eglibc-2.18-runfast/ports/sysdeps/arm/fpu_control.h 2014-01-01 11:06:13.000000000 +0000
@@ -22,7 +22,8 @@
#if !(defined(_LIBC) && !defined(_LIBC_TEST)) && defined(__SOFTFP__)
#define _FPU_RESERVED 0xffffffff
-#define _FPU_DEFAULT 0x00000000
+#define _FPU_DEFAULT (3 << 24)
+
typedef unsigned int fpu_control_t;
#define _FPU_GETCW(cw) (cw) = 0
#define _FPU_SETCW(cw) (void) (cw)
@@ -40,9 +41,11 @@
/* Some bits in the FPSCR are not yet defined. They must be preserved when
modifying the contents. */
#define _FPU_RESERVED 0x0e08e0e0
#define _FPU_RESERVED 0x00086060
-#define _FPU_DEFAULT 0x00000000
+/* The default mode is RunFast */
+#define _FPU_DEFAULT (3 << 24)
+
/* Default + exceptions enabled. */
-#define _FPU_IEEE (_FPU_DEFAULT | 0x00001f00)
+#define _FPU_IEEE 0x00001f00
/* Type of the control word. */
typedef unsigned int fpu_control_t;
diff -Naur eglibc-2.10.orig/sysdeps/unix/sysv/linux/init-first.c eglibc-2.10/sysdeps/unix/sysv/linux/init-first.c
--- eglibc-2.10.orig/sysdeps/unix/sysv/linux/init-first.c 2009-10-12 21:29:00.000000000 +0300
+++ eglibc-2.10/sysdeps/unix/sysv/linux/init-first.c 2010-12-10 14:04:24.364680564 +0200
@@ -69,6 +69,9 @@
__setfpucw (__fpu_control);
}
+ /* Set the default FPU mode once again it is RunFast */
+ _FPU_SETCW(_FPU_DEFAULT);
+
/* Save the command-line arguments. */
__libc_argc = argc;
__libc_argv = argv;
Only in eglibc-2.18-runfast/ports/sysdeps/arm: fpu_control.h.orig
Only in eglibc-2.18-runfast/ports/sysdeps/arm: fpu_control.h.rej
* Tue Dec 17 2013 Carsten Munk <carsten.munk@jollamobile.com> - 2.15
- Add patch to sort out GCC 4.7/4.8 getconf breakage.
* Wed Jan 01 2014 Carsten Munk <carsten.munk@jollamobile.com> - 2.18
- Upgrade to 2.18
* Fri Aug 16 2013 Davide Bettio <davide.bettio@ispirata.com> - 2.17
- Update to Ubuntu eglibc 2.17
- Apply some Linaro optimizations to aarch64 and armv7
* Tue Jul 16 2013 Mikko Hurskainen <mikko.hurskainen@nomovok.com> - 2.15
- Fix shlib.lds generation with make 3.81
......
# temporary needed for debuginfo change in rpm package
%define _unpackaged_files_terminate_build 0
%define glibcsrcdir eglibc-2.15
%define glibcsrcdir eglibc-2.18
### glibc.spec.in follows:
%define run_glibc_tests 0
%define multiarcharches %{ix86} x86_64
Summary: Embedded GLIBC (EGLIBC) is a variant of the GNU C Library (GLIBC)
Name: glibc
Version: 2.15
Version: 2.18
Release: 1
# GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries.
......@@ -20,9 +19,9 @@ Release: 1
License: LGPLv2+ and LGPLv2+ with exceptions and GPLv2+
Group: System/Libraries
URL: http://www.eglibc.org/
Source0: http://archive.ubuntu.com/ubuntu/pool/main/e/eglibc/eglibc_2.15.orig.tar.gz
Source0: https://launchpad.net/ubuntu/+archive/primary/+files/eglibc_2.18.orig.tar.xz
Source1: eglibc_2.18-0ubuntu2.debian.tar.xz
Source11: build-locale-archive.c
Patch0: eglibc_2.15-0ubuntu17.diff.gz
Patch1: glibc-arm-alignment-fix.patch
Patch2: glibc-arm-runfast.patch
Patch3: glibc-2.13-no-timestamping.patch
......@@ -31,14 +30,15 @@ Patch5: glibc-2.14.1-ldso-rpath-prefix-option.2.diff
Patch6: eglibc-2.15-nsswitchconf-location.3.diff
Patch7: glibc-2.14.1-nscd-socket-location.4.diff
Patch8: glibc-2.14.1-ldso-nodefaultdirs-option.5.diff
Patch9: eglibc-2.15-mips-async-unwind.patch
Patch10: eglibc-2.15-mips-no-n32-n64.patch
#Patch9: eglibc-2.15-mips-async-unwind.patch
#Patch10: eglibc-2.15-mips-no-n32-n64.patch
Patch11: glibc-2.14-locarchive-fedora.patch
Patch12: eglibc-2.15-disable-multilib.patch
#Patch12: eglibc-2.15-disable-multilib.patch
Patch13: eglibc-2.15-use-usrbin-localedef.patch
Patch14: eglibc-2.15-fix-neon-libdl.patch
Patch15: eglibc-2.15-shlib-make.patch
Patch16: glibc-2.15-confstr-strdup.patch
#Patch15: eglibc-2.15-shlib-make.patch
#Patch16: eglibc-2.17-linaro-optimizations.diff
Patch17: eglibc-2.18-sb2-workaround.patch
Provides: ldconfig
# The dynamic linker supports DT_GNU_HASH
......@@ -184,7 +184,8 @@ If unsure if you need this, don't install this package.
%prep
%setup -q -n %{glibcsrcdir} %{?glibc_release_unpack}
%patch0 -p1
xz -dc %SOURCE1 | tar xf -
#%patch0 -p1
%patch1 -p1
%ifarch %{arm}
%patch2 -p1
......@@ -195,16 +196,17 @@ If unsure if you need this, don't install this package.
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
#%patch9 -p1
#%patch10 -p1
%patch11 -p1
%patch12 -p1
#%patch12 -p1
%if 0%{?qemu_user_space_build}
%patch13 -p1
%patch14 -p1
%endif
%patch15 -p1
%patch16 -p2 -R
#%patch15 -p1
#%patch16 -p2
%patch17 -p1
# Not well formatted locales --cvm
sed -i "s|^localedata/locale-eo_EO.diff$||g" debian/patches/series
......@@ -213,6 +215,8 @@ sed -i "s|^localedata/locale-ia.diff$||g" debian/patches/series
%ifarch armv6l
sed -i "s|^arm/local-linaro-cortex-strings.diff$||g" debian/patches/series
%endif
sed -i "s|^kfreebsd.*$||g" debian/patches/series
QUILT_PATCHES=debian/patches quilt push -a
cat > find_provides.sh <<EOF
......@@ -244,7 +248,7 @@ EnableKernel="--enable-kernel=%{enablekernel}"
echo "$GCC" > Gcc
AddOns=`echo */configure | sed -e 's!/configure!!g;s!\(linuxthreads\|nptl\|rtkaio\|powerpc-cpu\)\( \|$\)!!g;s! \+$!!;s! !,!g;s!^!,!;/^,\*$/d'`
%ifarch %{arm} mipsel
%ifarch %{arm} mipsel aarch64
AddOns=,ports$AddOns
%endif
......@@ -263,11 +267,12 @@ echo libdir=/usr/lib > configparms
echo slibdir=/lib >> configparms
echo BUILD_CC=gcc >> configparms
build_CFLAGS="$BuildFlags -g -O3 $*"
export MAKEINFO=:
../configure CC="$GCC" CXX="$GXX" CFLAGS="$build_CFLAGS" \
--prefix=%{_prefix} \
--enable-add-ons=nptl$AddOns --without-cvs $EnableKernel \
--with-headers=%{_prefix}/include --enable-bind-now \
--with-tls --with-__thread \
--enable-pt_chown "--enable-add-ons=libidn,ports,nptl" --without-cvs $EnableKernel \
--enable-bind-now --with-tls --with-__thread \
--with-headers=%{_prefix}/include \
%ifnarch %{arm}
--build %{nptl_target_cpu}-%{_vendor}-linux \
--host %{nptl_target_cpu}-%{_vendor}-linux \
......@@ -283,7 +288,8 @@ build_CFLAGS="$BuildFlags -g -O3 $*"
%ifarch %{multiarcharches}
--enable-multi-arch \
%endif
--disable-profile --enable-experimental-malloc
--disable-profile --enable-experimental-malloc --enable-obsolete-rpc
make %{?_smp_mflags} -r CFLAGS="$build_CFLAGS"
cd ..
......@@ -322,7 +328,7 @@ if [ -d $RPM_BUILD_ROOT%{_prefix}/info -a "%{_infodir}" != "%{_prefix}/info" ];
rm -rf $RPM_BUILD_ROOT%{_prefix}/info
fi
gzip -9nvf $RPM_BUILD_ROOT%{_infodir}/libc*
#gzip -9nvf $RPM_BUILD_ROOT%{_infodir}/libc*
ln -sf libbsd-compat.a $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libbsd.a
......@@ -442,7 +448,6 @@ rm -f $RPM_BUILD_ROOT%{_sbindir}/rpcinfo
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{_lib}
mv -f $RPM_BUILD_ROOT/%{_lib}/lib{pcprofile,memusage}.so $RPM_BUILD_ROOT%{_prefix}/%{_lib}
grep '%{_infodir}' < rpm.filelist | grep -v '%{_infodir}/dir' > devel.filelist
grep '%{_prefix}/include/gnu/stubs-[32164]\+\.h' < rpm.filelist >> devel.filelist || :
grep '%{_prefix}/include' < rpm.filelist |
......@@ -498,14 +503,14 @@ EOF
# /etc/localtime
rm -f $RPM_BUILD_ROOT/etc/localtime
cp -f $RPM_BUILD_ROOT%{_prefix}/share/zoneinfo/US/Eastern $RPM_BUILD_ROOT/etc/localtime
#ln -sf ..%{_prefix}/share/zoneinfo/US/Eastern $RPM_BUILD_ROOT/etc/localtime
#ls -al $RPM_BUILD_ROOT%{_prefix}/share/zoneinfo/
#cp -f $RPM_BUILD_ROOT%{_prefix}/share/zoneinfo/US/Eastern $RPM_BUILD_ROOT/etc/localtime
ln -sf %{_prefix}/share/zoneinfo/US/Eastern $RPM_BUILD_ROOT/etc/localtime
rm -rf $RPM_BUILD_ROOT%{_prefix}/share/zoneinfo
# Make sure %config files have the same timestamp
touch -r timezone/northamerica $RPM_BUILD_ROOT/etc/ld.so.conf
touch -r timezone/northamerica $RPM_BUILD_ROOT/etc/localtime
touch -r sunrpc/etc.rpc $RPM_BUILD_ROOT/etc/rpc
......@@ -555,7 +560,6 @@ rm libpthread.o
popd
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
%ifarch %{auxarches}
......@@ -584,20 +588,12 @@ mkdir -p $RPM_BUILD_ROOT/var/cache/ldconfig
%postun -p /sbin/ldconfig
%post devel
%install_info %{_infodir}/libc.info.gz %{_infodir}/dir
%pre headers
# this used to be a link and it is causing nightmares now
if [ -L %{_prefix}/include/scsi ] ; then
rm -f %{_prefix}/include/scsi
fi
%preun devel
if [ "$1" = 0 ]; then
%install_info --delete %{_infodir}/libc.info.gz %{_infodir}/dir
fi
%post utils -p /sbin/ldconfig
%postun utils -p /sbin/ldconfig
......@@ -631,8 +627,8 @@ fi
%dir %attr(0700,root,root) /var/cache/ldconfig
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/cache/ldconfig/aux-cache
%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /etc/ld.so.cache
%doc README NEWS INSTALL FAQ BUGS NOTES PROJECTS CONFORMANCE
%doc COPYING COPYING.LIB README.libm LICENSES
%doc README NEWS INSTALL BUGS PROJECTS CONFORMANCE
%doc COPYING COPYING.LIB LICENSES
%doc hesiod/README.hesiod
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment