From 0e5d89d9469fb755402cbabc09280557c7e01fcc Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Mon, 29 Feb 2016 18:02:36 +1100 Subject: Add aarch64 and x86_64 binutils and gdb patches. --- .../binutils-2.26-rtems-aarch64-x86_64.patch | 86 ++++++++++++++++++++++ tools/4.12/gdb/gdb-7.9-aarch64-x86_64.patch | 50 +++++++++++++ 2 files changed, 136 insertions(+) create mode 100644 tools/4.12/binutils/binutils-2.26-rtems-aarch64-x86_64.patch create mode 100644 tools/4.12/gdb/gdb-7.9-aarch64-x86_64.patch diff --git a/tools/4.12/binutils/binutils-2.26-rtems-aarch64-x86_64.patch b/tools/4.12/binutils/binutils-2.26-rtems-aarch64-x86_64.patch new file mode 100644 index 0000000..df79d62 --- /dev/null +++ b/tools/4.12/binutils/binutils-2.26-rtems-aarch64-x86_64.patch @@ -0,0 +1,86 @@ +--- binutils-2.26/bfd/config.bfd.orig 2016-02-29 14:15:53.000000000 +1100 ++++ binutils-2.26/bfd/config.bfd 2016-02-29 15:52:38.000000000 +1100 +@@ -169,7 +169,7 @@ + + # START OF targmatch.h + #ifdef BFD64 +- aarch64-*-elf) ++ aarch64-*-elf | aarch64-*-rtems*) + 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 +@@ -675,7 +675,7 @@ + targ_selvecs="i386_elf32_vec iamcu_elf32_vec l1om_elf64_vec k1om_elf64_vec" + want64=true + ;; +- x86_64-*-elf*) ++ x86_64-*-elf* | x86_64-*-rtems*) + targ_defvec=x86_64_elf64_vec + targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec l1om_elf64_vec k1om_elf64_vec" + want64=true +--- binutils-2.26/gas/configure.tgt.orig 2016-02-29 16:06:25.000000000 +1100 ++++ binutils-2.26/gas/configure.tgt 2016-02-29 16:00:55.000000000 +1100 +@@ -6,12 +6,12 @@ + # it under the terms of the GNU General Public License as published by + # the Free Software Foundation; either version 3 of the License, or + # (at your option) any later version. +-# ++# + # This program is distributed in the hope that it will be useful, + # but WITHOUT ANY WARRANTY; without even the implied warranty of + # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + # GNU General Public License for more details. +-# ++# + # You should have received a copy of the GNU General Public License + # along with this program; see the file COPYING3. If not see + # . +@@ -120,7 +120,7 @@ + generic_target=${cpu_type}-$vendor-$os + # Note: This table is alpha-sorted, please try to keep it that way. + case ${generic_target} in +- aarch64*-*-elf) fmt=elf;; ++ aarch64*-*-elf | aarch64-*-rtems*) fmt=elf;; + aarch64*-*-linux*) fmt=elf em=linux ;; + + alpha-*-*vms*) fmt=evax ;; +@@ -354,7 +354,7 @@ + moxie-*-uclinux) fmt=elf em=linux ;; + moxie-*-moxiebox*) fmt=elf endian=little ;; + moxie-*-*) fmt=elf ;; +- ++ + mt-*-elf) fmt=elf bfd_gas=yes ;; + + msp430-*-*) fmt=elf ;; +@@ -463,7 +463,7 @@ + visium-*-elf) fmt=elf ;; + + xstormy16-*-*) fmt=elf ;; +- ++ + xgate-*-*) fmt=elf ;; + + xtensa*-*-*) fmt=elf ;; +--- binutils-2.26/ld/configure.tgt.orig 2016-02-29 15:49:14.000000000 +1100 ++++ binutils-2.26/ld/configure.tgt 2016-02-29 15:51:59.000000000 +1100 +@@ -47,7 +47,8 @@ + case "${targ}" in + aarch64_be-*-elf) targ_emul=aarch64elfb + targ_extra_emuls="aarch64elf aarch64elf32 aarch64elf32b armelfb armelf" ;; +-aarch64-*-elf) targ_emul=aarch64elf ++aarch64-*-elf | aarch64-*-rtems*) ++ targ_emul=aarch64elf + targ_extra_emuls="aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb" ;; + aarch64-*-cloudabi*) targ_emul=aarch64cloudabi + targ_extra_emuls=aarch64cloudabib ;; +@@ -314,7 +315,8 @@ + targ_extra_emuls=elf_i386 ;; + i[3-7]86-*-elf*) targ_emul=elf_i386 + targ_extra_emuls=elf_iamcu ;; +-x86_64-*-elf*) targ_emul=elf_x86_64 ++x86_64-*-elf* | x86_64-*-rtems*) ++ targ_emul=elf_x86_64 + targ_extra_emuls="elf_i386 elf_iamcu elf32_x86_64 elf_l1om elf_k1om" + targ_extra_libpath="elf_i386 elf_iamcu elf32_x86_64 elf_l1om elf_k1om" + tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` diff --git a/tools/4.12/gdb/gdb-7.9-aarch64-x86_64.patch b/tools/4.12/gdb/gdb-7.9-aarch64-x86_64.patch new file mode 100644 index 0000000..84b3e01 --- /dev/null +++ b/tools/4.12/gdb/gdb-7.9-aarch64-x86_64.patch @@ -0,0 +1,50 @@ +--- gdb-7.9/gdb/configure.tgt.orig 2016-02-29 16:46:40.000000000 +1100 ++++ gdb-7.9/gdb/configure.tgt 2016-02-29 16:49:32.000000000 +1100 +@@ -34,7 +34,7 @@ + # map target info into gdb names. + + case "${targ}" in +-aarch64*-*-elf) ++aarch64*-*-elf | aarch64*-*-rtems*) + # Target: AArch64 embedded system + gdb_target_obs="aarch64-tdep.o aarch64-newlib-tdep.o" + ;; +@@ -652,6 +652,9 @@ + gdb_target_obs="amd64-tdep.o i386-tdep.o i387-tdep.o \ + dicos-tdep.o i386-dicos-tdep.o amd64-dicos-tdep.o" + ;; ++x86_64-*-elf* | x86_64-*-rtems*) ++ gdb_target_obs="amd64-tdep.o i386-tdep.o i387-tdep.o i386bsd-tdep.o" ++ ;; + x86_64-*-linux*) + # Target: GNU/Linux x86-64 + gdb_target_obs="amd64-tdep.o amd64-linux-tdep.o i386-tdep.o \ +--- gdb-7.9/bfd/config.bfd.orig 2015-02-21 04:11:44.000000000 +1100 ++++ gdb-7.9/bfd/config.bfd 2016-02-29 17:31:15.000000000 +1100 +@@ -168,7 +168,7 @@ + + # START OF targmatch.h + #ifdef BFD64 +- aarch64-*-elf) ++ aarch64-*-elf | aarch64-*-rtems*) + 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 +@@ -176,7 +176,7 @@ + aarch64_be-*-elf) + targ_defvec=aarch64_elf64_be_vec + targ_selvecs="aarch64_elf64_le_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_be_vec arm_elf32_le_vec" +- want64=true ++ wAnt64=true + ;; + aarch64-*-linux*) + targ_defvec=aarch64_elf64_le_vec +@@ -652,7 +652,7 @@ + targ_selvecs="i386_elf32_vec l1om_elf64_vec k1om_elf64_vec" + want64=true + ;; +- x86_64-*-elf*) ++ x86_64-*-elf* | x86_64-*-rtems*) + targ_defvec=x86_64_elf64_vec + targ_selvecs="i386_elf32_vec x86_64_elf32_vec l1om_elf64_vec k1om_elf64_vec" + want64=true -- cgit v1.2.3