aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorAlexander von Gluck IV <kallisti5@unixzen.com>2021-09-02 12:19:14 +0100
committerNick Clifton <nickc@redhat.com>2021-09-02 12:19:14 +0100
commitd85e70a35bffa755fd3e9f4ccc6bf6c64953e85d (patch)
tree4fe42b81c0faa1a152338545a5318863f7fbbc41 /bfd
parent718aefcf55cc5a9de3f73d9a37259f8f792b1cef (diff)
downloadgdb-d85e70a35bffa755fd3e9f4ccc6bf6c64953e85d.zip
gdb-d85e70a35bffa755fd3e9f4ccc6bf6c64953e85d.tar.gz
gdb-d85e70a35bffa755fd3e9f4ccc6bf6c64953e85d.tar.bz2
Add support for the haiku operating system. These are the os support patches we have been grooming and maintaining for quite a few years over on git.haiku-os.org. All of these architectures are working and most have been stable for quite some time.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/config.bfd34
-rwxr-xr-xbfd/configure2
2 files changed, 35 insertions, 1 deletions
diff --git a/bfd/config.bfd b/bfd/config.bfd
index 50e356d..7f7c12d 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -269,6 +269,11 @@ case "${targ}" in
targ_selvecs=aarch64_elf64_be_cloudabi_vec
want64=true
;;
+ aarch64-*-haiku*)
+ targ_defvec=aarch64_elf64_le_vec
+ targ_selvecs="aarch64_elf64_be_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_le_vec arm_elf32_be_vec"
+ want64=true
+ ;;
aarch64-*-linux* | aarch64-*-netbsd*)
targ_defvec=aarch64_elf64_le_vec
targ_selvecs="aarch64_elf64_be_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_le_vec arm_elf32_be_vec"
@@ -353,6 +358,10 @@ case "${targ}" in
targ_defvec=arm_elf32_le_vec
targ_selvecs="arm_elf32_be_vec"
;;
+ arm*-*-haiku*)
+ targ_defvec=arm_elf32_le_vec
+ targ_selvecs="arm_elf32_fdpic_le_vec arm_elf32_be_vec arm_elf32_fdpic_be_vec arm_pe_le_vec arm_pe_be_vec arm_pei_le_vec arm_pei_be_vec"
+ ;;
arm-*-nacl*)
targ_defvec=arm_elf32_nacl_le_vec
targ_selvecs="arm_elf32_nacl_be_vec"
@@ -679,6 +688,11 @@ case "${targ}" in
targ_selvecs="i386_elf32_fbsd_vec iamcu_elf32_vec i386_coff_vec i386_pei_vec x86_64_pe_vec x86_64_pei_vec i386_elf32_vec x86_64_elf64_vec l1om_elf64_vec l1om_elf64_fbsd_vec k1om_elf64_vec k1om_elf64_fbsd_vec"
want64=true
;;
+ x86_64-*-haiku*)
+ targ_defvec=x86_64_elf64_vec
+ targ_selvecs="i386_elf32_vec"
+ want64=true
+ ;;
x86_64-*-netbsd* | x86_64-*-openbsd*)
targ_defvec=x86_64_elf64_vec
targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_coff_vec i386_pei_vec x86_64_pe_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
@@ -729,6 +743,9 @@ case "${targ}" in
targ_defvec=i386_elf32_vec
targ_selvecs="iamcu_elf32_vec i386_pe_vec i386_pei_vec"
;;
+ i[3-7]86-*-haiku*)
+ targ_defvec=i386_elf32_vec
+ ;;
i[3-7]86-*-interix*)
targ_defvec=i386_pei_vec
targ_selvecs="i386_pe_vec"
@@ -794,6 +811,9 @@ case "${targ}" in
targ_defvec=m32r_elf32_vec
;;
+ m68*-*-haiku*)
+ targ_defvec=m68k_elf32_vec
+ ;;
m68hc11-*-* | m6811-*-*)
targ_defvec=m68hc11_elf32_vec
targ_selvecs="m68hc11_elf32_vec m68hc12_elf32_vec"
@@ -848,6 +868,10 @@ case "${targ}" in
targ_defvec=mips_elf32_trad_be_vec
targ_selvecs="mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec mips_ecoff_be_vec mips_ecoff_le_vec"
;;
+ mips*el-*-haiku*)
+ targ_defvec=mips_elf32_le_vec
+ targ_selvecs="mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_le_vec mips_ecoff_be_vec"
+ ;;
mips*-*-irix6*)
targ_defvec=mips_elf32_n_be_vec
targ_selvecs="mips_elf32_n_le_vec mips_elf32_be_vec mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec"
@@ -1047,6 +1071,11 @@ case "${targ}" in
targ_selvecs="rs6000_xcoff64_aix_vec"
want64=true
;;
+ powerpc-*-haiku*)
+ targ_defvec=powerpc_elf32_vec
+ targ_selvecs="rs6000_xcoff_vec powerpc_elf32_le_vec pef_vec pef_xlib_vec powerpc_xcoff_vec powerpc_boot_vec"
+ targ_cflags=-D__HAIKU_TARGET__
+ ;;
#ifdef BFD64
powerpc64-*-aix5.[01])
targ_defvec=rs6000_xcoff64_aix_vec
@@ -1299,6 +1328,11 @@ case "${targ}" in
targ_selvecs="sparc_elf64_sol2_vec"
want64=true
;;
+ sparc64-*-haiku*)
+ targ_defvec=sparc_elf64_vec
+ targ_selvecs="sparc_elf64_vec sparc_elf32_vec"
+ want64=true
+ ;;
sparc64-*-freebsd* | sparc64-*-kfreebsd*-gnu)
targ_defvec=sparc_elf64_fbsd_vec
targ_selvecs="sparc_elf64_vec sparc_elf32_vec"
diff --git a/bfd/configure b/bfd/configure
index eb45ead..cae69d4 100755
--- a/bfd/configure
+++ b/bfd/configure
@@ -10248,7 +10248,7 @@ haiku*)
soname_spec='${libname}${release}${shared_ext}$major'
shlibpath_var=LIBRARY_PATH
shlibpath_overrides_runpath=yes
- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib'
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
hardcode_into_libs=yes
;;