mirror of
https://github.com/feather-wallet/feather.git
synced 2025-01-03 09:29:37 +00:00
guix: glibc 2.27
This commit is contained in:
parent
48d0394a66
commit
b274c36002
10 changed files with 23 additions and 330 deletions
|
@ -16,7 +16,8 @@ cp "src/assets/images/appicons/64x64.png" "$APPDIR/feather.png"
|
||||||
cp "build/bin/feather" "$APPDIR/usr/bin/feather"
|
cp "build/bin/feather" "$APPDIR/usr/bin/feather"
|
||||||
chmod +x "$APPDIR/usr/bin/feather"
|
chmod +x "$APPDIR/usr/bin/feather"
|
||||||
|
|
||||||
export LD_LIBRARY_PATH=/feather/contrib/depends/x86_64-linux-gnu/lib/:/gnu/store:/gnu/store/yk91cxchassi5ykxsyd4vci32vncgjkf-gcc-cross-x86_64-linux-gnu-10.3.0-lib/x86_64-linux-gnu/lib
|
# libgcc_s.so.1 not found
|
||||||
|
export LD_LIBRARY_PATH=/feather/contrib/depends/x86_64-linux-gnu/lib/:/gnu/store:/gnu/store/0wfxmi621h9xn4169xzhzd1p5g91cj9m-gcc-cross-x86_64-linux-gnu-10.3.0-lib/x86_64-linux-gnu/lib/
|
||||||
|
|
||||||
# linuxdeployqt glibc moaning bypass
|
# linuxdeployqt glibc moaning bypass
|
||||||
mkdir -p "$APPDIR/usr/share/doc/libc6"
|
mkdir -p "$APPDIR/usr/share/doc/libc6"
|
||||||
|
|
|
@ -197,13 +197,6 @@ case "$HOST" in
|
||||||
*mingw*) HOST_LDFLAGS="-Wl,--no-insert-timestamp" ;;
|
*mingw*) HOST_LDFLAGS="-Wl,--no-insert-timestamp" ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# Using --no-tls-get-addr-optimize retains compatibility with glibc 2.18, by
|
|
||||||
# avoiding a PowerPC64 optimisation available in glibc 2.22 and later.
|
|
||||||
# https://sourceware.org/binutils/docs-2.35/ld/PowerPC64-ELF64.html
|
|
||||||
case "$HOST" in
|
|
||||||
*powerpc64*) HOST_LDFLAGS="${HOST_LDFLAGS} -Wl,--no-tls-get-addr-optimize" ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# Build the depends tree, overriding variables that assume multilib gcc
|
# Build the depends tree, overriding variables that assume multilib gcc
|
||||||
make -C contrib/depends --jobs="$JOBS" HOST="$HOST" \
|
make -C contrib/depends --jobs="$JOBS" HOST="$HOST" \
|
||||||
${V:+V=1} \
|
${V:+V=1} \
|
||||||
|
|
|
@ -169,7 +169,7 @@ chain for " target " development."))
|
||||||
#:key
|
#:key
|
||||||
(base-gcc-for-libc base-gcc)
|
(base-gcc-for-libc base-gcc)
|
||||||
(base-kernel-headers base-linux-kernel-headers)
|
(base-kernel-headers base-linux-kernel-headers)
|
||||||
(base-libc (make-glibc-with-bind-now (make-glibc-without-werror glibc-2.24)))
|
(base-libc (hardened-glibc (make-glibc-without-werror glibc-2.27)))
|
||||||
(base-gcc (make-gcc-rpath-link (hardened-gcc base-gcc))))
|
(base-gcc (make-gcc-rpath-link (hardened-gcc base-gcc))))
|
||||||
"Convenience wrapper around MAKE-CROSS-TOOLCHAIN with default values
|
"Convenience wrapper around MAKE-CROSS-TOOLCHAIN with default values
|
||||||
desirable for building Feather Wallet release binaries."
|
desirable for building Feather Wallet release binaries."
|
||||||
|
@ -558,33 +558,14 @@ inspecting signatures in Mach-O binaries.")
|
||||||
(define (make-glibc-without-werror glibc)
|
(define (make-glibc-without-werror glibc)
|
||||||
(package-with-extra-configure-variable glibc "enable_werror" "no"))
|
(package-with-extra-configure-variable glibc "enable_werror" "no"))
|
||||||
|
|
||||||
(define (make-glibc-with-stack-protector glibc)
|
;; https://www.gnu.org/software/libc/manual/html_node/Configuring-and-compiling.html
|
||||||
(package-with-extra-configure-variable glibc "--enable-stack-protector" "all"))
|
(define (hardened-glibc glibc)
|
||||||
|
(package-with-extra-configure-variable (
|
||||||
|
package-with-extra-configure-variable glibc
|
||||||
|
"--enable-stack-protector" "all")
|
||||||
|
"--enable-bind-now" "yes"))
|
||||||
|
|
||||||
(define (make-glibc-with-bind-now glibc)
|
(define-public glibc-2.27
|
||||||
(package-with-extra-configure-variable glibc "--enable-bind-now" "yes"))
|
|
||||||
|
|
||||||
(define-public glibc-2.24
|
|
||||||
(package
|
|
||||||
(inherit glibc-2.31)
|
|
||||||
(version "2.24")
|
|
||||||
(source (origin
|
|
||||||
(method git-fetch)
|
|
||||||
(uri (git-reference
|
|
||||||
(url "https://sourceware.org/git/glibc.git")
|
|
||||||
(commit "0d7f1ed30969886c8dde62fbf7d2c79967d4bace")))
|
|
||||||
(file-name (git-file-name "glibc" "0d7f1ed30969886c8dde62fbf7d2c79967d4bace"))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"0g5hryia5v1k0qx97qffgwzrz4lr4jw3s5kj04yllhswsxyjbic3"))
|
|
||||||
(patches (search-our-patches "glibc-ldd-x86_64.patch"
|
|
||||||
"glibc-versioned-locpath.patch"
|
|
||||||
"glibc-2.24-elfm-loadaddr-dynamic-rewrite.patch"
|
|
||||||
"glibc-2.24-no-build-time-cxx-header-run.patch"
|
|
||||||
"glibc-2.24-fcommon.patch"
|
|
||||||
"glibc-2.24-guix-prefix.patch"))))))
|
|
||||||
|
|
||||||
(define-public glibc-2.27/bitcoin-patched
|
|
||||||
(package
|
(package
|
||||||
(inherit glibc-2.31)
|
(inherit glibc-2.31)
|
||||||
(version "2.27")
|
(version "2.27")
|
||||||
|
@ -592,14 +573,15 @@ inspecting signatures in Mach-O binaries.")
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "https://sourceware.org/git/glibc.git")
|
(url "https://sourceware.org/git/glibc.git")
|
||||||
(commit "23158b08a0908f381459f273a984c6fd328363cb")))
|
(commit "73886db6218e613bd6d4edf529f11e008a6c2fa6")))
|
||||||
(file-name (git-file-name "glibc" "23158b08a0908f381459f273a984c6fd328363cb"))
|
(file-name (git-file-name "glibc" "73886db6218e613bd6d4edf529f11e008a6c2fa6"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1b2n1gxv9f4fd5yy68qjbnarhf8mf4vmlxk10i3328c1w5pmp0ca"))
|
"0azpb9cvnbv25zg8019rqz48h8i2257ngyjg566dlnp74ivrs9vq"))
|
||||||
(patches (search-our-patches "glibc-ldd-x86_64.patch"
|
(patches (search-our-patches "glibc-ldd-x86_64.patch"
|
||||||
|
"glibc-versioned-locpath.patch"
|
||||||
"glibc-2.27-riscv64-Use-__has_include-to-include-asm-syscalls.h.patch"
|
"glibc-2.27-riscv64-Use-__has_include-to-include-asm-syscalls.h.patch"
|
||||||
"glibc-2.27-dont-redefine-nss-database.patch"
|
"glibc-2.27-fcommon.patch"
|
||||||
"glibc-2.27-guix-prefix.patch"))))))
|
"glibc-2.27-guix-prefix.patch"))))))
|
||||||
|
|
||||||
(define-public linuxdeployqt
|
(define-public linuxdeployqt
|
||||||
|
@ -696,13 +678,7 @@ inspecting signatures in Mach-O binaries.")
|
||||||
(make-nsis-for-gcc-10 nsis-x86_64)
|
(make-nsis-for-gcc-10 nsis-x86_64)
|
||||||
osslsigncode))
|
osslsigncode))
|
||||||
((string-contains target "-linux-")
|
((string-contains target "-linux-")
|
||||||
(list cmake
|
(list (make-bitcoin-cross-toolchain target) cmake))
|
||||||
(cond ((string-contains target "riscv64-")
|
|
||||||
(make-bitcoin-cross-toolchain target
|
|
||||||
#:base-libc (make-glibc-with-stack-protector
|
|
||||||
(make-glibc-with-bind-now (make-glibc-without-werror glibc-2.27/bitcoin-patched)))))
|
|
||||||
(else
|
|
||||||
(make-bitcoin-cross-toolchain target)))))
|
|
||||||
((string-contains target "darwin")
|
((string-contains target "darwin")
|
||||||
(list clang-toolchain-10 binutils cmake xorriso python-signapple))
|
(list clang-toolchain-10 binutils cmake xorriso python-signapple))
|
||||||
(else '())))))
|
(else '())))))
|
||||||
|
|
|
@ -1,62 +0,0 @@
|
||||||
https://sourceware.org/git/?p=glibc.git;a=commit;h=a68ba2f3cd3cbe32c1f31e13c20ed13487727b32
|
|
||||||
|
|
||||||
commit 6b02af31e9a721bb15a11380cd22d53b621711f8
|
|
||||||
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
|
|
||||||
Date: Wed Oct 18 17:26:23 2017 +0100
|
|
||||||
|
|
||||||
[AARCH64] Rewrite elf_machine_load_address using _DYNAMIC symbol
|
|
||||||
|
|
||||||
This patch rewrites aarch64 elf_machine_load_address to use special _DYNAMIC
|
|
||||||
symbol instead of _dl_start.
|
|
||||||
|
|
||||||
The static address of _DYNAMIC symbol is stored in the first GOT entry.
|
|
||||||
Here is the change which makes this solution work (part of binutils 2.24):
|
|
||||||
https://sourceware.org/ml/binutils/2013-06/msg00248.html
|
|
||||||
|
|
||||||
i386, x86_64 targets use the same method to do this as well.
|
|
||||||
|
|
||||||
The original implementation relies on a trick that R_AARCH64_ABS32 relocation
|
|
||||||
being resolved at link time and the static address fits in the 32bits.
|
|
||||||
However, in LP64, normally, the address is defined to be 64 bit.
|
|
||||||
|
|
||||||
Here is the C version one which should be portable in all cases.
|
|
||||||
|
|
||||||
* sysdeps/aarch64/dl-machine.h (elf_machine_load_address): Use
|
|
||||||
_DYNAMIC symbol to calculate load address.
|
|
||||||
|
|
||||||
diff --git a/sysdeps/aarch64/dl-machine.h b/sysdeps/aarch64/dl-machine.h
|
|
||||||
index e86d8b5b63..5a5b8a5de5 100644
|
|
||||||
--- a/sysdeps/aarch64/dl-machine.h
|
|
||||||
+++ b/sysdeps/aarch64/dl-machine.h
|
|
||||||
@@ -49,26 +49,11 @@ elf_machine_load_address (void)
|
|
||||||
/* To figure out the load address we use the definition that for any symbol:
|
|
||||||
dynamic_addr(symbol) = static_addr(symbol) + load_addr
|
|
||||||
|
|
||||||
- The choice of symbol is arbitrary. The static address we obtain
|
|
||||||
- by constructing a non GOT reference to the symbol, the dynamic
|
|
||||||
- address of the symbol we compute using adrp/add to compute the
|
|
||||||
- symbol's address relative to the PC.
|
|
||||||
- This depends on 32bit relocations being resolved at link time
|
|
||||||
- and that the static address fits in the 32bits. */
|
|
||||||
-
|
|
||||||
- ElfW(Addr) static_addr;
|
|
||||||
- ElfW(Addr) dynamic_addr;
|
|
||||||
-
|
|
||||||
- asm (" \n"
|
|
||||||
-" adrp %1, _dl_start; \n"
|
|
||||||
-" add %1, %1, #:lo12:_dl_start \n"
|
|
||||||
-" ldr %w0, 1f \n"
|
|
||||||
-" b 2f \n"
|
|
||||||
-"1: \n"
|
|
||||||
-" .word _dl_start \n"
|
|
||||||
-"2: \n"
|
|
||||||
- : "=r" (static_addr), "=r" (dynamic_addr));
|
|
||||||
- return dynamic_addr - static_addr;
|
|
||||||
+ _DYNAMIC sysmbol is used here as its link-time address stored in
|
|
||||||
+ the special unrelocated first GOT entry. */
|
|
||||||
+
|
|
||||||
+ extern ElfW(Dyn) _DYNAMIC[] attribute_hidden;
|
|
||||||
+ return (ElfW(Addr)) &_DYNAMIC - elf_machine_dynamic ();
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Set up the loaded object described by L so its unrelocated PLT
|
|
|
@ -1,25 +0,0 @@
|
||||||
Without ffile-prefix-map, the debug symbols will contain paths for the
|
|
||||||
guix store which will include the hashes of each package. However, the
|
|
||||||
hash for the same package will differ when on different architectures.
|
|
||||||
In order to be reproducible regardless of the architecture used to build
|
|
||||||
the package, map all guix store prefixes to something fixed, e.g. /usr.
|
|
||||||
|
|
||||||
We might be able to drop this in favour of using --with-nonshared-cflags
|
|
||||||
when we being using newer versions of glibc.
|
|
||||||
|
|
||||||
--- a/Makeconfig
|
|
||||||
+++ b/Makeconfig
|
|
||||||
@@ -950,6 +950,10 @@ object-suffixes-for-libc += .oS
|
|
||||||
# shared objects. We don't want to use CFLAGS-os because users may, for
|
|
||||||
# example, make that processor-specific.
|
|
||||||
CFLAGS-.oS = $(CFLAGS-.o) $(PIC-ccflag)
|
|
||||||
+
|
|
||||||
+# Map Guix store paths to /usr
|
|
||||||
+CFLAGS-.oS += `find /gnu/store -maxdepth 1 -mindepth 1 -type d -exec echo -n " -ffile-prefix-map={}=/usr" \;`
|
|
||||||
+
|
|
||||||
CPPFLAGS-.oS = $(CPPFLAGS-.o) -DPIC -DLIBC_NONSHARED=1
|
|
||||||
libtype.oS = lib%_nonshared.a
|
|
||||||
endif
|
|
||||||
--
|
|
||||||
2.35.1
|
|
||||||
|
|
|
@ -1,100 +0,0 @@
|
||||||
https://sourceware.org/git/?p=glibc.git;a=commit;h=fc3e1337be1c6935ab58bd13520f97a535cf70cc
|
|
||||||
|
|
||||||
commit dc23a45db566095e83ff0b7a57afc87fb5ca89a1
|
|
||||||
Author: Florian Weimer <fweimer@redhat.com>
|
|
||||||
Date: Wed Sep 21 10:45:32 2016 +0200
|
|
||||||
|
|
||||||
Avoid running $(CXX) during build to obtain header file paths
|
|
||||||
|
|
||||||
This reduces the build time somewhat and is particularly noticeable
|
|
||||||
during rebuilds with few code changes.
|
|
||||||
|
|
||||||
diff --git a/Makerules b/Makerules
|
|
||||||
index 7e4077ee50..c338850de5 100644
|
|
||||||
--- a/Makerules
|
|
||||||
+++ b/Makerules
|
|
||||||
@@ -121,14 +121,10 @@ ifneq (,$(CXX))
|
|
||||||
# will be used instead of /usr/include/stdlib.h and /usr/include/math.h.
|
|
||||||
before-compile := $(common-objpfx)cstdlib $(common-objpfx)cmath \
|
|
||||||
$(before-compile)
|
|
||||||
-cstdlib=$(shell echo "\#include <cstdlib>" | $(CXX) -M -MP -x c++ - \
|
|
||||||
- | sed -n "/cstdlib:/{s/:$$//;p}")
|
|
||||||
-$(common-objpfx)cstdlib: $(cstdlib)
|
|
||||||
+$(common-objpfx)cstdlib: $(c++-cstdlib-header)
|
|
||||||
$(INSTALL_DATA) $< $@T
|
|
||||||
$(move-if-change) $@T $@
|
|
||||||
-cmath=$(shell echo "\#include <cmath>" | $(CXX) -M -MP -x c++ - \
|
|
||||||
- | sed -n "/cmath:/{s/:$$//;p}")
|
|
||||||
-$(common-objpfx)cmath: $(cmath)
|
|
||||||
+$(common-objpfx)cmath: $(c++-cmath-header)
|
|
||||||
$(INSTALL_DATA) $< $@T
|
|
||||||
$(move-if-change) $@T $@
|
|
||||||
endif
|
|
||||||
diff --git a/config.make.in b/config.make.in
|
|
||||||
index 95c6f36876..04a8b3ed7f 100644
|
|
||||||
--- a/config.make.in
|
|
||||||
+++ b/config.make.in
|
|
||||||
@@ -45,6 +45,8 @@ defines = @DEFINES@
|
|
||||||
sysheaders = @sysheaders@
|
|
||||||
sysincludes = @SYSINCLUDES@
|
|
||||||
c++-sysincludes = @CXX_SYSINCLUDES@
|
|
||||||
+c++-cstdlib-header = @CXX_CSTDLIB_HEADER@
|
|
||||||
+c++-cmath-header = @CXX_CMATH_HEADER@
|
|
||||||
all-warnings = @all_warnings@
|
|
||||||
enable-werror = @enable_werror@
|
|
||||||
|
|
||||||
diff --git a/configure b/configure
|
|
||||||
index 17625e1041..6ff252744b 100755
|
|
||||||
--- a/configure
|
|
||||||
+++ b/configure
|
|
||||||
@@ -635,6 +635,8 @@ BISON
|
|
||||||
INSTALL_INFO
|
|
||||||
PERL
|
|
||||||
BASH_SHELL
|
|
||||||
+CXX_CMATH_HEADER
|
|
||||||
+CXX_CSTDLIB_HEADER
|
|
||||||
CXX_SYSINCLUDES
|
|
||||||
SYSINCLUDES
|
|
||||||
AUTOCONF
|
|
||||||
@@ -5054,6 +5056,18 @@ fi
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
+# Obtain some C++ header file paths. This is used to make a local
|
|
||||||
+# copy of those headers in Makerules.
|
|
||||||
+if test -n "$CXX"; then
|
|
||||||
+ find_cxx_header () {
|
|
||||||
+ echo "#include <$1>" | $CXX -M -MP -x c++ - | sed -n "/$1:/{s/:\$//;p}"
|
|
||||||
+ }
|
|
||||||
+ CXX_CSTDLIB_HEADER="$(find_cxx_header cstdlib)"
|
|
||||||
+ CXX_CMATH_HEADER="$(find_cxx_header cmath)"
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+
|
|
||||||
# Test if LD_LIBRARY_PATH contains the notation for the current directory
|
|
||||||
# since this would lead to problems installing/building glibc.
|
|
||||||
# LD_LIBRARY_PATH contains the current directory if one of the following
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
|
||||||
index 33bcd62180..9938ab0dc2 100644
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -1039,6 +1039,18 @@ fi
|
|
||||||
AC_SUBST(SYSINCLUDES)
|
|
||||||
AC_SUBST(CXX_SYSINCLUDES)
|
|
||||||
|
|
||||||
+# Obtain some C++ header file paths. This is used to make a local
|
|
||||||
+# copy of those headers in Makerules.
|
|
||||||
+if test -n "$CXX"; then
|
|
||||||
+ find_cxx_header () {
|
|
||||||
+ echo "#include <$1>" | $CXX -M -MP -x c++ - | sed -n "/$1:/{s/:\$//;p}"
|
|
||||||
+ }
|
|
||||||
+ CXX_CSTDLIB_HEADER="$(find_cxx_header cstdlib)"
|
|
||||||
+ CXX_CMATH_HEADER="$(find_cxx_header cmath)"
|
|
||||||
+fi
|
|
||||||
+AC_SUBST(CXX_CSTDLIB_HEADER)
|
|
||||||
+AC_SUBST(CXX_CMATH_HEADER)
|
|
||||||
+
|
|
||||||
# Test if LD_LIBRARY_PATH contains the notation for the current directory
|
|
||||||
# since this would lead to problems installing/building glibc.
|
|
||||||
# LD_LIBRARY_PATH contains the current directory if one of the following
|
|
|
@ -1,87 +0,0 @@
|
||||||
commit 78a90c2f74a2012dd3eff302189e47ff6779a757
|
|
||||||
Author: Andreas Schwab <schwab@linux-m68k.org>
|
|
||||||
Date: Fri Mar 2 23:07:14 2018 +0100
|
|
||||||
|
|
||||||
Fix multiple definitions of __nss_*_database (bug 22918)
|
|
||||||
|
|
||||||
(cherry picked from commit eaf6753f8aac33a36deb98c1031d1bad7b593d2d)
|
|
||||||
|
|
||||||
diff --git a/nscd/gai.c b/nscd/gai.c
|
|
||||||
index d081747797..576fd0045b 100644
|
|
||||||
--- a/nscd/gai.c
|
|
||||||
+++ b/nscd/gai.c
|
|
||||||
@@ -45,3 +45,6 @@
|
|
||||||
#ifdef HAVE_LIBIDN
|
|
||||||
# include <libidn/idn-stub.c>
|
|
||||||
#endif
|
|
||||||
+
|
|
||||||
+/* Some variables normally defined in libc. */
|
|
||||||
+service_user *__nss_hosts_database attribute_hidden;
|
|
||||||
diff --git a/nss/nsswitch.c b/nss/nsswitch.c
|
|
||||||
index d5e655974f..b0f0c11a3e 100644
|
|
||||||
--- a/nss/nsswitch.c
|
|
||||||
+++ b/nss/nsswitch.c
|
|
||||||
@@ -62,7 +62,7 @@ static service_library *nss_new_service (name_database *database,
|
|
||||||
|
|
||||||
/* Declare external database variables. */
|
|
||||||
#define DEFINE_DATABASE(name) \
|
|
||||||
- extern service_user *__nss_##name##_database attribute_hidden; \
|
|
||||||
+ service_user *__nss_##name##_database attribute_hidden; \
|
|
||||||
weak_extern (__nss_##name##_database)
|
|
||||||
#include "databases.def"
|
|
||||||
#undef DEFINE_DATABASE
|
|
||||||
diff --git a/nss/nsswitch.h b/nss/nsswitch.h
|
|
||||||
index eccb535ef5..63573b9ebc 100644
|
|
||||||
--- a/nss/nsswitch.h
|
|
||||||
+++ b/nss/nsswitch.h
|
|
||||||
@@ -226,10 +226,10 @@ libc_hidden_proto (__nss_hostname_digits_dots)
|
|
||||||
#define MAX_NR_ADDRS 48
|
|
||||||
|
|
||||||
/* Prototypes for __nss_*_lookup2 functions. */
|
|
||||||
-#define DEFINE_DATABASE(arg) \
|
|
||||||
- service_user *__nss_##arg##_database attribute_hidden; \
|
|
||||||
- int __nss_##arg##_lookup2 (service_user **, const char *, \
|
|
||||||
- const char *, void **); \
|
|
||||||
+#define DEFINE_DATABASE(arg) \
|
|
||||||
+ extern service_user *__nss_##arg##_database attribute_hidden; \
|
|
||||||
+ int __nss_##arg##_lookup2 (service_user **, const char *, \
|
|
||||||
+ const char *, void **); \
|
|
||||||
libc_hidden_proto (__nss_##arg##_lookup2)
|
|
||||||
#include "databases.def"
|
|
||||||
#undef DEFINE_DATABASE
|
|
||||||
diff --git a/posix/tst-rfc3484-2.c b/posix/tst-rfc3484-2.c
|
|
||||||
index f509534ca9..8c64ac59ff 100644
|
|
||||||
--- a/posix/tst-rfc3484-2.c
|
|
||||||
+++ b/posix/tst-rfc3484-2.c
|
|
||||||
@@ -58,6 +58,7 @@ _res_hconf_init (void)
|
|
||||||
#undef USE_NSCD
|
|
||||||
#include "../sysdeps/posix/getaddrinfo.c"
|
|
||||||
|
|
||||||
+service_user *__nss_hosts_database attribute_hidden;
|
|
||||||
|
|
||||||
/* This is the beginning of the real test code. The above defines
|
|
||||||
(among other things) the function rfc3484_sort. */
|
|
||||||
diff --git a/posix/tst-rfc3484-3.c b/posix/tst-rfc3484-3.c
|
|
||||||
index ae44087a10..1c61aaf844 100644
|
|
||||||
--- a/posix/tst-rfc3484-3.c
|
|
||||||
+++ b/posix/tst-rfc3484-3.c
|
|
||||||
@@ -58,6 +58,7 @@ _res_hconf_init (void)
|
|
||||||
#undef USE_NSCD
|
|
||||||
#include "../sysdeps/posix/getaddrinfo.c"
|
|
||||||
|
|
||||||
+service_user *__nss_hosts_database attribute_hidden;
|
|
||||||
|
|
||||||
/* This is the beginning of the real test code. The above defines
|
|
||||||
(among other things) the function rfc3484_sort. */
|
|
||||||
diff --git a/posix/tst-rfc3484.c b/posix/tst-rfc3484.c
|
|
||||||
index 7f191abbbc..8f45848e44 100644
|
|
||||||
--- a/posix/tst-rfc3484.c
|
|
||||||
+++ b/posix/tst-rfc3484.c
|
|
||||||
@@ -58,6 +58,7 @@ _res_hconf_init (void)
|
|
||||||
#undef USE_NSCD
|
|
||||||
#include "../sysdeps/posix/getaddrinfo.c"
|
|
||||||
|
|
||||||
+service_user *__nss_hosts_database attribute_hidden;
|
|
||||||
|
|
||||||
/* This is the beginning of the real test code. The above defines
|
|
||||||
(among other things) the function rfc3484_sort. */
|
|
|
@ -18,15 +18,15 @@ Date: Fri May 6 11:03:04 2022 +0100
|
||||||
https://sourceware.org/git/?p=glibc.git;a=commit;h=7650321ce037302bfc2f026aa19e0213b8d02fe6
|
https://sourceware.org/git/?p=glibc.git;a=commit;h=7650321ce037302bfc2f026aa19e0213b8d02fe6
|
||||||
|
|
||||||
diff --git a/Makeconfig b/Makeconfig
|
diff --git a/Makeconfig b/Makeconfig
|
||||||
index ee379f5852..63c4a2f234 100644
|
index 86a71e5802..aa2166be60 100644
|
||||||
--- a/Makeconfig
|
--- a/Makeconfig
|
||||||
+++ b/Makeconfig
|
+++ b/Makeconfig
|
||||||
@@ -824,7 +824,7 @@ ifeq "$(strip $(+cflags))" ""
|
@@ -896,7 +896,7 @@ ifeq "$(strip $(+cflags))" ""
|
||||||
+cflags := $(default_cflags)
|
|
||||||
endif # $(+cflags) == ""
|
endif # $(+cflags) == ""
|
||||||
|
|
||||||
-+cflags += $(cflags-cpu) $(+gccwarn) $(+merge-constants) $(+math-flags)
|
+cflags += $(cflags-cpu) $(+gccwarn) $(+merge-constants) $(+math-flags) \
|
||||||
++cflags += $(cflags-cpu) $(+gccwarn) $(+merge-constants) $(+math-flags) -fcommon
|
- $(+stack-protector)
|
||||||
|
+ $(+stack-protector) -fcommon
|
||||||
+gcc-nowarn := -w
|
+gcc-nowarn := -w
|
||||||
|
|
||||||
# Don't duplicate options if we inherited variables from the parent.
|
# Don't duplicate options if we inherited variables from the parent.
|
|
@ -20,6 +20,3 @@ when we being using newer versions of glibc.
|
||||||
libtype.o := lib%.a
|
libtype.o := lib%.a
|
||||||
object-suffixes += .o
|
object-suffixes += .o
|
||||||
ifeq (yes,$(build-shared))
|
ifeq (yes,$(build-shared))
|
||||||
--
|
|
||||||
2.35.1
|
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
By default, 'RTDLLIST' in 'ldd' refers to 'lib64/ld-linux-x86-64.so', whereas
|
By default, 'RTDLLIST' in 'ldd' refers to 'lib64/ld-linux-x86-64.so', whereas
|
||||||
it's in 'lib/' for us. This patch fixes that.
|
it's in 'lib/' for us. This patch fixes that.
|
||||||
|
|
||||||
--- glibc-2.17/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed 2012-12-25 04:02:13.000000000 +0100
|
--- a/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed
|
||||||
+++ glibc-2.17/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed 2013-09-15 23:08:03.000000000 +0200
|
+++ b/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed
|
||||||
@@ -1,3 +1,3 @@
|
@@ -1,3 +1,3 @@
|
||||||
/LD_TRACE_LOADED_OBJECTS=1/a\
|
/LD_TRACE_LOADED_OBJECTS=1/a\
|
||||||
add_env="$add_env LD_LIBRARY_VERSION=\\$verify_out"
|
add_env="$add_env LD_LIBRARY_VERSION=\\$verify_out"
|
||||||
|
|
Loading…
Reference in a new issue