[rtems-tools commit] Add aarch64 and x86_64 binutils and gdb patches.

Chris Johns chrisj at rtems.org
Mon Feb 29 07:05:11 UTC 2016


Module:    rtems-tools
Branch:    master
Commit:    0e5d89d9469fb755402cbabc09280557c7e01fcc
Changeset: http://git.rtems.org/rtems-tools/commit/?id=0e5d89d9469fb755402cbabc09280557c7e01fcc

Author:    Chris Johns <chrisj at rtems.org>
Date:      Mon Feb 29 18:02:36 2016 +1100

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(+)

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
+ # <http://www.gnu.org/licenses/>.
+@@ -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



More information about the vc mailing list