From 6d592b9d699f3f5e41ba24b41a1e1110e3482cc8 Mon Sep 17 00:00:00 2001 From: Alexander Stefanov Date: Tue, 16 Apr 2019 01:22:07 +0000 Subject: [PATCH] 2.29 version --- .abf.yml | 4 +- glibc-2.28-riscv-compile.patch | 11 -- glibc-2.29-SIG_BLOCK.patch | 12 ++ glibc-2.29-aarch64-buildfix.patch | 34 ++++ glibc-2.29-strict-aliasing.patch | 272 ++++++++++++++++++++++++++++++ glibc-fedora-localedef.patch | 15 +- glibc.spec | 84 ++------- pause.patch | 11 -- 8 files changed, 347 insertions(+), 96 deletions(-) delete mode 100644 glibc-2.28-riscv-compile.patch create mode 100644 glibc-2.29-SIG_BLOCK.patch create mode 100644 glibc-2.29-aarch64-buildfix.patch create mode 100644 glibc-2.29-strict-aliasing.patch delete mode 100644 pause.patch diff --git a/.abf.yml b/.abf.yml index 7ee9851..fdbc28b 100644 --- a/.abf.yml +++ b/.abf.yml @@ -1,4 +1,4 @@ sources: glibc-manpages.tar.bz2: ca54bfb832b703c8e35170fcc1c1f5470b45ff0f - glibc-2.28.tar.xz: ccb5dc9e51a9884df8488f86982439d47b283b2a - glibc-2.28.tar.xz.sig: 07b523938b615bf2a0c85461b4e5bbadd3f590ef + glibc-2.29.tar.xz: c8376086203fa5e39dc869235ab8a400ed747c44 + glibc-2.29.tar.xz.sig: dc1ed0f1f7746507b737d0e5e83b225a42e4a84a diff --git a/glibc-2.28-riscv-compile.patch b/glibc-2.28-riscv-compile.patch deleted file mode 100644 index a282a92..0000000 --- a/glibc-2.28-riscv-compile.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up glibc-2.28/sysdeps/unix/sysv/linux/riscv/flush-icache.c.omv~ glibc-2.28/sysdeps/unix/sysv/linux/riscv/flush-icache.c ---- glibc-2.28/sysdeps/unix/sysv/linux/riscv/flush-icache.c.omv~ 2019-01-18 15:18:32.068258780 +0100 -+++ glibc-2.28/sysdeps/unix/sysv/linux/riscv/flush-icache.c 2019-01-18 15:18:35.241304323 +0100 -@@ -21,7 +21,6 @@ - #include - #include - #include --#include - - typedef int (*func_type) (void *, void *, unsigned long int); - diff --git a/glibc-2.29-SIG_BLOCK.patch b/glibc-2.29-SIG_BLOCK.patch new file mode 100644 index 0000000..ce10192 --- /dev/null +++ b/glibc-2.29-SIG_BLOCK.patch @@ -0,0 +1,12 @@ +diff -up glibc-2.29/sysdeps/unix/sysv/linux/x86_64/getcontext.S.omv~ glibc-2.29/sysdeps/unix/sysv/linux/x86_64/getcontext.S +--- glibc-2.29/sysdeps/unix/sysv/linux/x86_64/getcontext.S.omv~ 2019-02-01 12:59:33.458555834 +0100 ++++ glibc-2.29/sysdeps/unix/sysv/linux/x86_64/getcontext.S 2019-02-01 13:01:58.194856450 +0100 +@@ -19,6 +19,8 @@ + + #include + #include ++#define __ASSEMBLY__ 1 ++#include /* for SIG_BLOCK */ + + #include "ucontext_i.h" + diff --git a/glibc-2.29-aarch64-buildfix.patch b/glibc-2.29-aarch64-buildfix.patch new file mode 100644 index 0000000..359aadd --- /dev/null +++ b/glibc-2.29-aarch64-buildfix.patch @@ -0,0 +1,34 @@ +diff -up glibc-2.29/locale/weight.h.omv~ glibc-2.29/locale/weight.h +diff -up glibc-2.29/string/strcoll_l.c.omv~ glibc-2.29/string/strcoll_l.c +--- glibc-2.29/string/strcoll_l.c.omv~ 2019-02-01 01:52:36.824032337 +0100 ++++ glibc-2.29/string/strcoll_l.c 2019-02-01 01:56:42.412484448 +0100 +@@ -40,7 +40,11 @@ + #define CONCAT1(a,b) a##b + + #include "../locale/localeinfo.h" ++/* See Line 178+ */ ++DIAG_PUSH_NEEDS_COMMENT; ++DIAG_IGNORE_Os_NEEDS_COMMENT (8, "-Wmaybe-uninitialized"); + #include WEIGHT_H ++DIAG_POP_NEEDS_COMMENT; + + /* Track status while looking for sequences in a string. */ + typedef struct +@@ -292,7 +296,7 @@ STRCOLL (const STRING_TYPE *s1, const ST + + int result = 0, rule = 0; + +- /* With GCC 7 when compiling with -Os the compiler warns that ++ /* With GCC 7 and 8 when compiling with -Os the compiler warns that + seq1.back_us and seq2.back_us might be used uninitialized. + Sometimes this warning appears at locations in locale/weightwc.h + where the actual use is, but on architectures other than x86_64, +@@ -300,7 +304,7 @@ STRCOLL (const STRING_TYPE *s1, const ST + seq2. This uninitialized use is impossible for the same reason + as described in comments in locale/weightwc.h. */ + DIAG_PUSH_NEEDS_COMMENT; +- DIAG_IGNORE_Os_NEEDS_COMMENT (7, "-Wmaybe-uninitialized"); ++ DIAG_IGNORE_Os_NEEDS_COMMENT (8, "-Wmaybe-uninitialized"); + coll_seq seq1, seq2; + DIAG_POP_NEEDS_COMMENT; + seq1.len = 0; diff --git a/glibc-2.29-strict-aliasing.patch b/glibc-2.29-strict-aliasing.patch new file mode 100644 index 0000000..4ff48f1 --- /dev/null +++ b/glibc-2.29-strict-aliasing.patch @@ -0,0 +1,272 @@ +diff -up glibc-2.29/csu/libc-start.c.omv~ glibc-2.29/csu/libc-start.c +diff -up glibc-2.29/csu/Makefile.omv~ glibc-2.29/csu/Makefile +--- glibc-2.29/csu/Makefile.omv~ 2019-02-01 12:56:29.350902408 +0100 ++++ glibc-2.29/csu/Makefile 2019-02-01 12:56:37.276973565 +0100 +@@ -114,7 +114,7 @@ endif + asm-CPPFLAGS += -I$(objpfx). + + # Enable unwinding so backtrace unwinds to __libc_start_main +-CFLAGS-libc-start.c += -funwind-tables ++CFLAGS-libc-start.c += -funwind-tables -fno-strict-aliasing + + include ../Rules + +diff -up glibc-2.29/setjmp/Makefile.omv~ glibc-2.29/setjmp/Makefile +--- glibc-2.29/setjmp/Makefile.omv~ 2019-02-01 12:57:17.619335768 +0100 ++++ glibc-2.29/setjmp/Makefile 2019-02-01 12:57:39.538532599 +0100 +@@ -31,6 +31,9 @@ tests := tst-setjmp jmpbug bug269-setjm + tst-sigsetjmp tst-setjmp-static + tests-static := tst-setjmp-static + ++CFLAGS-sigjmp.c += -fno-strict-aliasing ++CFLAGS-longjmp.c += -fno-strict-aliasing ++CFLAGS-longjmp_chk.c += -fno-strict-aliasing + + include ../Rules + +diff -up glibc-2.29/debug/Makefile.omv~ glibc-2.29/debug/Makefile +--- glibc-2.29/debug/Makefile.omv~ 2019-03-30 03:01:07.097615956 +0100 ++++ glibc-2.29/debug/Makefile 2019-03-30 03:01:59.144920770 +0100 +@@ -109,6 +109,8 @@ CPPFLAGS-tst-longjmp_chk2.c += -D_FORTIF + CFLAGS-tst-longjmp_chk3.c += -fexceptions -fasynchronous-unwind-tables + CPPFLAGS-tst-longjmp_chk3.c += -D_FORTIFY_SOURCE=1 + ++CFLAGS-longjmp_chk.c += -fno-strict-aliasing ++ + # We know these tests have problems with format strings, this is what + # we are testing. Disable that warning. They are also testing + # deprecated functions (notably gets) so disable that warning as well. +diff -up glibc-2.29/inet/Makefile.omv~ glibc-2.29/inet/Makefile +--- glibc-2.29/inet/Makefile.omv~ 2019-03-30 03:05:58.653583520 +0100 ++++ glibc-2.29/inet/Makefile 2019-03-30 03:36:46.336546885 +0100 +@@ -106,6 +106,20 @@ CFLAGS-getnetgrent_r.c += -fexceptions + CFLAGS-tst-checks-posix.c += -std=c99 + CFLAGS-tst-sockaddr.c += -fno-strict-aliasing + ++CFLAGS-gethstbyad_r.c += -fno-strict-aliasing ++CFLAGS-gethstbynm.c += -fno-strict-aliasing ++CFLAGS-gethstbynm2.c += -fno-strict-aliasing ++CFLAGS-gethstbynm2_r.c += -fno-strict-aliasing ++CFLAGS-gethstbynm_r.c += -fno-strict-aliasing ++CFLAGS-getnetbyad_r.c += -fno-strict-aliasing ++CFLAGS-getnetbynm_r.c += -fno-strict-aliasing ++CFLAGS-rcmd.c += -fno-strict-aliasing ++CFLAGS-rexec.c += -fno-strict-aliasing ++CFLAGS-ifaddrs.c += -fno-strict-aliasing ++CFLAGS-check_pf.c += -fno-strict-aliasing ++CFLAGS-check_native.c += -fno-strict-aliasing ++CFLAGS-netlink_assert_response.c += -fno-strict-aliasing ++ + endif + + ifeq ($(build-static-nss),yes) +diff -up glibc-2.29/libio/Makefile.omv~ glibc-2.29/libio/Makefile +--- glibc-2.29/libio/Makefile.omv~ 2019-03-30 01:39:01.060542141 +0100 ++++ glibc-2.29/libio/Makefile 2019-03-30 01:42:50.636635556 +0100 +@@ -150,6 +150,19 @@ CFLAGS-iofopen.c += -fexceptions + CFLAGS-iofopen64.c += -fexceptions + CFLAGS-oldtmpfile.c += -fexceptions + # XXX Do we need filedoalloc and wfiledoalloc? Others? ++# ++CFLAGS-iofopncook.c += -fno-strict-aliasing ++CFLAGS-iopopen.c += -fno-strict-aliasing ++CFLAGS-vswprintf.c += -fno-strict-aliasing ++CFLAGS-wmemstream.c += -fno-strict-aliasing ++CFLAGS-memstream.c += -fno-strict-aliasing ++CFLAGS-obprintf.c += -fno-strict-aliasing ++CFLAGS-stdfiles.c += -fno-strict-aliasing ++CFLAGS-stdio.c += -fno-strict-aliasing ++CFLAGS-oldiofopen.c += -fno-strict-aliasing ++CFLAGS-oldiofdopen.c += -fno-strict-aliasing ++CFLAGS-oldiopopen.c += -fno-strict-aliasing ++CFLAGS-oldstdfiles.c += -fno-strict-aliasing + + CFLAGS-tst_putwc.c += -DOBJPFX=\"$(objpfx)\" + +diff -up glibc-2.29/misc/Makefile.omv~ glibc-2.29/misc/Makefile +--- glibc-2.29/misc/Makefile.omv~ 2019-03-30 01:52:31.674329260 +0100 ++++ glibc-2.29/misc/Makefile 2019-03-30 01:52:50.631439902 +0100 +@@ -135,6 +135,8 @@ CFLAGS-sbrk.op = $(no-stack-protector) + CFLAGS-brk.o = $(no-stack-protector) + CFLAGS-brk.op = $(no-stack-protector) + ++CFLAGS-tsearch.c += -fno-strict-aliasing ++ + include ../Rules + + $(objpfx)libg.a: $(dep-dummy-lib); $(make-dummy-lib) +diff -up glibc-2.29/nis/Makefile.omv~ glibc-2.29/nis/Makefile +--- glibc-2.29/nis/Makefile.omv~ 2019-03-30 04:09:44.362755054 +0100 ++++ glibc-2.29/nis/Makefile 2019-03-30 04:10:02.983008221 +0100 +@@ -92,6 +92,7 @@ endif # have-GLIBC_2.28 + + include ../Rules + ++CFLAGS-nis_callback.c += -fno-strict-aliasing + + ifeq ($(build-obsolete-nsl),yes) + $(objpfx)libnss_nis.so: $(objpfx)libnsl.so$(libnsl.so-version) \ +diff -up glibc-2.29/nptl/Makefile.omv~ glibc-2.29/nptl/Makefile +--- glibc-2.29/nptl/Makefile.omv~ 2019-03-30 01:54:13.009910066 +0100 ++++ glibc-2.29/nptl/Makefile 2019-03-30 02:54:03.985495103 +0100 +@@ -231,6 +231,18 @@ CFLAGS-fsync.c += -fexceptions -fasynchr + + CFLAGS-pt-system.c += -fexceptions + ++CFLAGS-pthread_create.c += -fno-strict-aliasing ++CFLAGS-sem_wait.c += -fno-strict-aliasing ++CFLAGS-sem_waitcommon.c += -fno-strict-aliasing ++CFLAGS-sem_timedwait.c += -fno-strict-aliasing ++CFLAGS-sem_post.c += -fno-strict-aliasing ++CFLAGS-unwind.c += -fno-strict-aliasing ++CFLAGS-pthread_cond_common.c += -fno-strict-aliasing ++CFLAGS-pthread_cond_destroy.c += -fno-strict-aliasing ++CFLAGS-pthread_cond_wait.c += -fno-strict-aliasing ++CFLAGS-pthread_cond_signal.c += -fno-strict-aliasing ++CFLAGS-pthread_cond_broadcast.c += -fno-strict-aliasing ++ + LDLIBS-tst-once5 = -lstdc++ + CFLAGS-tst-thread_local1.o = -std=gnu++11 + LDLIBS-tst-thread_local1 = -lstdc++ +diff -up glibc-2.29/nscd/Makefile.omv~ glibc-2.29/nscd/Makefile +--- glibc-2.29/nscd/Makefile.omv~ 2019-03-30 03:52:06.514438444 +0100 ++++ glibc-2.29/nscd/Makefile 2019-03-30 04:16:11.619357418 +0100 +@@ -79,6 +79,14 @@ CFLAGS-nscd_gethst_r.c += -fexceptions + CFLAGS-nscd_getai.c += -fexceptions + CFLAGS-nscd_initgroups.c += -fexceptions + ++CFLAGS-nscd_helper.c += -fno-strict-aliasing ++CFLAGS-nscd.c += -fno-strict-aliasing ++CFLAGS-connections.c += -fno-strict-aliasing ++CFLAGS-gethstbyad_r.c += -fno-strict-aliasing ++CFLAGS-gethstbynm3_r.c += -fno-strict-aliasing ++CFLAGS-aicache.c += -fno-strict-aliasing ++CFLAGS-gai.c += -fno-strict-aliasing ++ + CPPFLAGS-nscd += -D_FORTIFY_SOURCE=2 + + ifeq (yesyes,$(have-fpie)$(build-shared)) +diff -up glibc-2.29/nss/Makefile.omv~ glibc-2.29/nss/Makefile +--- glibc-2.29/nss/Makefile.omv~ 2019-03-30 03:04:47.253152286 +0100 ++++ glibc-2.29/nss/Makefile 2019-03-30 03:40:14.235313434 +0100 +@@ -176,3 +176,6 @@ $(objpfx)tst-nss-files-hosts-multi: $(li + $(objpfx)tst-nss-files-hosts-getent: $(libdl) + $(objpfx)tst-nss-files-alias-leak: $(libdl) + $(objpfx)tst-nss-files-alias-leak.out: $(objpfx)/libnss_files.so ++ ++CFLAGS-getnssent_r.c += -fno-strict-aliasing ++CFLAGS-digits_dots.c += -fno-strict-aliasing +diff -up glibc-2.29/posix/Makefile.omv~ glibc-2.29/posix/Makefile +--- glibc-2.29/posix/Makefile.omv~ 2019-03-30 01:46:24.029606033 +0100 ++++ glibc-2.29/posix/Makefile 2019-03-30 01:50:14.205620892 +0100 +@@ -242,6 +242,13 @@ CFLAGS-execvp.os = -fomit-frame-pointer + CFLAGS-execlp.os = -fomit-frame-pointer + CFLAGS-nanosleep.c += -fexceptions -fasynchronous-unwind-tables + ++CFLAGS-glob.c += -fno-strict-aliasing ++CFLAGS-glob-lstat-compat.c += -fno-strict-aliasing ++CFLAGS-glob64.c += -fno-strict-aliasing ++CFLAGS-glob64-lstat-compat.c += -fno-strict-aliasing ++CFLAGS-oldglob.c += -fno-strict-aliasing ++CFLAGS-getaddrinfo.c += -fno-strict-aliasing ++ + tstgetopt-ARGS = -a -b -cfoobar --required foobar --optional=bazbug \ + --none random --col --color --colour + +diff -up glibc-2.29/resolv/Makefile.omv~ glibc-2.29/resolv/Makefile +--- glibc-2.29/resolv/Makefile.omv~ 2019-03-30 03:03:22.248963330 +0100 ++++ glibc-2.29/resolv/Makefile 2019-03-30 04:08:30.501708568 +0100 +@@ -147,6 +147,19 @@ include ../gen-locales.mk + + CFLAGS-res_hconf.c += -fexceptions + ++CFLAGS-gethstbyad_r.c += -fno-strict-aliasing ++CFLAGS-res-close.c += -fno-strict-aliasing ++CFLAGS-resolv_context.c += -fno-strict-aliasing ++CFLAGS-resolv_conf.c += -fno-strict-aliasing ++CFLAGS-res_mkquery.c += -fno-strict-aliasing ++CFLAGS-res_query.c += -fno-strict-aliasing ++CFLAGS-res_send.c += -fno-strict-aliasing ++CFLAGS-compat-hnamaddr.c += -fno-strict-aliasing ++CFLAGS-compat-gethnamaddr.c += -fno-strict-aliasing ++CFLAGS-dns-host.c += -fno-strict-aliasing ++CFLAGS-dns-network.c += -fno-strict-aliasing ++CFLAGS-dns-canon.c += -fno-strict-aliasing ++ + # The DNS NSS modules needs the resolver. + $(objpfx)libnss_dns.so: $(objpfx)libresolv.so + +diff -up glibc-2.29/rt/Makefile.omv~ glibc-2.29/rt/Makefile +--- glibc-2.29/rt/Makefile.omv~ 2019-03-30 03:59:15.091352740 +0100 ++++ glibc-2.29/rt/Makefile 2019-03-30 03:59:28.235458532 +0100 +@@ -66,6 +66,8 @@ CFLAGS-mq_timedsend.c += -fexceptions -f + CFLAGS-clock_nanosleep.c += -fexceptions -fasynchronous-unwind-tables + CFLAGS-librt-cancellation.c += -fasynchronous-unwind-tables + ++CFLAGS-timer_create.c += -fno-strict-aliasing ++ + LDFLAGS-rt.so = -Wl,--enable-new-dtags,-z,nodelete + + $(objpfx)librt.so: $(shared-thread-library) +diff -up glibc-2.29/stdio-common/Makefile.omv~ glibc-2.29/stdio-common/Makefile +--- glibc-2.29/stdio-common/Makefile.omv~ 2019-03-30 01:34:47.071238325 +0100 ++++ glibc-2.29/stdio-common/Makefile 2019-03-30 01:38:08.931284110 +0100 +@@ -125,6 +125,10 @@ $(objpfx)tst-%-mem.out: $(objpfx)tst-%.o + + CFLAGS-vfprintf.c += -Wno-uninitialized + CFLAGS-vfwprintf.c += -Wno-uninitialized ++CFLAGS-vfscanf-internal.c += -fno-strict-aliasing ++CFLAGS-vfwscanf-internal.c += -fno-strict-aliasing ++CFLAGS-vfprintf-internal.c += -fno-strict-aliasing ++CFLAGS-vfwprintf-internal.c += -fno-strict-aliasing + + CFLAGS-tmpfile.c += -fexceptions + CFLAGS-tmpfile64.c += -fexceptions +diff -up glibc-2.29/sunrpc/Makefile.omv~ glibc-2.29/sunrpc/Makefile +--- glibc-2.29/sunrpc/Makefile.omv~ 2019-03-30 03:41:07.036516482 +0100 ++++ glibc-2.29/sunrpc/Makefile 2019-03-30 03:50:31.416395875 +0100 +@@ -156,6 +156,21 @@ CFLAGS-pmap_rmt.c += -fexceptions + CFLAGS-clnt_perr.c += -fexceptions + CFLAGS-openchild.c += -fexceptions + ++CFLAGS-authuxprot.c += -fno-strict-aliasing ++CFLAGS-pmap_rmt.c += -fno-strict-aliasing ++CFLAGS-rpc_prot.c += -fno-strict-aliasing ++CFLAGS-rpc_cmsg.c += -fno-strict-aliasing ++CFLAGS-authdes_prot.c += -fno-strict-aliasing ++CFLAGS-rtime.c += -fno-strict-aliasing ++CFLAGS-svcauth_des.c += -fno-strict-aliasing ++CFLAGS-svc_unix.c += -fno-strict-aliasing ++CFLAGS-auth_des.c += -fno-strict-aliasing ++CFLAGS-clnt_udp.c += -fno-strict-aliasing ++CFLAGS-key_call.c += -fno-strict-aliasing ++CFLAGS-pm_getport.c += -fno-strict-aliasing ++CFLAGS-svc_tcp.c += -fno-strict-aliasing ++CFLAGS-svc_udp.c += -fno-strict-aliasing ++ + $(objpfx)tst-getmyaddr: $(common-objpfx)linkobj/libc.so + $(objpfx)tst-xdrmem: $(common-objpfx)linkobj/libc.so + $(objpfx)tst-xdrmem2: $(common-objpfx)linkobj/libc.so +diff -up glibc-2.29/support/Makefile.omv~ glibc-2.29/support/Makefile +--- glibc-2.29/support/Makefile.omv~ 2019-03-30 04:00:21.185878611 +0100 ++++ glibc-2.29/support/Makefile 2019-03-30 04:00:35.030986920 +0100 +@@ -169,6 +169,8 @@ CFLAGS-support_paths.c = \ + -DINSTDIR_PATH=\"$(prefix)\" \ + -DLIBDIR_PATH=\"$(libdir)\" + ++CFLAGS-resolv_test.c = -fno-strict-aliasing ++ + ifeq (,$(CXX)) + LINKS_DSO_PROGRAM = links-dso-program-c + else +diff -up glibc-2.29/locale/Makefile.omv~ glibc-2.29/locale/Makefile +--- glibc-2.29/locale/Makefile.omv~ 2019-03-30 15:26:20.271041292 +0100 ++++ glibc-2.29/locale/Makefile 2019-03-30 15:26:45.691112618 +0100 +@@ -101,6 +101,7 @@ CPPFLAGS-locale-programs = -DLOCALE_PATH + CFLAGS-charmap.c += -Wno-write-strings -Wno-char-subscripts + CFLAGS-locfile.c += -Wno-write-strings -Wno-char-subscripts + CFLAGS-charmap-dir.c += -Wno-write-strings ++CFLAGS-C-ctype.c += -fno-strict-aliasing + + # Set libof-* for each routine. + cpp-srcs-left := $(localedef-modules) $(localedef-aux) $(locale-modules) \ diff --git a/glibc-fedora-localedef.patch b/glibc-fedora-localedef.patch index 4aaec7f..515611a 100644 --- a/glibc-fedora-localedef.patch +++ b/glibc-fedora-localedef.patch @@ -1,12 +1,21 @@ +Short description: Fedora-specific glibc install locale changes. +Author(s): Fedora glibc team +Origin: PATCH +Upstream status: not-needed + +The Fedora glibc build and install does not need the normal install +behaviour which updates the locale archive. The Fedora install phase +in the spec file of the rpm will handle this manually. + diff --git a/localedata/Makefile b/localedata/Makefile -index a5f3c92d58954dfc..56719c7c714aa0f1 100644 +index 0eea396ad86da956..54caabda33728207 100644 --- a/localedata/Makefile +++ b/localedata/Makefile -@@ -218,6 +218,7 @@ $(INSTALL-SUPPORTED-LOCALES): install-locales-dir +@@ -413,6 +413,7 @@ define build-one-locale echo -n '...'; \ input=`echo $$locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; \ $(LOCALEDEF) $$flags --alias-file=../intl/locale.alias \ + --no-archive \ -i locales/$$input -f charmaps/$$charset \ $(addprefix --prefix=,$(install_root)) $$locale \ - && echo ' done'; \ + && echo ' done'; diff --git a/glibc.spec b/glibc.spec index 47235c9..730962d 100644 --- a/glibc.spec +++ b/glibc.spec @@ -53,8 +53,8 @@ Summary: The GNU libc libraries Name: glibc Epoch: 6 -Version: 2.28 -Release: 3 +Version: 2.29 +Release: 1 License: LGPLv2+ and LGPLv2+ with exceptions and GPLv2+ Group: System/Libraries Url: http://www.eglibc.org/ @@ -82,7 +82,7 @@ Source1002: locale_uninstall.sh #----------------------------------------------------------------------- # fedora patches Patch21: http://pkgs.fedoraproject.org/cgit/rpms/glibc.git/plain/glibc-fedora-i386-tls-direct-seg-refs.patch -Patch23: http://pkgs.fedoraproject.org/cgit/rpms/glibc.git/plain/glibc-fedora-include-bits-ldbl.patch +#Patch23: http://pkgs.fedoraproject.org/cgit/rpms/glibc.git/plain/glibc-fedora-include-bits-ldbl.patch Patch25: http://pkgs.fedoraproject.org/cgit/rpms/glibc.git/plain/glibc-fedora-linux-tcsetattr.patch Patch26: eglibc-fedora-locale-euro.patch Patch27: http://pkgs.fedoraproject.org/cgit/rpms/glibc.git/plain/glibc-fedora-localedata-rh61908.patch @@ -128,7 +128,6 @@ Patch89: https://raw.githubusercontent.com/clearlinux-pkgs/glibc/master/ldconfig # (tpg) CLR disabled this patch #Patch90: https://raw.githubusercontent.com/clearlinux-pkgs/glibc/master/ldconfig-Os.patch # https://sourceware.org/ml/libc-alpha/2018-03/msg00504.html -Patch98: https://raw.githubusercontent.com/clearlinux-pkgs/glibc/master/pause.patch Patch99: https://raw.githubusercontent.com/clearlinux-pkgs/glibc/master/gcc-8-fix.patch Patch100: https://raw.githubusercontent.com/clearlinux-pkgs/glibc/master/spin-smarter.patch Patch101: https://raw.githubusercontent.com/clearlinux-pkgs/glibc/master/nostackshrink.patch @@ -162,9 +161,12 @@ Patch1020: glibc-2.19-no-__builtin_va_arg_pack-with-clang.patch Patch1029: glibc-2.19-nscd-socket-and-pid-moved-from-varrun-to-run.patch Patch1033: glibc-2.25-force-use-ld-bfd.patch Patch1034: glibc-2.27-clang-_Float.patch -Patch1035: glibc-2.28-riscv-compile.patch - +Patch1035: glibc-2.29-aarch64-buildfix.patch +Patch1036: glibc-2.29-strict-aliasing.patch +Patch1037: glibc-2.29-SIG_BLOCK.patch +# yes need python3 +BuildRequires: pkgconfig(python3) BuildRequires: autoconf2.5 BuildRequires: bison BuildRequires: gettext @@ -747,66 +749,7 @@ their ~/.profile configuration file. %prep %setup -q -a3 - -%patch21 -p1 -%patch23 -p1 -%patch25 -p1 -%patch26 -p1 -%patch27 -p1 -%patch30 -p1 -%patch31 -p1 -%patch32 -p1 -%patch33 -p1 -%patch34 -p1 -%patch35 -p1 -%patch36 -p1 -%patch38 -p1 -%patch41 -p1 -%patch44 -p1 -%patch46 -p1 -%patch47 -p1 -%patch50 -p1 -%patch52 -p1 -%patch54 -p1 -%patch58 -p1 -%patch61 -p1 -%patch62 -p1 -%patch63 -p1 -%patch64 -p1 -%patch65 -p1 -%patch83 -p1 -%patch84 -p1 -%patch85 -p1 -%patch86 -p1 -%patch87 -p1 -%patch88 -p1 -%patch89 -p1 -%patch98 -p1 -%patch99 -p1 -%patch100 -p1 -%patch101 -p1 - -%patch1000 -p1 -%patch1001 -p1 -%patch1002 -p1 -%patch1003 -p1 -%patch1004 -p1 -%patch1005 -p1 -%patch1006 -p1 -%patch1007 -p1 -%patch1009 -p1 -%patch1010 -p1 -%patch1011 -p1 -%patch1012 -p1 -%patch1013 -p1 -%patch1015 -p1 -%patch1018 -p1 -%patch1019 -p1 -%patch1020 -p1 -%patch1029 -p1 -%patch1033 -p1 -%patch1034 -p1 -%patch1035 -p1 +%apply_patches %if %{with selinux} # XXX kludge to build nscd with selinux support as it added -nostdinc @@ -892,7 +835,8 @@ function BuildGlibc() { BuildCC="%{__cc} $BuildCompFlags" BuildCXX="%{__cxx} $BuildCompFlags" - BuildFlags="$BuildFlags -DNDEBUG=1 %{__common_cflags} -O3" + add_flags="%(rpm --eval '%%{__common_cflags}' |sed -e 's,-Werror[^ ]*,,g';;s,-ffat-lto-objects,,g)" + BuildFlags="$BuildFlags -DNDEBUG=1 $addflags -O3" # XXX: -frecord-gcc-switches makes gold abort with assertion error and gcc segfault :| #BuildFlags="$(echo $BuildFlags |sed -e 's#-frecord-gcc-switches##g')" @@ -929,9 +873,11 @@ function BuildGlibc() { rm -rf build-$arch-linux mkdir build-$arch-linux pushd build-$arch-linux + [[ "$BuildAltArch" = "yes" ]] && touch ".alt" || touch ".main" - CC="$BuildCC" CXX="$BuildCXX" CFLAGS="$BuildFlags -Wno-error" LDFLAGS="%{ldflags} -fuse-ld=bfd" ../configure \ + CC="$BuildCC" CXX="$BuildCXX" CFLAGS="$BuildFlags -Wno-error -fno-strict-aliasing" ../configure \ $arch-%{_target_vendor}-%{_target_os}%{?_gnu} \ + --disable-werror \ --prefix=%{_prefix} \ --libexecdir=%{_prefix}/libexec \ --infodir=%{_infodir} \ @@ -1130,7 +1076,7 @@ pushd %{buildroot}%{_libdir} case "$i" in %ifarch x86_64 # libm.a is a gnu ld script for glibc 2.28 -%if "%{version}" == "2.28" +%if "%{version}" == "2.29" libm.a) ;; %endif %endif diff --git a/pause.patch b/pause.patch deleted file mode 100644 index a3dc808..0000000 --- a/pause.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- glibc-2.27/sysdeps/x86_64/atomic-machine.h~ 2018-02-01 16:17:18.000000000 +0000 -+++ glibc-2.27/sysdeps/x86_64/atomic-machine.h 2018-04-28 14:19:06.374119197 +0000 -@@ -409,7 +409,7 @@ - __result; }) - - --#define atomic_spin_nop() asm ("rep; nop") -+#define atomic_spin_nop() asm ("lfence") - - - #define __arch_and_body(lock, mem, mask) \