diff options
Diffstat (limited to 'dev-util/valgrind')
-rw-r--r-- | dev-util/valgrind/Manifest | 3 | ||||
-rw-r--r-- | dev-util/valgrind/files/valgrind-3.17.0-lld.patch | 77 | ||||
-rw-r--r-- | dev-util/valgrind/valgrind-3.17.0.ebuild | 2 |
3 files changed, 81 insertions, 1 deletions
diff --git a/dev-util/valgrind/Manifest b/dev-util/valgrind/Manifest index 13bf3ebf84e1..843050996d0c 100644 --- a/dev-util/valgrind/Manifest +++ b/dev-util/valgrind/Manifest @@ -1,8 +1,9 @@ AUX valgrind-3.15.0-Build-ldst_multiple-test-with-fno-pie.patch 650 BLAKE2B ffb545d6af214a5bd43ff800d52e0d7cfc03feac8d2466da8d4935db659172cd50cf3e2d63b3aff46d81b21846b304671506cd235b710037218fc16e0ef66438 SHA512 7cb5a46c2d8ed4360053289994014b334e32d48b0608ed58662486bd432c31835ef16e2cdfd734f3e4d720e272d2507ec76f0b77e1364237e9f6dbbd97a8abb6 +AUX valgrind-3.17.0-lld.patch 2837 BLAKE2B 331c5eb91f476271a82d6730b5aa628ecf3a9b63765b480dab0d0f43669f078764272b3ca2813747b863fde70664a71b8f801590374ee340618ea0b8f1bc193b SHA512 d96fc27cc28dbf9def7b73d92ab2eb54c32ffe04590b3621a5d2e2926c420de46ace81a75466d8b50ff7b27186c5134ad810916f120e620afc6e902c0f3823f5 AUX valgrind-3.7.0-respect-flags.patch 360 BLAKE2B 020b9e3af2c6393193edd8be99ff2309f4b138915bd0315090cebd902747678a5b655a8178a8ec8e88782286470922aed505d2a69d6da4d295fd2053d640b035 SHA512 efdb017283b6a5829d1a5acc31b42ddd177a3ab468eb062b8c4fd90b2dbd06679e8d8bc2d6f813e3001efdda831d4410cc8da3a3e42ee2e49efea0423e4b3ca3 DIST valgrind-3.16.1.tar.bz2 16262776 BLAKE2B 1c333c26827f7a8356869e8758da9dd6a7444642ac4f6377c84fdab8349b9cee1e9bf2cf2eb86043c4feffab342dd97da20e76d7566d0296189e6ea8483a8c65 SHA512 2a4173efe1b6facdd2f5c5ee8ed006704168eba1813736fccc8191d60363afd96197512cf42037e65f18d4ddd49adc74a54c47210df216fba3c46bf68ef0f950 DIST valgrind-3.17.0.tar.bz2 16459075 BLAKE2B 96569db9bc3c25ca195a4caa64da6e96b9bff7edd82727fccccaa8307162e29f4e150386c7c9611152fc1afde609d0922aa84067957b72dff03810ee23045e9c SHA512 94de78942a7059e1ab84d1c0c0b8f3efd1c2d15c70b97bc7edc8136812778adb6f8187149d53a60a8c6a7c8b40534f9be5cfed0eb3c0c314545b681f950b108f EBUILD valgrind-3.16.1.ebuild 3700 BLAKE2B d9cafee6c49c3055d3dae53ca9702ead5c6c6380fd7ec4954d97e00b938616c4734cad17bdbabefc7d053e7606cc7350b79b1920eff960023ec507168f24cb74 SHA512 a1fa319bbe947b54676e7603d56c42b4af808bf93149e1b3a14ca837c33b747dc07161a41833c377b948099fed8ad8bb8f2ba664a3e9c3841a0f7171f0acef00 -EBUILD valgrind-3.17.0.ebuild 3700 BLAKE2B d9cafee6c49c3055d3dae53ca9702ead5c6c6380fd7ec4954d97e00b938616c4734cad17bdbabefc7d053e7606cc7350b79b1920eff960023ec507168f24cb74 SHA512 a1fa319bbe947b54676e7603d56c42b4af808bf93149e1b3a14ca837c33b747dc07161a41833c377b948099fed8ad8bb8f2ba664a3e9c3841a0f7171f0acef00 +EBUILD valgrind-3.17.0.ebuild 3746 BLAKE2B 9b9e00a73a16c65d92d05bc3156dba11fcb1fe74dd2f200590b69c4767ab6d4780fe95ef22e57607739530704a97280dd431332eff1a940fd754e0942b08860e SHA512 24f0717d06e297aa8e25d368f92e471aa3435ca8fb40266596498d163ec69d99721e456435996a1f00bb75d4c7beb52372ca63509f2391c01f154bb26eb2aebe EBUILD valgrind-9999.ebuild 3706 BLAKE2B cd2e4f588afd417b9c70042304e5a6db83baa2d4b1f182f5bfb7636d4455e027366c3047f7f639ede0a9cef446cadf1893b9784eaeb734692fddc55dbc6fc7d3 SHA512 c04f648a07d6cca1dd196c7523338ee295ab504d561c84ef8154391fc5e6b6a72a43b132cd3615525937609bbb917df46d79c586c6195d99da22d9a3381476f8 MISC metadata.xml 1027 BLAKE2B df13361ec401ce5e0bfa11e51378c432405bd296a874d8c71c26c9cbdf0171689e4b3134b5e05672dfc22bbcd6e2b6c74b96c47367725c209990d3e1fcc65e7b SHA512 da5bcaf596f2adaa552cc3b7296891b40be0bafec8a12695076ce8fbe660b8aabe70508eb02ab3fb66b0d9dd0c0c8615f430c1ee0ce3f3579732ea2406c8a778 diff --git a/dev-util/valgrind/files/valgrind-3.17.0-lld.patch b/dev-util/valgrind/files/valgrind-3.17.0-lld.patch new file mode 100644 index 000000000000..56a7c0f72f46 --- /dev/null +++ b/dev-util/valgrind/files/valgrind-3.17.0-lld.patch @@ -0,0 +1,77 @@ +https://bugs.kde.org/show_bug.cgi?id=439046 +--- +diff --git a/configure.ac b/configure.ac +index 4582fb5d0..63fd6c25e 100755 +--- a/configure.ac ++++ b/configure.ac +@@ -2639,30 +2639,52 @@ CFLAGS=$safe_CFLAGS + # will reside. -Ttext aligns just the .text section start (but not any + # other section). + # +-# So test for -Ttext-segment which is supported by all bfd ld versions ++# LLVM ld.lld 10.0 changed the semantics of its -Ttext. See "Breaking changes" ++# in https://releases.llvm.org/10.0.0/tools/lld/docs/ReleaseNotes.html ++# The --image-base option (since version 6.0?) provides the semantics needed. ++# -Ttext-segment generates an error, but -Ttext now more closely ++# follows the GNU (bfd) ld's -Ttext. ++# ++# So test first for --image-base support, and if that fails then ++# for -Ttext-segment which is supported by all bfd ld versions + # and use that if it exists. If it doesn't exist it must be an older + # version of gold and we can fall back to using -Ttext which has the + # right semantics. + +-AC_MSG_CHECKING([if the linker accepts -Wl,-Ttext-segment]) +- + safe_CFLAGS=$CFLAGS +-CFLAGS="-static -nodefaultlibs -nostartfiles -Wl,-Ttext-segment=$valt_load_address_pri_norml -Werror" ++AC_MSG_CHECKING([if the linker accepts -Wl,--image-base]) ++ ++CFLAGS="-static -nodefaultlibs -nostartfiles -Wl,--image-base=$valt_load_address_pri_norml -Werror" + + AC_LINK_IFELSE( + [AC_LANG_SOURCE([int _start () { return 0; }])], + [ + linker_using_t_text="no" +- AC_SUBST([FLAG_T_TEXT], ["-Ttext-segment"]) ++ AC_SUBST([FLAG_T_TEXT], ["--image-base"]) + AC_MSG_RESULT([yes]) + ], [ +- linker_using_t_text="yes" +- AC_SUBST([FLAG_T_TEXT], ["-Ttext"]) + AC_MSG_RESULT([no]) ++ ++ AC_MSG_CHECKING([if the linker accepts -Wl,-Ttext-segment]) ++ ++ CFLAGS="-static -nodefaultlibs -nostartfiles -Wl,-Ttext-segment=$valt_load_address_pri_norml -Werror" ++ ++ AC_LINK_IFELSE( ++ [AC_LANG_SOURCE([int _start () { return 0; }])], ++ [ ++ linker_using_t_text="no" ++ AC_SUBST([FLAG_T_TEXT], ["-Ttext-segment"]) ++ AC_MSG_RESULT([yes]) ++ ], [ ++ linker_using_t_text="yes" ++ AC_SUBST([FLAG_T_TEXT], ["-Ttext"]) ++ AC_MSG_RESULT([no]) ++ ]) + ]) ++ + CFLAGS=$safe_CFLAGS + +-# If the linker only supports -Ttext (not -Ttext-segment) then we will ++# If the linker only supports -Ttext (not -Ttext-segment or --image-base) then we will + # have to strip any build-id ELF NOTEs from the statically linked tools. + # Otherwise the build-id NOTE might end up at the default load address. + # (Pedantically if the linker is gold then -Ttext is fine, but newer +@@ -2688,7 +2710,7 @@ AC_LINK_IFELSE( + AC_MSG_RESULT([no]) + ]) + else +-AC_MSG_NOTICE([ld -Ttext-segment used, no need to strip build-id NOTEs.]) ++AC_MSG_NOTICE([ld --image-base or -Ttext-segment used, no need to strip build-id NOTEs.]) + AC_SUBST([FLAG_NO_BUILD_ID], [""]) + fi + CFLAGS=$safe_CFLAGS +-- diff --git a/dev-util/valgrind/valgrind-3.17.0.ebuild b/dev-util/valgrind/valgrind-3.17.0.ebuild index 890f41044529..148f504a5702 100644 --- a/dev-util/valgrind/valgrind-3.17.0.ebuild +++ b/dev-util/valgrind/valgrind-3.17.0.ebuild @@ -33,6 +33,8 @@ src_prepare() { eapply "${FILESDIR}"/${PN}-3.15.0-Build-ldst_multiple-test-with-fno-pie.patch + eapply "${FILESDIR}"/${PN}-3.17.0-lld.patch + if [[ ${CHOST} == *-solaris* ]] ; then # upstream doesn't support this, but we don't build with # Sun/Oracle ld, we have a GNU toolchain, so get some things |