From 752d6256e5204b958b0ef7905675a940b5e9172f Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 12 May 2022 16:42:50 +0300 Subject: gentoo resync : 12.05.2022 --- sys-devel/gdb/Manifest | 16 +- sys-devel/gdb/files/gdb-10.1-cet.patch | 103 -------- sys-devel/gdb/files/gdb-10.2-DW_LLE-riscv64.patch | 41 ---- sys-devel/gdb/files/gdb-10.2-sparc-nat.patch | 47 ---- sys-devel/gdb/files/gdb-11.1-glibc-2.34-sim.patch | 110 --------- .../gdb/files/gdb-11.2-glibc-2.35-fsqrt.patch | 32 +++ .../gdb/files/gdb-12.1-readline-8.2-build.patch | 29 +++ sys-devel/gdb/gdb-10.2-r1.ebuild | 259 -------------------- sys-devel/gdb/gdb-11.1.ebuild | 267 -------------------- sys-devel/gdb/gdb-11.2.ebuild | 1 + sys-devel/gdb/gdb-12.1.ebuild | 272 +++++++++++++++++++++ sys-devel/gdb/gdb-9999.ebuild | 13 +- 12 files changed, 349 insertions(+), 841 deletions(-) delete mode 100644 sys-devel/gdb/files/gdb-10.1-cet.patch delete mode 100644 sys-devel/gdb/files/gdb-10.2-DW_LLE-riscv64.patch delete mode 100644 sys-devel/gdb/files/gdb-10.2-sparc-nat.patch delete mode 100644 sys-devel/gdb/files/gdb-11.1-glibc-2.34-sim.patch create mode 100644 sys-devel/gdb/files/gdb-11.2-glibc-2.35-fsqrt.patch create mode 100644 sys-devel/gdb/files/gdb-12.1-readline-8.2-build.patch delete mode 100644 sys-devel/gdb/gdb-10.2-r1.ebuild delete mode 100644 sys-devel/gdb/gdb-11.1.ebuild create mode 100644 sys-devel/gdb/gdb-12.1.ebuild (limited to 'sys-devel/gdb') diff --git a/sys-devel/gdb/Manifest b/sys-devel/gdb/Manifest index 184b779bcadc..c61d06cda6f5 100644 --- a/sys-devel/gdb/Manifest +++ b/sys-devel/gdb/Manifest @@ -1,13 +1,9 @@ -AUX gdb-10.1-cet.patch 2675 BLAKE2B b720e43514b25897a332648bfb15e16278f76606413991ce75c0233af27bbc434c36e85d36d4207339211382c0c5de5e9892f9e533e9d24b5257864939ac4874 SHA512 4fd4787c7ff2f7c2fed338ccc0f478b120d566959c0de5dde03cdcfdb37911bc22c5c11a124a000d84138a23c30ee3fa65c024eb72d1c924f926b04e079412a5 -AUX gdb-10.2-DW_LLE-riscv64.patch 1352 BLAKE2B 962c47c3791735162da4351c29fdb4c8bdc803824445a034cced8eb24d4028a27dd68f3238b3028299212eb5a9035e006dd48429d497b5a83a301c5a2e9cbc5d SHA512 c70c34be908ca2ae3545184730d49ebf024295ff382b632fe7186de0f9e019655476bef01e5ae1017856d12e7fe15ca1917a3f1b44ddf4c11214dfa4f47f766f -AUX gdb-10.2-sparc-nat.patch 1683 BLAKE2B b5ef1ce44dd935ca8a69a6477cfea703109300e5c50b108b834ebcaaa3d4144b81ec10bd586db207cec2eab3355c2886c0af442a4046f378a08300cbd7d1783e SHA512 dc72e7e1d789dac8befd77ad07bdbcfa6ad96e82095cd807f12dcbc7f0521e4bbb6812841ec7bd311d2efe2f4aa9f249e4d114315ae88a04216f698448bb35b0 -AUX gdb-11.1-glibc-2.34-sim.patch 4406 BLAKE2B a1884d9bc430094b7505a68ccccba9ea634f610643c40cc89b98c8a3df95ce59cd5994ec6e57f24f85d6db3a42ff33367a52afd09540025504c0331580aa96e2 SHA512 c75b4e197416fbbb47226b9a846174fc07835a159eac304303f952f5cd15afceeb165a3f867ab3807c7687b294af805a0249ed3ab257dcb270d9d31d7ef6b6a7 +AUX gdb-11.2-glibc-2.35-fsqrt.patch 2212 BLAKE2B c0b9e6e9f27f791d197691ff5bc1e5083b7acb3197312ce5c9afdad02756b69b47f308f85d2b94d3695e8869db8925298bc808468c36c29ddfb289009fb038c4 SHA512 4b8d9ffcd178c0a028b29d8ba2ecb6eedf7a8d67ea1a8bb39276a5d36582502604d7cb1585671e82169539f6a4317224ce61ca4e95b455221340f70a4f1360e0 +AUX gdb-12.1-readline-8.2-build.patch 926 BLAKE2B f483dd1054b019d44dd4731ba22113551d3530a9da1af8c5e83aeae3ba820d96b8a1c2cb7758ecc3fbe8a56cdc7232cdece809d15c30dbfffadc30d81738a7ca SHA512 f865349953181fe3502abbe6042ebab249e2ebbc4c0017ebad756aadfd63e72f57b009fe2e7d036543f326e54518a656101bef572d03a7a7170c9ec305807ed8 AUX gdb-8.3.1-verbose-build.patch 395 BLAKE2B e2e82307ceae64d16aa9b57a5e639eb5d217c4d977aed0847fdf125bb13ebc004906d9afb8e3f629c41efccca88df0040015e7799c1fd24de5fb50f62f5bbd90 SHA512 c2bb013e4fcabefddcd8042bd3cbb53471f83182cc8769fe0d19eed80ccc4a83bd84d120006fa25b3b7d0310dc2f2ec6b44a6ff74909cd312b7e491f371777a3 -DIST gdb-10.2.tar.xz 21518900 BLAKE2B c5d31d80d2b454767d6f844e8471b012ad437c3872391b618fd7b14c5cf251b78e55d28c12e81382fd600f67e2f618ff5dbe3a7b737a5d5161ceb3542afbb90b SHA512 3653762ac008e065c37cd641653184c9ff7ce51ee2222ade1122bec9d6cc64dffd4fb74888ef11ac1942064a08910e96b7865112ad37f4602eb0a16bed074caa -DIST gdb-11.1.tar.xz 22040696 BLAKE2B 6a639f6533f4008bfb469c23a26c4fcd039f1bc5dd33745f4876344451beb595d7a8843caeb5db70214924624c5b999f8831237d459bebf1cb2d2866f8b41ee2 SHA512 c40bf970e2f7c2107b29c5aa6a7150daa709d75ddadb73ac20742419d4637d158e3063a4c6ff6e47fae8ca8e1d36253973f85ea15445d004be6d5d7a2dd9bd46 DIST gdb-11.2.tar.xz 22039420 BLAKE2B 66ce7e12c99c33c8b4e6ababa673204aab525e72c90ba54cc34a5fd69948a09dc2a9ef2050764b2464544231b1d1a6431279c2877388551ca6fbf384a3f9b464 SHA512 07e9026423438049b11f4f784d57401ece4e940570f613bd6958b3714fe7fbc2c048470bcce3e7d7d9f93331cdf3881d30dcc964cb113a071143a02b28e5b127 -EBUILD gdb-10.2-r1.ebuild 7104 BLAKE2B eebd99e7ca3e846fccf046cb4020928ab1cb55874b586f1ffbdade65c6306a85f7e48224213bee15cd7726dbefe0c1fd7f4ed28525e8b3655150ecf221d39ead SHA512 276eb6b940068adcc3d2f1cad75559b3943d097ab5a849f1fe2d01b9835a0fe9f30464967be073c254ceecba181c65a8fe6fc6f6a4b95d6405548a185802a557 -EBUILD gdb-11.1.ebuild 7054 BLAKE2B be2f536ac494e82f54e7e48297a12624a8ad16697841a9741f5acbca979e4fb54fdd12b5431e80d9d1b24a8ce66337373457bd0d83e13495d619b3252e77ed65 SHA512 f8bd3b143af6626b048d81eafd6e613c891110417bbf3fc89268bc0adfed7b247231e97e3850593d37a6be1a4e7b92785ccef51c524926de3ed0e92d27eba7b7 -EBUILD gdb-11.2.ebuild 7193 BLAKE2B 35ba3707346d30b0f0a47e8028e8bb07569ca025b945f9f00b8c35b913ef887c586b3331a6fdf50c038f659b4b6a52f3c97b0649f7c319cfc3988089660f788f SHA512 9335b7e68214feb41102e3df4d2660f25e8924563201baac28957affd56cd3e0c907111bd329aa89e0079d4394380ab11596d74eeadab029baf15c54a4850068 -EBUILD gdb-9999.ebuild 7021 BLAKE2B f3673b15e9429235bf583baaf4e371b997fe718f10afb0705bd9dd6f9cf7158e6b754385a68751c8c6f220b1f2f4278d556a7be4c0aea425ac6790d1d0dcb7cb SHA512 f513e9359f958b17166a9b83d94bf2f79976cf40946679754b2f1b08227eec81deec23ebbe0fb555ac8775e66c89a862b63eae3e9590a66e1ada7565c48363a1 +DIST gdb-12.1.tar.xz 22470332 BLAKE2B 7f6f853d1640908cf2c79932cdc1ba02549a07721c005d9c7ce2946a715761719cc164a4e68235a18664ec8a029afe3a2a0cfb57e1635f280076d6bed91317fd SHA512 425568d2e84672177d0fb87b1ad7daafdde097648d605e30cf0656970f66adc6a82ca2d83375ea4be583e9683a340e5bfdf5819668ddf66728200141ae50ff2d +EBUILD gdb-11.2.ebuild 7236 BLAKE2B 3b14ca50368353fb9f1a8b4f1fcbb8be6b461a1f0a5f9dc32540ed62f791bb1abd32ae380d0339df49c6ea047453073d592ede4d2cf5eea2f01ed89b048bd8ec SHA512 58d4c20618ad9016722327ccf26963cea7f39ad65bde4483e8524dc39fb63aecedaf3241cdfe9ee9f5192bb73014e9c64b9d341a6558ee43082169d0f7cc2cd3 +EBUILD gdb-12.1.ebuild 7255 BLAKE2B 424e51c4f466d30eb5aac836cec992d4339b794d8fc6b2a57386e8f82050b5b07077bfe57eaa1ea79308e288f3054f400611b302bde3ac737a547c2730fd8239 SHA512 61963b0c79ca68fe4ca107c6e9314226e70f04fcda189e373bf2f6b3da1f90fb9b55513a2ede562cbb98c3115f23258ea1d2600bb418d925f6a13443087ccf22 +EBUILD gdb-9999.ebuild 7210 BLAKE2B f05546667b7ff2b4cb8ce25d70fe2fe4ccf86a65dbbfed6736f9f51abadfa7fd004f3a003360dff384ebb662f662473006d58928695940a838e34ceb446b181b SHA512 e1c892f70d65eeb1d77258f8d08e7f030ad7313977e1fd6ae4ae155a4cb24017384b6189d0c4091ae1c0472d2fd72bffacef3e8cc1cf232e8c3ea05c5053afca MISC metadata.xml 1103 BLAKE2B e63ea2e52649ac2f4ac21381cadb7cc76525792e99a4a6581535475480b6c45e654c8222b0b58585435d4c858cf3eef00dcaecf7edecae2b2fd336f1b56e6e56 SHA512 f7f1b4da71b18cb68a2f32aa6faae6251528047069071c9bee1be504267d0baf2cbac4fb928e0cbe9df100e3a681e2c3b6c7be14514a45a2f52d30364a8626f4 diff --git a/sys-devel/gdb/files/gdb-10.1-cet.patch b/sys-devel/gdb/files/gdb-10.1-cet.patch deleted file mode 100644 index 7477ff90ac95..000000000000 --- a/sys-devel/gdb/files/gdb-10.1-cet.patch +++ /dev/null @@ -1,103 +0,0 @@ -https://bugs.gentoo.org/771765 -https://sourceware.org/PR27397 - -On i586-like CPUs endbr32 added by -Wl,-z,ibt,-z,shstk -generates crashing binaries and causes ./configure failure. - -From 847e4b3207f97762dc641db8d3b188081c3370c3 Mon Sep 17 00:00:00 2001 -From: "H.J. Lu" -Date: Fri, 12 Feb 2021 16:30:23 -0800 -Subject: [PATCH] GCC_CET_HOST_FLAGS: Check if host supports multi-byte NOPs - ---- - config/cet.m4 | 19 ++++++++++++++++--- - libiberty/configure | 29 +++++++++++++++++++++++++++++ - 2 files changed, 45 insertions(+), 3 deletions(-) - -diff --git a/config/cet.m4 b/config/cet.m4 -index c67fb4f35b6..7718be1afe8 100644 ---- a/config/cet.m4 -+++ b/config/cet.m4 -@@ -130,6 +130,18 @@ fi - if test x$may_have_cet = xyes; then - if test x$cross_compiling = xno; then - AC_TRY_RUN([ -+int -+main () -+{ -+ asm ("endbr32"); -+ return 0; -+} -+ ], -+ [have_multi_byte_nop=yes], -+ [have_multi_byte_nop=no]) -+ have_cet=no -+ if test x$have_multi_byte_nop = xyes; then -+ AC_TRY_RUN([ - static void - foo (void) - { -@@ -155,9 +167,10 @@ main () - bar (); - return 0; - } -- ], -- [have_cet=no], -- [have_cet=yes]) -+ ], -+ [have_cet=no], -+ [have_cet=yes]) -+ fi - if test x$enable_cet = xno -a x$have_cet = xyes; then - AC_MSG_ERROR([Intel CET must be enabled on Intel CET enabled host]) - fi -diff --git a/libiberty/configure b/libiberty/configure -index 160b8c9e8b1..29a690d44fc 100755 ---- a/libiberty/configure -+++ b/libiberty/configure -@@ -5539,6 +5539,34 @@ else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - -+int -+main () -+{ -+ asm ("endbr32"); -+ return 0; -+} -+ -+_ACEOF -+if ac_fn_c_try_run "$LINENO"; then : -+ have_multi_byte_nop=yes -+else -+ have_multi_byte_nop=no -+fi -+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ -+ conftest.$ac_objext conftest.beam conftest.$ac_ext -+fi -+ -+ have_cet=no -+ if test x$have_multi_byte_nop = xyes; then -+ if test "$cross_compiling" = yes; then : -+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -+as_fn_error $? "cannot run test program while cross compiling -+See \`config.log' for more details" "$LINENO" 5; } -+else -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ - static void - foo (void) - { -@@ -5575,6 +5603,7 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext - fi - -+ fi - if test x$enable_cet = xno -a x$have_cet = xyes; then - as_fn_error $? "Intel CET must be enabled on Intel CET enabled host" "$LINENO" 5 - fi --- -2.29.2 - diff --git a/sys-devel/gdb/files/gdb-10.2-DW_LLE-riscv64.patch b/sys-devel/gdb/files/gdb-10.2-DW_LLE-riscv64.patch deleted file mode 100644 index 0d3e8c5cb949..000000000000 --- a/sys-devel/gdb/files/gdb-10.2-DW_LLE-riscv64.patch +++ /dev/null @@ -1,41 +0,0 @@ -https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=80d1206d7fea6eb756183e2825abdfd0f00cd976 -https://sourceware.org/PR27999 - -From 80d1206d7fea6eb756183e2825abdfd0f00cd976 Mon Sep 17 00:00:00 2001 -From: Andreas Schwab -Date: Mon, 21 Jun 2021 11:38:23 +0200 -Subject: [PATCH] gdb: Support DW_LLE_start_end - -Without that it is impossible to debug on riscv64. - ---- a/gdb/dwarf2/loc.c -+++ b/gdb/dwarf2/loc.c -@@ -255,9 +255,27 @@ decode_debug_loclists_addresses (dwarf2_per_cu_data *per_cu, - *new_ptr = loc_ptr; - return DEBUG_LOC_OFFSET_PAIR; - -+ case DW_LLE_start_end: -+ if (loc_ptr + 2 * addr_size > buf_end) -+ return DEBUG_LOC_BUFFER_OVERFLOW; -+ -+ if (signed_addr_p) -+ *low = extract_signed_integer (loc_ptr, addr_size, byte_order); -+ else -+ *low = extract_unsigned_integer (loc_ptr, addr_size, byte_order); -+ -+ loc_ptr += addr_size; -+ if (signed_addr_p) -+ *high = extract_signed_integer (loc_ptr, addr_size, byte_order); -+ else -+ *high = extract_unsigned_integer (loc_ptr, addr_size, byte_order); -+ -+ loc_ptr += addr_size; -+ *new_ptr = loc_ptr; -+ return DEBUG_LOC_START_END; -+ - /* Following cases are not supported yet. */ - case DW_LLE_startx_endx: -- case DW_LLE_start_end: - case DW_LLE_default_location: - default: - return DEBUG_LOC_INVALID_ENTRY; diff --git a/sys-devel/gdb/files/gdb-10.2-sparc-nat.patch b/sys-devel/gdb/files/gdb-10.2-sparc-nat.patch deleted file mode 100644 index 5e71efa0d33a..000000000000 --- a/sys-devel/gdb/files/gdb-10.2-sparc-nat.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 288e3189fce8f466ca60411c27e8f1c0dac5d582 Mon Sep 17 00:00:00 2001 -From: Sergei Trofimovich -Date: Sun, 25 Apr 2021 20:50:38 +0100 -Subject: [PATCH] gdb: fix sparc build failure of linux-nat - -On sparc build failed as: - -``` -gdb/sparc-linux-nat.c: In member function - 'virtual void sparc_linux_nat_target::fetch_registers(regcache*, int)': -gdb/sparc-linux-nat.c:36:37: - error: cannot convert 'regcache*' to 'process_stratum_target*' - 36 | { sparc_fetch_inferior_registers (regcache, regnum); } - | ^~~~~~~~ - | | - | regcache* -``` - -The fix adopts gdb/sparc-nat.h API change in d1e93af64a6 -("gdb: set current thread in sparc_{fetch,collect}_inferior_registers"). - -gdb/ChangeLog: - - * sparc-linux-nat.c (sparc_linux_nat_target): fix sparc build - by passing `process_stratum_target*` parameter. ---- - gdb/sparc-linux-nat.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/gdb/sparc-linux-nat.c -+++ b/gdb/sparc-linux-nat.c -@@ -33,10 +33,10 @@ class sparc_linux_nat_target final : public linux_nat_target - public: - /* Add our register access methods. */ - void fetch_registers (struct regcache *regcache, int regnum) override -- { sparc_fetch_inferior_registers (regcache, regnum); } -+ { sparc_fetch_inferior_registers (this, regcache, regnum); } - - void store_registers (struct regcache *regcache, int regnum) override -- { sparc_store_inferior_registers (regcache, regnum); } -+ { sparc_store_inferior_registers (this, regcache, regnum); } - }; - - static sparc_linux_nat_target the_sparc_linux_nat_target; --- -2.31.1 - diff --git a/sys-devel/gdb/files/gdb-11.1-glibc-2.34-sim.patch b/sys-devel/gdb/files/gdb-11.1-glibc-2.34-sim.patch deleted file mode 100644 index 15ab45f278f1..000000000000 --- a/sys-devel/gdb/files/gdb-11.1-glibc-2.34-sim.patch +++ /dev/null @@ -1,110 +0,0 @@ -https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=39d53d04357606a15efd400147fa7369d71baf2c;hp=46039d3632e32d9a404c1f18cf55f14c894e4627 -https://bugs.gentoo.org/813831 - -From 39d53d04357606a15efd400147fa7369d71baf2c Mon Sep 17 00:00:00 2001 -From: Mike Frysinger -Date: Sun, 3 Oct 2021 12:02:53 -0400 -Subject: [PATCH 1/1] sim: filter out SIGSTKSZ [PR sim/28302] - -We map target signals to host signals so we can propagate signals -between the host & simulated worlds. That means we need to know -the symbolic names & values of all signals that might be sent. - -The tools that generate that list use signal.h and include all -symbols that start with "SIG" so as to automatically include any -new symbols that the C library might add. Unfortunately, this -also picks up "SIGSTKSZ" which is not actually a signal itself, -but a signal related setting -- it's the size of the stack when -a signal is handled. - -By itself this doesn't super matter as we will never see a signal -with that same value (since the range of valid signals tend to be -way less than 1024, and the size of the default signal stack will -never be that small). But with recent glibc changes that make this -into a dynamic value instead of a compile-time constant, some users -see build failures when building the sim. - -As suggested by Adam Sampson, update our scripts to ignore this -symbol to simplify everything and avoid the build failure. - -Bug: https://sourceware.org/PR28302 ---- - sim/bfin/linux-targ-map.h | 5 +---- - sim/common/gennltvals.py | 6 ++++-- - sim/common/nltvals.def | 1 - - 3 files changed, 5 insertions(+), 7 deletions(-) - -diff --git a/sim/bfin/linux-targ-map.h b/sim/bfin/linux-targ-map.h -index e9c8c8f273b..0340ed54764 100644 ---- a/sim/bfin/linux-targ-map.h -+++ b/sim/bfin/linux-targ-map.h -@@ -30,6 +30,7 @@ echo - # XXX: nothing uses this ? - echo '#include ' | \ - bfin-uclinux-gcc -E -dD -P - | \ -+grep -v SIGSTKSZ | \ - sed -r -n \ - -e '1istatic CB_TARGET_DEFS_MAP cb_linux_signal_map[] = {' \ - -e '$i\ \ { 0, -1, -1 }\n};' \ -@@ -1987,10 +1988,6 @@ static CB_TARGET_DEFS_MAP cb_linux_signal_map[] = - #ifdef SIG_SETMASK - # define TARGET_LINUX_SIG_SETMASK 2 - { "SIG_SETMASK", SIG_SETMASK, TARGET_LINUX_SIG_SETMASK }, --#endif --#ifdef SIGSTKSZ --# define TARGET_LINUX_SIGSTKSZ 8192 -- { "SIGSTKSZ", SIGSTKSZ, TARGET_LINUX_SIGSTKSZ }, - #endif - { 0, -1, -1 } - }; -diff --git a/sim/common/gennltvals.py b/sim/common/gennltvals.py -index db3ff641d40..955ace34311 100755 ---- a/sim/common/gennltvals.py -+++ b/sim/common/gennltvals.py -@@ -67,6 +67,7 @@ FILE_HEADER = f"""\ - def gentvals(output: TextIO, cpp: str, srctype: str, srcdir: Path, - headers: Iterable[str], - pattern: str, -+ filter: str = r'^$', - target: str = None): - """Extract constants from the specified files using a regular expression. - -@@ -94,12 +95,13 @@ def gentvals(output: TextIO, cpp: str, srctype: str, srcdir: Path, - srcfile = ''.join(f'#include <{x}>\n' for x in headers) - syms = set() - define_pattern = re.compile(r'^#\s*define\s+(' + pattern + ')') -+ filter_pattern = re.compile(filter) - for header in headers: - with open(srcdir / header, 'r', encoding='utf-8') as fp: - data = fp.read() - for line in data.splitlines(): - m = define_pattern.match(line) -- if m: -+ if m and not filter_pattern.search(line): - syms.add(m.group(1)) - for sym in sorted(syms): - srcfile += f'#ifdef {sym}\nDEFVAL {{ "{sym}", {sym} }},\n#endif\n' -@@ -129,7 +131,7 @@ def gen_common(output: TextIO, newlib: Path, cpp: str): - ('errno.h', 'sys/errno.h'), 'E[A-Z0-9]*') - - gentvals(output, cpp, 'signal', newlib / 'newlib/libc/include', -- ('signal.h', 'sys/signal.h'), r'SIG[A-Z0-9]*') -+ ('signal.h', 'sys/signal.h'), r'SIG[A-Z0-9]*', filter=r'SIGSTKSZ') - - gentvals(output, cpp, 'open', newlib / 'newlib/libc/include', - ('fcntl.h', 'sys/fcntl.h', 'sys/_default_fcntl.h'), r'O_[A-Z0-9]*') -diff --git a/sim/common/nltvals.def b/sim/common/nltvals.def -index 8ae88397249..8bc6ae59026 100644 ---- a/sim/common/nltvals.def -+++ b/sim/common/nltvals.def -@@ -116,7 +116,6 @@ - { "SIGPROF", 27 }, - { "SIGQUIT", 3 }, - { "SIGSEGV", 11 }, -- { "SIGSTKSZ", 8192 }, - { "SIGSTOP", 17 }, - { "SIGSYS", 12 }, - { "SIGTERM", 15 }, --- -2.27.0 - diff --git a/sys-devel/gdb/files/gdb-11.2-glibc-2.35-fsqrt.patch b/sys-devel/gdb/files/gdb-11.2-glibc-2.35-fsqrt.patch new file mode 100644 index 000000000000..5e0121f85029 --- /dev/null +++ b/sys-devel/gdb/files/gdb-11.2-glibc-2.35-fsqrt.patch @@ -0,0 +1,32 @@ +https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=a532eb7277ff64fb073e209d418b0a97f686c0e3 +https://bugs.gentoo.org/833590 + +From: Sergei Trofimovich +Date: Mon, 14 Feb 2022 17:12:41 +0000 +Subject: [PATCH] microblaze: fix fsqrt collicion to build on glibc-2.35 + + * microblaze-opcm.h: Renamed 'fsqrt' to 'microblaze_fsqrt'. + * microblaze-opc.h: Follow 'fsqrt' rename. +--- a/opcodes/microblaze-opc.h ++++ b/opcodes/microblaze-opc.h +@@ -268,7 +268,7 @@ const struct op_code_struct + {"fcmp.un", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000200, OPCODE_MASK_H4, fcmp_un, arithmetic_inst }, + {"flt", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000280, OPCODE_MASK_H4, flt, arithmetic_inst }, + {"fint", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000300, OPCODE_MASK_H4, fint, arithmetic_inst }, +- {"fsqrt", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000380, OPCODE_MASK_H4, fsqrt, arithmetic_inst }, ++ {"fsqrt", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000380, OPCODE_MASK_H4, microblaze_fsqrt, arithmetic_inst }, + {"tget", INST_TYPE_RD_RFSL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x6C001000, OPCODE_MASK_H32, tget, anyware_inst }, + {"tcget", INST_TYPE_RD_RFSL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x6C003000, OPCODE_MASK_H32, tcget, anyware_inst }, + {"tnget", INST_TYPE_RD_RFSL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x6C005000, OPCODE_MASK_H32, tnget, anyware_inst }, +--- a/opcodes/microblaze-opcm.h ++++ b/opcodes/microblaze-opcm.h +@@ -42,7 +42,8 @@ enum microblaze_instr + shr, sw, swr, swx, lbui, lhui, lwi, + sbi, shi, swi, msrset, msrclr, tuqula, mbi_fadd, frsub, mbi_fmul, mbi_fdiv, + fcmp_lt, fcmp_eq, fcmp_le, fcmp_gt, fcmp_ne, fcmp_ge, fcmp_un, flt, +- fint, fsqrt, ++ /* 'fsqrt' is a glibc:math.h symbol. */ ++ fint, microblaze_fsqrt, + tget, tcget, tnget, tncget, tput, tcput, tnput, tncput, + eget, ecget, neget, necget, eput, ecput, neput, necput, + teget, tecget, tneget, tnecget, teput, tecput, tneput, tnecput, diff --git a/sys-devel/gdb/files/gdb-12.1-readline-8.2-build.patch b/sys-devel/gdb/files/gdb-12.1-readline-8.2-build.patch new file mode 100644 index 000000000000..fad27ee4ca85 --- /dev/null +++ b/sys-devel/gdb/files/gdb-12.1-readline-8.2-build.patch @@ -0,0 +1,29 @@ +https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=1add37b567a7dee39d99f37b37802034c3fce9c4 +https://bugs.gentoo.org/842252 + +From: Andreas Schwab +Date: Sun, 20 Mar 2022 14:01:54 +0100 +Subject: [PATCH] Add support for readline 8.2 + +In readline 8.2 the type of rl_completer_word_break_characters changed to +include const. +--- a/gdb/completer.c ++++ b/gdb/completer.c +@@ -36,7 +36,7 @@ + calling a hook instead so we eliminate the CLI dependency. */ + #include "gdbcmd.h" + +-/* Needed for rl_completer_word_break_characters() and for ++/* Needed for rl_completer_word_break_characters and for + rl_filename_completion_function. */ + #include "readline/readline.h" + +@@ -2011,7 +2011,7 @@ gdb_completion_word_break_characters_throw () + rl_basic_quote_characters = NULL; + } + +- return rl_completer_word_break_characters; ++ return (char *) rl_completer_word_break_characters; + } + + char * diff --git a/sys-devel/gdb/gdb-10.2-r1.ebuild b/sys-devel/gdb/gdb-10.2-r1.ebuild deleted file mode 100644 index 0133e0b20eb8..000000000000 --- a/sys-devel/gdb/gdb-10.2-r1.ebuild +++ /dev/null @@ -1,259 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python3_{7,8,9,10} ) - -inherit eutils flag-o-matic python-single-r1 toolchain-funcs - -export CTARGET=${CTARGET:-${CHOST}} -if [[ ${CTARGET} == ${CHOST} ]] ; then - if [[ ${CATEGORY} == cross-* ]] ; then - export CTARGET=${CATEGORY#cross-} - fi -fi -is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } - -case ${PV} in -9999*) - # live git tree - EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" - inherit git-r3 - SRC_URI="" - ;; -*.*.50.2???????) - # weekly snapshots - SRC_URI="ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.xz" - ;; -*) - # Normal upstream release - SRC_URI="mirror://gnu/gdb/${P}.tar.xz - ftp://sourceware.org/pub/gdb/releases/${P}.tar.xz" - ;; -esac - -PATCH_VER="" -PATCH_DEV="" -DESCRIPTION="GNU debugger" -HOMEPAGE="https://sourceware.org/gdb/" -SRC_URI="${SRC_URI} - ${PATCH_DEV:+https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz} - ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz} -" - -LICENSE="GPL-2 LGPL-2" -SLOT="0" -if [[ ${PV} != 9999* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -fi -IUSE="cet guile lzma multitarget nls +python +server source-highlight test vanilla xml xxhash" -REQUIRED_USE=" - python? ( ${PYTHON_REQUIRED_USE} ) -" - -# ia64 kernel crashes when gdb testsuite is running -RESTRICT=" - ia64? ( test ) - - !test? ( test ) -" - -RDEPEND=" - dev-libs/mpfr:0= - >=sys-libs/ncurses-5.2-r2:0= - >=sys-libs/readline-7:0= - sys-libs/zlib - lzma? ( app-arch/xz-utils ) - python? ( ${PYTHON_DEPS} ) - guile? ( >=dev-scheme/guile-2.0 ) - xml? ( dev-libs/expat ) - source-highlight? ( - dev-util/source-highlight - ) - xxhash? ( - dev-libs/xxhash - ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - app-arch/xz-utils - sys-apps/texinfo - virtual/yacc - nls? ( sys-devel/gettext ) - source-highlight? ( virtual/pkgconfig ) - test? ( dev-util/dejagnu ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-8.3.1-verbose-build.patch - "${FILESDIR}"/${PN}-10.1-cet.patch - "${FILESDIR}"/${PN}-10.2-sparc-nat.patch - "${FILESDIR}"/${PN}-10.2-DW_LLE-riscv64.patch -) - -pkg_setup() { - use python && python-single-r1_pkg_setup -} - -src_prepare() { - default - - strip-linguas -u bfd/po opcodes/po - export CC_FOR_BUILD="$(tc-getBUILD_CC)" - - # avoid using ancient termcap from host on Prefix systems - sed -i -e 's/termcap tinfow/tinfow/g' \ - gdb/configure{.ac,} || die -} - -gdb_branding() { - printf "Gentoo ${PV} " - if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then - printf "p${PATCH_VER}" - else - printf "vanilla" - fi - [[ -n ${EGIT_COMMIT} ]] && printf " ${EGIT_COMMIT}" -} - -src_configure() { - strip-unsupported-flags - - local myconf=( - # portage's econf() does not detect presence of --d-d-t - # because it greps only top-level ./configure. But not - # gnulib's or gdb's configure. - --disable-dependency-tracking - - --with-pkgversion="$(gdb_branding)" - --with-bugurl='https://bugs.gentoo.org/' - --disable-werror - # Disable modules that are in a combined binutils/gdb tree. #490566 - --disable-{binutils,etc,gas,gold,gprof,ld} - - # avoid automagic dependency on (currently prefix) systems - # systems with debuginfod library, bug #754753 - --without-debuginfod - - # Allow user to opt into CET for host libraries. - # Ideally we would like automagic-or-disabled here. - # But the check does not quite work on i686: bug #760926. - $(use_enable cet) - ) - local sysroot="${EPREFIX}/usr/${CTARGET}" - is_cross && myconf+=( - --with-sysroot="${sysroot}" - --includedir="${sysroot}/usr/include" - --with-gdb-datadir="\${datadir}/gdb/${CTARGET}" - ) - - # gdbserver only works for native targets (CHOST==CTARGET). - # it also doesn't support all targets, so rather than duplicate - # the target list (which changes between versions), use the - # "auto" value when things are turned on, which is triggered - # whenever no --enable or --disable is given - if is_cross || use !server ; then - myconf+=( --disable-gdbserver ) - fi - - myconf+=( - --enable-64-bit-bfd - --disable-install-libbfd - --disable-install-libiberty - --enable-obsolete - # This only disables building in the readline subdir. - # For gdb itself, it'll use the system version. - --disable-readline - --with-system-readline - # This only disables building in the zlib subdir. - # For gdb itself, it'll use the system version. - --without-zlib - --with-system-zlib - --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug - $(use_with xml expat) - $(use_with lzma) - $(use_enable nls) - $(use_enable source-highlight) - $(use multitarget && echo --enable-targets=all) - $(use_with python python "${EPYTHON}") - $(use_with xxhash) - $(use_with guile) - ) - if use sparc-solaris || use x86-solaris ; then - # disable largefile support - # https://sourceware.org/ml/gdb-patches/2014-12/msg00058.html - myconf+=( --disable-largefile ) - fi - - # source-highlight is detected with pkg-config: bug #716558 - export ac_cv_path_pkg_config_prog_path="$(tc-getPKG_CONFIG)" - - # ensure proper compiler is detected for Clang builds: bug #831202 - export GCC_FOR_TARGET="${CC_FOR_TARGET:-$(tc-getCC)}" - - econf "${myconf[@]}" -} - -src_install() { - default - find "${ED}"/usr -name libiberty.a -delete || die - - # Delete translations that conflict with binutils-libs. #528088 - # Note: Should figure out how to store these in an internal gdb dir. - if use nls ; then - find "${ED}" \ - -regextype posix-extended -regex '.*/(bfd|opcodes)[.]g?mo$' \ - -delete || die - fi - - # Don't install docs when building a cross-gdb - if [[ ${CTARGET} != ${CHOST} ]] ; then - rm -rf "${ED}"/usr/share/{doc,info,locale} || die - local f - for f in "${ED}"/usr/share/man/*/* ; do - if [[ ${f##*/} != ${CTARGET}-* ]] ; then - mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die - fi - done - return 0 - fi - # Install it by hand for now: - # https://sourceware.org/ml/gdb-patches/2011-12/msg00915.html - # Only install if it exists due to the twisted behavior (see - # notes in src_configure above). - [[ -e gdbserver/gdbreplay ]] && dobin gdbserver/gdbreplay - - docinto gdb - dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \ - gdb/NEWS gdb/ChangeLog gdb/PROBLEMS - docinto sim - dodoc sim/{ChangeLog,MAINTAINERS,README-HACKING} - if use server ; then - docinto gdbserver - dodoc gdbserver/{ChangeLog,README} - fi - - if [[ -n ${PATCH_VER} ]] ; then - dodoc "${WORKDIR}"/extra/gdbinit.sample - fi - - # Remove shared info pages - rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,standards}.info* - - if use python; then - python_optimize "${ED}"/usr/share/gdb/python/gdb - fi -} - -pkg_postinst() { - # portage sucks and doesnt unmerge files in /etc - rm -vf "${EROOT}"/etc/skel/.gdbinit - - if use prefix && [[ ${CHOST} == *-darwin* ]] ; then - ewarn "gdb is unable to get a mach task port when installed by Prefix" - ewarn "Portage, unprivileged. To make gdb fully functional you'll" - ewarn "have to perform the following steps:" - ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb" - ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb" - fi -} diff --git a/sys-devel/gdb/gdb-11.1.ebuild b/sys-devel/gdb/gdb-11.1.ebuild deleted file mode 100644 index 84c1146484b8..000000000000 --- a/sys-devel/gdb/gdb-11.1.ebuild +++ /dev/null @@ -1,267 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{8,9,10} ) -inherit flag-o-matic python-single-r1 strip-linguas toolchain-funcs - -export CTARGET=${CTARGET:-${CHOST}} - -if [[ ${CTARGET} == ${CHOST} ]] ; then - if [[ ${CATEGORY} == cross-* ]] ; then - export CTARGET=${CATEGORY#cross-} - fi -fi - -is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } - -case ${PV} in - 9999*) - # live git tree - EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" - inherit git-r3 - SRC_URI="" - ;; - *.*.50.2???????) - # weekly snapshots - SRC_URI="ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.xz" - ;; - *) - # Normal upstream release - SRC_URI="mirror://gnu/gdb/${P}.tar.xz - ftp://sourceware.org/pub/gdb/releases/${P}.tar.xz" - ;; -esac - -PATCH_VER="" -PATCH_DEV="" -DESCRIPTION="GNU debugger" -HOMEPAGE="https://sourceware.org/gdb/" -SRC_URI="${SRC_URI} - ${PATCH_DEV:+https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz} - ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz} -" - -LICENSE="GPL-2 LGPL-2" -SLOT="0" - -if [[ ${PV} != 9999* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -fi - -IUSE="cet guile lzma multitarget nls +python +server source-highlight test vanilla xml xxhash" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -# ia64 kernel crashes when gdb testsuite is running -RESTRICT=" - ia64? ( test ) - !test? ( test ) -" - -RDEPEND=" - dev-libs/mpfr:0= - dev-libs/gmp:= - >=sys-libs/ncurses-5.2-r2:0= - >=sys-libs/readline-7:0= - sys-libs/zlib - lzma? ( app-arch/xz-utils ) - python? ( ${PYTHON_DEPS} ) - guile? ( >=dev-scheme/guile-2.0 ) - xml? ( dev-libs/expat ) - source-highlight? ( - dev-util/source-highlight - ) - xxhash? ( - dev-libs/xxhash - ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - app-arch/xz-utils - sys-apps/texinfo - virtual/yacc - nls? ( sys-devel/gettext ) - source-highlight? ( virtual/pkgconfig ) - test? ( dev-util/dejagnu ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-8.3.1-verbose-build.patch - "${FILESDIR}"/${P}-glibc-2.34-sim.patch -) - -pkg_setup() { - use python && python-single-r1_pkg_setup -} - -src_prepare() { - default - - strip-linguas -u bfd/po opcodes/po - export CC_FOR_BUILD="$(tc-getBUILD_CC)" - - # avoid using ancient termcap from host on Prefix systems - sed -i -e 's/termcap tinfow/tinfow/g' \ - gdb/configure{.ac,} || die -} - -gdb_branding() { - printf "Gentoo ${PV} " - - if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then - printf "p${PATCH_VER}" - else - printf "vanilla" - fi - - [[ -n ${EGIT_COMMIT} ]] && printf " ${EGIT_COMMIT}" -} - -src_configure() { - strip-unsupported-flags - - local myconf=( - # portage's econf() does not detect presence of --d-d-t - # because it greps only top-level ./configure. But not - # gnulib's or gdb's configure. - --disable-dependency-tracking - - --with-pkgversion="$(gdb_branding)" - --with-bugurl='https://bugs.gentoo.org/' - --disable-werror - # Disable modules that are in a combined binutils/gdb tree. #490566 - --disable-{binutils,etc,gas,gold,gprof,ld} - - # avoid automagic dependency on (currently prefix) systems - # systems with debuginfod library, bug #754753 - --without-debuginfod - - # Allow user to opt into CET for host libraries. - # Ideally we would like automagic-or-disabled here. - # But the check does not quite work on i686: bug #760926. - $(use_enable cet) - ) - - local sysroot="${EPREFIX}/usr/${CTARGET}" - - is_cross && myconf+=( - --with-sysroot="${sysroot}" - --includedir="${sysroot}/usr/include" - --with-gdb-datadir="\${datadir}/gdb/${CTARGET}" - ) - - # gdbserver only works for native targets (CHOST==CTARGET). - # it also doesn't support all targets, so rather than duplicate - # the target list (which changes between versions), use the - # "auto" value when things are turned on, which is triggered - # whenever no --enable or --disable is given - if is_cross || use !server ; then - myconf+=( --disable-gdbserver ) - fi - - myconf+=( - --enable-64-bit-bfd - --disable-install-libbfd - --disable-install-libiberty - --enable-obsolete - # This only disables building in the readline subdir. - # For gdb itself, it'll use the system version. - --disable-readline - --with-system-readline - # This only disables building in the zlib subdir. - # For gdb itself, it'll use the system version. - --without-zlib - --with-system-zlib - --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug - $(use_with xml expat) - $(use_with lzma) - $(use_enable nls) - $(use_enable source-highlight) - $(use multitarget && echo --enable-targets=all) - $(use_with python python "${EPYTHON}") - $(use_with xxhash) - $(use_with guile) - ) - - if use sparc-solaris || use x86-solaris ; then - # Disable largefile support - # https://sourceware.org/ml/gdb-patches/2014-12/msg00058.html - myconf+=( --disable-largefile ) - fi - - # source-highlight is detected with pkg-config: bug #716558 - export ac_cv_path_pkg_config_prog_path="$(tc-getPKG_CONFIG)" - - # ensure proper compiler is detected for Clang builds: bug #831202 - export GCC_FOR_TARGET="${CC_FOR_TARGET:-$(tc-getCC)}" - - econf "${myconf[@]}" -} - -src_install() { - default - - find "${ED}"/usr -name libiberty.a -delete || die - - # Delete translations that conflict with binutils-libs. #528088 - # Note: Should figure out how to store these in an internal gdb dir. - if use nls ; then - find "${ED}" \ - -regextype posix-extended -regex '.*/(bfd|opcodes)[.]g?mo$' \ - -delete || die - fi - - # Don't install docs when building a cross-gdb - if [[ ${CTARGET} != ${CHOST} ]] ; then - rm -rf "${ED}"/usr/share/{doc,info,locale} || die - local f - for f in "${ED}"/usr/share/man/*/* ; do - if [[ ${f##*/} != ${CTARGET}-* ]] ; then - mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die - fi - done - return 0 - fi - - # Install it by hand for now: - # https://sourceware.org/ml/gdb-patches/2011-12/msg00915.html - # Only install if it exists due to the twisted behavior (see - # notes in src_configure above). - [[ -e gdbserver/gdbreplay ]] && dobin gdbserver/gdbreplay - - docinto gdb - dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \ - gdb/NEWS gdb/ChangeLog gdb/PROBLEMS - docinto sim - dodoc sim/{ChangeLog,MAINTAINERS,README-HACKING} - - if use server ; then - docinto gdbserver - dodoc gdbserver/{ChangeLog,README} - fi - - if [[ -n ${PATCH_VER} ]] ; then - dodoc "${WORKDIR}"/extra/gdbinit.sample - fi - - # Remove shared info pages - rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,standards}.info* - - if use python; then - python_optimize "${ED}"/usr/share/gdb/python/gdb - fi -} - -pkg_postinst() { - # Portage doesn't unmerge files in /etc - rm -vf "${EROOT}"/etc/skel/.gdbinit - - if use prefix && [[ ${CHOST} == *-darwin* ]] ; then - ewarn "gdb is unable to get a mach task port when installed by Prefix" - ewarn "Portage, unprivileged. To make gdb fully functional you'll" - ewarn "have to perform the following steps:" - ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb" - ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb" - fi -} diff --git a/sys-devel/gdb/gdb-11.2.ebuild b/sys-devel/gdb/gdb-11.2.ebuild index 869017994712..9b5d95603631 100644 --- a/sys-devel/gdb/gdb-11.2.ebuild +++ b/sys-devel/gdb/gdb-11.2.ebuild @@ -92,6 +92,7 @@ BDEPEND=" PATCHES=( "${FILESDIR}"/${PN}-8.3.1-verbose-build.patch + "${FILESDIR}"/${P}-glibc-2.35-fsqrt.patch ) pkg_setup() { diff --git a/sys-devel/gdb/gdb-12.1.ebuild b/sys-devel/gdb/gdb-12.1.ebuild new file mode 100644 index 000000000000..b7ca1edd1937 --- /dev/null +++ b/sys-devel/gdb/gdb-12.1.ebuild @@ -0,0 +1,272 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8,9,10} ) +inherit flag-o-matic python-single-r1 strip-linguas toolchain-funcs + +export CTARGET=${CTARGET:-${CHOST}} + +if [[ ${CTARGET} == ${CHOST} ]] ; then + if [[ ${CATEGORY} == cross-* ]] ; then + export CTARGET=${CATEGORY#cross-} + fi +fi + +is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; } + +case ${PV} in + 9999*) + # live git tree + EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git" + inherit git-r3 + SRC_URI="" + ;; + *.*.50.2???????) + # weekly snapshots + SRC_URI="ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-${PV}.tar.xz" + ;; + *) + # Normal upstream release + SRC_URI="mirror://gnu/gdb/${P}.tar.xz + ftp://sourceware.org/pub/gdb/releases/${P}.tar.xz" + ;; +esac + +PATCH_VER="" +PATCH_DEV="" +DESCRIPTION="GNU debugger" +HOMEPAGE="https://sourceware.org/gdb/" +SRC_URI="${SRC_URI} + ${PATCH_DEV:+https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz} + ${PATCH_VER:+mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz} +" + +LICENSE="GPL-2 LGPL-2" +SLOT="0" + +if [[ ${PV} != 9999* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +IUSE="cet guile lzma multitarget nls +python +server source-highlight test vanilla xml xxhash" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +# ia64 kernel crashes when gdb testsuite is running +# in fact, gdb's test suite needs some work to get passing. +# See e.g. https://sourceware.org/gdb/wiki/TestingGDB. +# As of 11.2, on amd64: "# of unexpected failures 8600" +RESTRICT=" + ia64? ( test ) + !test? ( test ) + test +" + +RDEPEND=" + dev-libs/mpfr:0= + dev-libs/gmp:= + >=sys-libs/ncurses-5.2-r2:0= + >=sys-libs/readline-7:0= + sys-libs/zlib + elibc_glibc? ( net-libs/libnsl:= ) + lzma? ( app-arch/xz-utils ) + python? ( ${PYTHON_DEPS} ) + guile? ( >=dev-scheme/guile-2.0 ) + xml? ( dev-libs/expat ) + source-highlight? ( + dev-util/source-highlight + ) + xxhash? ( + dev-libs/xxhash + ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + app-arch/xz-utils + sys-apps/texinfo + virtual/yacc + nls? ( sys-devel/gettext ) + source-highlight? ( virtual/pkgconfig ) + test? ( dev-util/dejagnu ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-8.3.1-verbose-build.patch + "${FILESDIR}"/${P}-readline-8.2-build.patch +) + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + + strip-linguas -u bfd/po opcodes/po + export CC_FOR_BUILD="$(tc-getBUILD_CC)" + + # avoid using ancient termcap from host on Prefix systems + sed -i -e 's/termcap tinfow/tinfow/g' \ + gdb/configure{.ac,} || die +} + +gdb_branding() { + printf "Gentoo ${PV} " + + if ! use vanilla && [[ -n ${PATCH_VER} ]] ; then + printf "p${PATCH_VER}" + else + printf "vanilla" + fi + + [[ -n ${EGIT_COMMIT} ]] && printf " ${EGIT_COMMIT}" +} + +src_configure() { + strip-unsupported-flags + + local myconf=( + # portage's econf() does not detect presence of --d-d-t + # because it greps only top-level ./configure. But not + # gnulib's or gdb's configure. + --disable-dependency-tracking + + --with-pkgversion="$(gdb_branding)" + --with-bugurl='https://bugs.gentoo.org/' + --disable-werror + # Disable modules that are in a combined binutils/gdb tree. #490566 + --disable-{binutils,etc,gas,gold,gprof,ld} + + # avoid automagic dependency on (currently prefix) systems + # systems with debuginfod library, bug #754753 + --without-debuginfod + + # Allow user to opt into CET for host libraries. + # Ideally we would like automagic-or-disabled here. + # But the check does not quite work on i686: bug #760926. + $(use_enable cet) + ) + + local sysroot="${EPREFIX}/usr/${CTARGET}" + + is_cross && myconf+=( + --with-sysroot="${sysroot}" + --includedir="${sysroot}/usr/include" + --with-gdb-datadir="\${datadir}/gdb/${CTARGET}" + ) + + # gdbserver only works for native targets (CHOST==CTARGET). + # it also doesn't support all targets, so rather than duplicate + # the target list (which changes between versions), use the + # "auto" value when things are turned on, which is triggered + # whenever no --enable or --disable is given + if is_cross || use !server ; then + myconf+=( --disable-gdbserver ) + fi + + myconf+=( + --enable-64-bit-bfd + --disable-install-libbfd + --disable-install-libiberty + --enable-obsolete + # This only disables building in the readline subdir. + # For gdb itself, it'll use the system version. + --disable-readline + --with-system-readline + # This only disables building in the zlib subdir. + # For gdb itself, it'll use the system version. + --without-zlib + --with-system-zlib + --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug + $(use_with xml expat) + $(use_with lzma) + $(use_enable nls) + $(use_enable source-highlight) + $(use multitarget && echo --enable-targets=all) + $(use_with python python "${EPYTHON}") + $(use_with xxhash) + $(use_with guile) + ) + + if use sparc-solaris || use x86-solaris ; then + # Disable largefile support + # https://sourceware.org/ml/gdb-patches/2014-12/msg00058.html + myconf+=( --disable-largefile ) + fi + + # source-highlight is detected with pkg-config: bug #716558 + export ac_cv_path_pkg_config_prog_path="$(tc-getPKG_CONFIG)" + + # ensure proper compiler is detected for Clang builds: bug #831202 + export GCC_FOR_TARGET="${CC_FOR_TARGET:-$(tc-getCC)}" + + econf "${myconf[@]}" +} + +src_install() { + default + + find "${ED}"/usr -name libiberty.a -delete || die + + # Delete translations that conflict with binutils-libs. #528088 + # Note: Should figure out how to store these in an internal gdb dir. + if use nls ; then + find "${ED}" \ + -regextype posix-extended -regex '.*/(bfd|opcodes)[.]g?mo$' \ + -delete || die + fi + + # Don't install docs when building a cross-gdb + if [[ ${CTARGET} != ${CHOST} ]] ; then + rm -rf "${ED}"/usr/share/{doc,info,locale} || die + local f + for f in "${ED}"/usr/share/man/*/* ; do + if [[ ${f##*/} != ${CTARGET}-* ]] ; then + mv "${f}" "${f%/*}/${CTARGET}-${f##*/}" || die + fi + done + return 0 + fi + + # Install it by hand for now: + # https://sourceware.org/ml/gdb-patches/2011-12/msg00915.html + # Only install if it exists due to the twisted behavior (see + # notes in src_configure above). + [[ -e gdbserver/gdbreplay ]] && dobin gdbserver/gdbreplay + + docinto gdb + dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \ + gdb/NEWS gdb/PROBLEMS + docinto sim + dodoc sim/{MAINTAINERS,README-HACKING} + + if use server ; then + docinto gdbserver + dodoc gdbserver/README + fi + + if [[ -n ${PATCH_VER} ]] ; then + dodoc "${WORKDIR}"/extra/gdbinit.sample + fi + + # Remove shared info pages + rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,ctf-spec,standards}.info* + + if use python; then + python_optimize "${ED}"/usr/share/gdb/python/gdb + fi +} + +pkg_postinst() { + # Portage doesn't unmerge files in /etc + rm -vf "${EROOT}"/etc/skel/.gdbinit + + if use prefix && [[ ${CHOST} == *-darwin* ]] ; then + ewarn "gdb is unable to get a mach task port when installed by Prefix" + ewarn "Portage, unprivileged. To make gdb fully functional you'll" + ewarn "have to perform the following steps:" + ewarn " % sudo chgrp procmod ${EPREFIX}/usr/bin/gdb" + ewarn " % sudo chmod g+s ${EPREFIX}/usr/bin/gdb" + fi +} diff --git a/sys-devel/gdb/gdb-9999.ebuild b/sys-devel/gdb/gdb-9999.ebuild index bd0484883226..8e18279f8752 100644 --- a/sys-devel/gdb/gdb-9999.ebuild +++ b/sys-devel/gdb/gdb-9999.ebuild @@ -54,9 +54,13 @@ IUSE="cet guile lzma multitarget nls +python +server source-highlight test vanil REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" # ia64 kernel crashes when gdb testsuite is running +# in fact, gdb's test suite needs some work to get passing. +# See e.g. https://sourceware.org/gdb/wiki/TestingGDB. +# As of 11.2, on amd64: "# of unexpected failures 8600" RESTRICT=" ia64? ( test ) !test? ( test ) + test " RDEPEND=" @@ -65,6 +69,7 @@ RDEPEND=" >=sys-libs/ncurses-5.2-r2:0= >=sys-libs/readline-7:0= sys-libs/zlib + elibc_glibc? ( net-libs/libnsl:= ) lzma? ( app-arch/xz-utils ) python? ( ${PYTHON_DEPS} ) guile? ( >=dev-scheme/guile-2.0 ) @@ -231,13 +236,13 @@ src_install() { docinto gdb dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \ - gdb/NEWS gdb/ChangeLog gdb/PROBLEMS + gdb/NEWS gdb/PROBLEMS docinto sim - dodoc sim/{ChangeLog,MAINTAINERS,README-HACKING} + dodoc sim/{MAINTAINERS,README-HACKING} if use server ; then docinto gdbserver - dodoc gdbserver/{ChangeLog,README} + dodoc gdbserver/README fi if [[ -n ${PATCH_VER} ]] ; then @@ -245,7 +250,7 @@ src_install() { fi # Remove shared info pages - rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,standards}.info* + rm -f "${ED}"/usr/share/info/{annotate,bfd,configure,ctf-spec,standards}.info* if use python; then python_optimize "${ED}"/usr/share/gdb/python/gdb -- cgit v1.2.3