summaryrefslogtreecommitdiff
path: root/Ports/gdb
diff options
context:
space:
mode:
authorBrian Gianforcaro <bgianf@serenityos.org>2021-12-16 04:50:19 -0800
committerBrian Gianforcaro <b.gianfo@gmail.com>2021-12-29 03:17:41 -0800
commitbd3bbd032949642ab113058e6372de40af7f0b2c (patch)
treef4376e54a38fd58f8aed5d6ef26c4653d7c3b66d /Ports/gdb
parentfcdd2027419607bed6b24a9ee364d6ad4cd99a41 (diff)
downloadserenity-bd3bbd032949642ab113058e6372de40af7f0b2c.zip
Ports: Add initial GDB 11.1 port
This builds and runs, but crashes when you attempt to try to debug something at the moment.
Diffstat (limited to 'Ports/gdb')
-rwxr-xr-xPorts/gdb/package.sh16
-rw-r--r--Ports/gdb/patches/build-config.patch55
2 files changed, 71 insertions, 0 deletions
diff --git a/Ports/gdb/package.sh b/Ports/gdb/package.sh
new file mode 100755
index 0000000000..81c775d721
--- /dev/null
+++ b/Ports/gdb/package.sh
@@ -0,0 +1,16 @@
+#!/usr/bin/env -S bash ../.port_include.sh
+port=gdb
+version=11.1
+useconfigure=true
+configopts=("--target=${SERENITY_ARCH}-pc-serenity" "--with-sysroot=/" "--with-build-sysroot=${SERENITY_INSTALL_ROOT}" "--with-newlib" "--enable-languages=c,c++" "--disable-lto" "--disable-nls" "--enable-shared" "--enable-default-pie" "--enable-host-shared" "--enable-threads=posix")
+files="https://ftpmirror.gnu.org/gnu/gdb/gdb-${version}.tar.xz gdb-${version}.tar.xz cccfcc407b20d343fb320d4a9a2110776dd3165118ffd41f4b1b162340333f94"
+makeopts+=("all")
+installopts=("DESTDIR=${SERENITY_INSTALL_ROOT}")
+depends=("gmp" "binutils")
+auth_type="sha256"
+
+# We only have a stub of getrusage(..)
+export ac_cv_func_getrusage=no
+
+# We don't support the madvise options that are used.
+export ac_cv_func_madvise=no
diff --git a/Ports/gdb/patches/build-config.patch b/Ports/gdb/patches/build-config.patch
new file mode 100644
index 0000000000..019cd279d4
--- /dev/null
+++ b/Ports/gdb/patches/build-config.patch
@@ -0,0 +1,55 @@
+diff --git a/bfd/config.bfd b/bfd/config.bfd
+index 30087e3..11dc114 100644
+--- a/bfd/config.bfd
++++ b/bfd/config.bfd
+@@ -634,6 +634,11 @@ case "${targ}" in
+ targ_selvecs=
+ targ64_selvecs=x86_64_elf64_vec
+ ;;
++ i[3-7]86-*-serenity*)
++ targ_defvec=i386_elf32_vec
++ targ_selvecs=
++ targ64_selvecs=x86_64_elf64_vec
++ ;;
+ #ifdef BFD64
+ x86_64-*-cloudabi*)
+ targ_defvec=x86_64_elf64_cloudabi_vec
+@@ -694,6 +699,10 @@ case "${targ}" in
+ targ_selvecs=i386_elf32_vec
+ want64=true
+ ;;
++ x86_64-*-serenity*)
++ targ_defvec=x86_64_elf64_vec
++ want64=true
++ ;;
+ #endif
+ i[3-7]86-*-lynxos*)
+ targ_defvec=i386_elf32_vec
+diff --git a/gdbsupport/configure b/gdbsupport/configure
+index a9dd02c..3c5bcf5 100755
+--- a/gdbsupport/configure
++++ b/gdbsupport/configure
+@@ -8934,7 +8934,7 @@ $as_echo "$gdb_cv_cxx_std_thread" >&6; }
+
+ # This check must be here, while LIBS includes any necessary
+ # threading library.
+- for ac_func in pthread_sigmask pthread_setname_np
++ for ac_func in pthread_setname_np
+ do :
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ ac_fn_cxx_check_func "$LINENO" "$ac_func" "$as_ac_var"
+diff --git a/libiberty/configure b/libiberty/configure
+index fffb91d..defc239 100755
+--- a/libiberty/configure
++++ b/libiberty/configure
+@@ -6478,7 +6478,9 @@ case "${host}" in
+ $as_echo "#define HAVE_SYS_ERRLIST 1" >>confdefs.h
+
+ $as_echo "#define HAVE_SYS_NERR 1" >>confdefs.h
+-
++ ;;
++ *-*-serenity*)
++ $as_echo "#define HAVE_PSIGNAL 1" >>confdefs.h
+ ;;
+ esac
+