2.29 version

This commit is contained in:
Alexander Stefanov 2019-04-16 01:22:07 +00:00
parent 27589fe737
commit 6d592b9d69
8 changed files with 347 additions and 96 deletions

View file

@ -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

View file

@ -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 <stdlib.h>
#include <atomic.h>
#include <sys/cachectl.h>
-#include <asm/syscalls.h>
typedef int (*func_type) (void *, void *, unsigned long int);

View file

@ -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 <sysdep.h>
#include <asm/prctl.h>
+#define __ASSEMBLY__ 1
+#include <asm/signal.h> /* for SIG_BLOCK */
#include "ucontext_i.h"

View file

@ -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;

View file

@ -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) \

View file

@ -1,12 +1,21 @@
Short description: Fedora-specific glibc install locale changes.
Author(s): Fedora glibc team <glibc@lists.fedoraproject.org>
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';

View file

@ -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

View file

@ -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) \