summaryrefslogtreecommitdiff
path: root/dev-libs/elfutils
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2021-10-26 00:10:07 +0100
committerV3n3RiX <venerix@koprulu.sector>2021-10-26 00:10:07 +0100
commit95461df035e3867364495f065e5e805bf629b2d7 (patch)
tree867dce371a84a696e91be255d89f282975aa0480 /dev-libs/elfutils
parent46eedbedafdb0040c37884982d4c775ce277fb7b (diff)
gentoo resync : 25.10.2021
Diffstat (limited to 'dev-libs/elfutils')
-rw-r--r--dev-libs/elfutils/Manifest3
-rw-r--r--dev-libs/elfutils/elfutils-0.185.ebuild1
-rw-r--r--dev-libs/elfutils/files/elfutils-0.185-glibc-2.34-test-failure.patch124
3 files changed, 127 insertions, 1 deletions
diff --git a/dev-libs/elfutils/Manifest b/dev-libs/elfutils/Manifest
index 68898b250a11..52afecc81b74 100644
--- a/dev-libs/elfutils/Manifest
+++ b/dev-libs/elfutils/Manifest
@@ -2,8 +2,9 @@ AUX elfutils-0.175-disable-biarch-test-PR24158.patch 307 BLAKE2B 9cfcd2c9ef972b1
AUX elfutils-0.177-disable-large.patch 383 BLAKE2B ce5a90495ca0eac5a74d7e3f52b9f55e0611fe83782374d5201b984e85e7c27897d0d056f53af40ebb383e8cbe315a57adce2af378348ee1a573cfeb005e7a43 SHA512 2660ee456b62d6b1ed72ede92d8b00e9d1cd4b0a5778a80bfbdc3139e5527758591cdb05110b39a5c5811f60e2223cc8c83a488ac055a554f5b3c71fc5980acb
AUX elfutils-0.180-PaX-support.patch 1058 BLAKE2B 9d7980eedf6250b848923eddb86d918ac983b348f77b3816ba77e1a663cc637ec02670e062b005aa010fa50f45fb953b1f2ef033bca6381773793231eb3cef06 SHA512 1bfb390ff4fb9ba2cbaf677bb4cd0d3ab3a27e465629be0dcc7b37f14dfe6c876069b598e29e9f3aa0c345b08c62895e68ce557237d18239c7505b8ea51c9ebd
AUX elfutils-0.185-configure.ac-rework-gnu99-ext-check-to-allow-clang.patch 4731 BLAKE2B b201b7e511e963f935f8ec308f0f8f0b1a006050c6f804076083ce6b95a7f638aba77b58e0654baefc35ef1093051c6d1a4f73c882bc54afcccf1441e9282481 SHA512 72e319c99c473965eabcc7ed2773594b03d7dc55f8d2cba205b93ced768956f607330656203b22e2cf101394e5d0e7eb3743f48e035d8a97e440628fb3723971
+AUX elfutils-0.185-glibc-2.34-test-failure.patch 4265 BLAKE2B 28609f381927f23c8401389b676b1f439be2498ea5bdef17bc64df03fd320b7d1010551ddbf6f0543aae0048344343765135f2fd7dbe180070911b42ccf87e08 SHA512 87fef4211f5005753e051e426e7d6af49f71294a54db3ba044774686e822c4849d99ea46d58e70f8eaf189bff7275a479cca44d1e85698e9a89d8048cee96d05
AUX elfutils-0.185-pull-advance_pc-in-file-scope.patch 2620 BLAKE2B cfa868cd11ede0bb04e401da099e64f6d5134e7b31aa9f27c7ed89ea22eeaaaee1f55d2e58cd6e08f8ba761939fe33b28cb5cc5d962318a56e4b9ff6310bd34d SHA512 db7e2cb5ecd0f4236256f2001b8c9610ce4269dd01cee8d17276fa4e3394265f0bb1e85b1feab79299b899a08be581e3ac12f638bbc21ae14c44785cde3a8751
AUX elfutils-0.185-static-inline.patch 361 BLAKE2B c480f9a4024922252c9917c5e69eb8b4c92c897f7ebb4284445a489b5b28c630ac28e337bff977f67c164abed688aa0ed0dc76a715f6270e1001a7a80d46799f SHA512 8ac89c40aa108b097f18deb82ec3267d987aa16473fb40105aa7f83465cbea4ac1538bf4fc84c957e61250f9b8b6ea1f5694dcd5b404902ce8b73f53eed3308a
DIST elfutils-0.185.tar.bz2 9187627 BLAKE2B 57cfa7e4060975c4bf6170dbd354687a19a92f7069c060db1ac2fa4da5a9d34e8bddd07c7ce376b5c28b5670ad5b8c1df795164cbcfb600a44cf1db60c20c4af SHA512 34de0de1355b11740e036e0fc64f2fc063587c8eb121b19216ee5548d3f0f268d8fc3995176c47190466b9d881007cfa11a9d01e9a50e38af6119492bf8bb47f
-EBUILD elfutils-0.185.ebuild 2561 BLAKE2B f69ec9c003ff2f70b859d94353cfe472641c7828a18ba9adb41edc49b597d8640a79107df40695608a8e44cdf999a64a69debe3f68913677b269cfc3b477f0ba SHA512 590c629a87ee792a3871a806527643c65ae3f22f6a2a68b647061f0b54d98ed1fcbf342c8033ebb1ecd66981c10327236c9a6e3c861cfb25f32f0b16ba807563
+EBUILD elfutils-0.185.ebuild 2618 BLAKE2B a5477901b1cec3446a91408f70ff4e88f0c2d2c1fcdb5e680c666dcce23d26f1c819e309add745eacd848ac4d8c23362b66977181fd05da3a9a3d87bdd5a445a SHA512 dc56958d6e58d73bf0705ecae7dcfbea2485554c596601377e0b50af55e12585603c87093752d44a9e2a1c6b17da7efd7d95cfd76e24f4824c4d677c9be6c24d
MISC metadata.xml 730 BLAKE2B 94e9585a2d765ee2a7c85a823c389453bcdbc29b90a5542333eef1253d4ebafb7c26e383dfe5c5e0fcccf61f60321e7a46b0ae8c5edf467937485d6c9867712a SHA512 663cb6d587113d21fc0d3c703731f4dcaed55fc1bc7e75e1ac465e21b161ba5c4b4cefe0fd838d28b1f890cc33008878996e1d117fcab6435f8ed49f7eb0bc73
diff --git a/dev-libs/elfutils/elfutils-0.185.ebuild b/dev-libs/elfutils/elfutils-0.185.ebuild
index fd5ccd261595..a73fbfc04925 100644
--- a/dev-libs/elfutils/elfutils-0.185.ebuild
+++ b/dev-libs/elfutils/elfutils-0.185.ebuild
@@ -36,6 +36,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-0.185-static-inline.patch
"${FILESDIR}"/${PN}-0.185-pull-advance_pc-in-file-scope.patch
"${FILESDIR}"/${PN}-0.185-configure.ac-rework-gnu99-ext-check-to-allow-clang.patch
+ "${FILESDIR}"/${PN}-0.185-glibc-2.34-test-failure.patch
)
src_prepare() {
diff --git a/dev-libs/elfutils/files/elfutils-0.185-glibc-2.34-test-failure.patch b/dev-libs/elfutils/files/elfutils-0.185-glibc-2.34-test-failure.patch
new file mode 100644
index 000000000000..134e642ab0eb
--- /dev/null
+++ b/dev-libs/elfutils/files/elfutils-0.185-glibc-2.34-test-failure.patch
@@ -0,0 +1,124 @@
+https://sourceware.org/git/?p=elfutils.git;a=commit;h=9aee0992d6e6ec4cce2c015d8da4b61022c6f6dd
+
+Author: Mark Wielaard <mark@klomp.org>
+Date: Wed Aug 4 21:01:27 2021 +0200
+
+ tests: Allow an extra pthread_kill frame in backtrace tests
+
+ glibc 2.34 calls pthread_kill from the raise function. Before raise
+ directly called the (tg)kill syscall. So allow pthread_kill to be the
+ first frame in a backtrace where raise is expected. Also change some
+ asserts to fprintf plus abort to make it more clear why the testcase
+ fails.
+
+ https://sourceware.org/bugzilla/show_bug.cgi?id=28190
+
+ Signed-off-by: Mark Wielaard <mark@klomp.org>
+
+--- a/tests/backtrace.c
++++ b/tests/backtrace.c
+@@ -97,6 +97,9 @@ callback_verify (pid_t tid, unsigned frameno, Dwarf_Addr pc,
+ static bool reduce_frameno = false;
+ if (reduce_frameno)
+ frameno--;
++ static bool pthread_kill_seen = false;
++ if (pthread_kill_seen)
++ frameno--;
+ if (! use_raise_jmp_patching && frameno >= 2)
+ frameno += 2;
+ const char *symname2 = NULL;
+@@ -107,11 +110,26 @@ callback_verify (pid_t tid, unsigned frameno, Dwarf_Addr pc,
+ && (strcmp (symname, "__kernel_vsyscall") == 0
+ || strcmp (symname, "__libc_do_syscall") == 0))
+ reduce_frameno = true;
++ else if (! pthread_kill_seen && symname
++ && strstr (symname, "pthread_kill") != NULL)
++ pthread_kill_seen = true;
+ else
+- assert (symname && strcmp (symname, "raise") == 0);
++ {
++ if (!symname || strcmp (symname, "raise") != 0)
++ {
++ fprintf (stderr,
++ "case 0: expected symname 'raise' got '%s'\n", symname);
++ abort ();
++ }
++ }
+ break;
+ case 1:
+- assert (symname != NULL && strcmp (symname, "sigusr2") == 0);
++ if (symname == NULL || strcmp (symname, "sigusr2") != 0)
++ {
++ fprintf (stderr,
++ "case 1: expected symname 'sigusr2' got '%s'\n", symname);
++ abort ();
++ }
+ break;
+ case 2: // x86_64 only
+ /* __restore_rt - glibc maybe does not have to have this symbol. */
+@@ -120,11 +138,21 @@ callback_verify (pid_t tid, unsigned frameno, Dwarf_Addr pc,
+ if (use_raise_jmp_patching)
+ {
+ /* Verify we trapped on the very first instruction of jmp. */
+- assert (symname != NULL && strcmp (symname, "jmp") == 0);
++ if (symname == NULL || strcmp (symname, "jmp") != 0)
++ {
++ fprintf (stderr,
++ "case 3: expected symname 'raise' got '%s'\n", symname);
++ abort ();
++ }
+ mod = dwfl_addrmodule (dwfl, pc - 1);
+ if (mod)
+ symname2 = dwfl_module_addrname (mod, pc - 1);
+- assert (symname2 == NULL || strcmp (symname2, "jmp") != 0);
++ if (symname2 == NULL || strcmp (symname2, "jmp") != 0)
++ {
++ fprintf (stderr,
++ "case 3: expected symname2 'jmp' got '%s'\n", symname2);
++ abort ();
++ }
+ break;
+ }
+ FALLTHROUGH;
+@@ -137,11 +165,22 @@ callback_verify (pid_t tid, unsigned frameno, Dwarf_Addr pc,
+ duplicate_sigusr2 = true;
+ break;
+ }
+- assert (symname != NULL && strcmp (symname, "stdarg") == 0);
++ if (symname == NULL || strcmp (symname, "stdarg") != 0)
++ {
++ fprintf (stderr,
++ "case 4: expected symname 'stdarg' got '%s'\n", symname);
++ abort ();
++ }
+ break;
+ case 5:
+ /* Verify we trapped on the very last instruction of child. */
+- assert (symname != NULL && strcmp (symname, "backtracegen") == 0);
++ if (symname == NULL || strcmp (symname, "backtracegen") != 0)
++ {
++ fprintf (stderr,
++ "case 5: expected symname 'backtracegen' got '%s'\n",
++ symname);
++ abort ();
++ }
+ mod = dwfl_addrmodule (dwfl, pc);
+ if (mod)
+ symname2 = dwfl_module_addrname (mod, pc);
+@@ -151,7 +190,15 @@ callback_verify (pid_t tid, unsigned frameno, Dwarf_Addr pc,
+ // instructions or even inserts some padding instructions at the end
+ // (which apparently happens on ppc64).
+ if (use_raise_jmp_patching)
+- assert (symname2 == NULL || strcmp (symname2, "backtracegen") != 0);
++ {
++ if (symname2 != NULL && strcmp (symname2, "backtracegen") == 0)
++ {
++ fprintf (stderr,
++ "use_raise_jmp_patching didn't expect symname2 "
++ "'backtracegen'\n");
++ abort ();
++ }
++ }
+ break;
+ }
+ }