Add little endian PowerPC support.
This commit is contained in:
parent
b4ecce2f53
commit
c7b44b0425
9 changed files with 100 additions and 8 deletions
|
@ -1,3 +1,26 @@
|
|||
Tue May 9 17:01:38 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
||||
|
||||
* config.bfd: Add little endian PowerPC support.
|
||||
* configure.in: Ditto.
|
||||
* targets.c: Ditto.
|
||||
* config/ppcle-elf.mt: New file, for little endian PowerPC
|
||||
support.
|
||||
* config/ppc-elf.mt: Add little endian powerpc to the BFD
|
||||
selection vectors.
|
||||
* elf32-ppc.c (ppc_elf_merge_private_bfd_data): Complain if
|
||||
linking a different endian object than we expect.
|
||||
(TARGET_LITTLE_SYM, TARGET_LITTLE_NAME): Define, to provide little
|
||||
endian support.
|
||||
|
||||
Tue May 2 16:32:24 1995 Jeff Law (law@snake.cs.utah.edu)
|
||||
|
||||
* config.bfd (hppa*-*-lites*): Treat just like hppa*-*-*elf*.
|
||||
|
||||
Tue Apr 25 19:38:43 1995 Ken Raeburn <raeburn@cujo.cygnus.com>
|
||||
|
||||
* coffgen.c (make_a_section_from_file): Initialize lma same as
|
||||
vma.
|
||||
|
||||
Tue Apr 25 11:03:21 1995 Jason Molenda (crash@phydeaux.cygnus.com)
|
||||
|
||||
* hosts/std-host.h: #include ansidecl.h 'cause PTR is used in
|
||||
|
|
|
@ -42,6 +42,7 @@ case "${canon}" in
|
|||
rce-*-aout) bfd_name=rce-aout ;;
|
||||
# end-sanitize-rce
|
||||
hppa*-*-*elf*) bfd_name=hppa-elf ;;
|
||||
hppa*-*-lites*) bfd_name=hppa-elf ;;
|
||||
hppa*-*-bsd*) bfd_name=hppabsd ;;
|
||||
hppa*-*-hpux*) bfd_name=hppahpux ;;
|
||||
hppa*-*-hiux*) bfd_name=hppahpux ;;
|
||||
|
@ -60,8 +61,10 @@ case "${canon}" in
|
|||
i[345]86-*-freebsd*) bfd_name=i386-bsd strip_underscore=yes ;;
|
||||
i[345]86-*-netbsd*) bfd_name=i386-nbsd strip_underscore=yes ;;
|
||||
i[345]86-*-netware*) bfd_name=i386-nlm ;;
|
||||
i[345]86-*-linuxaout*) bfd_name=i386-laout strip_underscore=yes ;;
|
||||
i[345]86-*-linux*) bfd_name=i386-linux strip_underscore=yes ;;
|
||||
i[345]86-*-lynxos*) bfd_name=i386-lynx ;;
|
||||
i[345]86-*-gnuelf*) bfd_name=i386-gelf strip_underscore=yes ;;
|
||||
i[345]86-*-gnu*) bfd_name=i386-gnu strip_underscore=yes ;;
|
||||
i[345]86-*-mach*) bfd_name=i386-mach3 strip_underscore=yes ;;
|
||||
i[345]86-*-osf1mk*) bfd_name=i386-mach3 strip_underscore=yes ;;
|
||||
|
@ -82,6 +85,7 @@ case "${canon}" in
|
|||
m68*-est-coff) bfd_name=m68k-coff ;;
|
||||
m68*-*-aout*) bfd_name=m68k-0aout strip_underscore=yes ;;
|
||||
m68*-*-coff*) bfd_name=m68k-coff ;;
|
||||
m68*-*-elf*) bfd_name=m68k-elf ;;
|
||||
m68*-*-hpux*) bfd_name=hp300hpux strip_underscore=yes ;;
|
||||
m68*-*-lynxos*) bfd_name=m68k-lynx ;;
|
||||
m68*-*-netbsd*) bfd_name=m68k-nbsd strip_underscore=yes ;;
|
||||
|
@ -122,6 +126,9 @@ case "${canon}" in
|
|||
powerpc-*-sysv4*) bfd_name=ppc-elf ;;
|
||||
powerpc-*-eabi*) bfd_name=ppc-elf ;;
|
||||
powerpc-*-netware*) bfd_name=ppc-nlm ;;
|
||||
powerpcle-*-elf*) bfd_name=ppcle-elf ;;
|
||||
powerpcle-*-sysv4*) bfd_name=ppcle-elf ;;
|
||||
powerpcle-*-eabi*) bfd_name=ppcle-elf ;;
|
||||
rs6000-*-*) bfd_name=rs6000 ;;
|
||||
sparc-*-lynxos*) bfd_name=sparc-lynx ;;
|
||||
sparc-*-netbsd*) bfd_name=sparc-nbsd strip_underscore=yes;;
|
||||
|
|
|
@ -143,16 +143,21 @@ do
|
|||
apollocoff_vec) tb="$tb coff-apollo.o" ;;
|
||||
b_out_vec_big_host) tb="$tb bout.o aout32.o stab-syms.o" ;;
|
||||
b_out_vec_little_host) tb="$tb bout.o aout32.o stab-syms.o" ;;
|
||||
# start-sanitize-arc
|
||||
bfd_elf32_littlearc_vec) tb="$tb elf32-arc.o elf32.o elf.o" ;;
|
||||
bfd_elf32_bigarc_vec) tb="$tb elf32-arc.o elf32.o elf.o" ;;
|
||||
# end-sanitize-arc
|
||||
bfd_elf32_big_generic_vec) tb="$tb elf32-gen.o elf32.o elf.o" ;;
|
||||
bfd_elf32_bigmips_vec) tb="$tb elf32-mips.o elf32.o elf.o ecoff.o ecofflink.o" ;;
|
||||
bfd_elf32_bigmips_vec) tb="$tb elf32-mips.o elf32.o elf.o ecofflink.o" ;;
|
||||
bfd_elf32_hppa_vec) tb="$tb elf32-hppa.o elf32.o elf.o" ;;
|
||||
bfd_elf32_i386_vec) tb="$tb elf32-i386.o elf32.o elf.o" ;;
|
||||
bfd_elf32_i860_vec) tb="$tb elf32-i860.o elf32.o elf.o" ;;
|
||||
bfd_elf32_little_generic_vec) tb="$tb elf32-gen.o elf32.o elf.o" ;;
|
||||
bfd_elf32_littlemips_vec) tb="$tb elf32-mips.o elf32.o elf.o ecoff.o ecofflink.o" ;;
|
||||
bfd_elf32_littlemips_vec) tb="$tb elf32-mips.o elf32.o elf.o ecofflink.o" ;;
|
||||
bfd_elf32_m68k_vec) tb="$tb elf32-m68k.o elf32.o elf.o" ;;
|
||||
bfd_elf32_m88k_vec) tb="$tb elf32-m88k.o elf32.o elf.o" ;;
|
||||
bfd_elf32_powerpc_vec) tb="$tb elf32-ppc.o elf32.o elf.o" ;;
|
||||
bfd_elf32_powerpcle_vec) tb="$tb elf32-ppc.o elf32.o elf.o" ;;
|
||||
bfd_elf32_sparc_vec) tb="$tb elf32-sparc.o elf32.o elf.o" ;;
|
||||
bfd_elf64_big_generic_vec) tb="$tb elf64-gen.o elf64.o elf.o"
|
||||
target64=true ;;
|
||||
|
@ -176,6 +181,7 @@ do
|
|||
i386bsd_vec) tb="$tb i386bsd.o aout32.o stab-syms.o" ;;
|
||||
i386dynix_vec) tb="$tb i386dynix.o aout32.o stab-syms.o" ;;
|
||||
i386coff_vec) tb="$tb coff-i386.o cofflink.o" ;;
|
||||
i386msdos_vec) tb="$tb i386msdos.o" ;;
|
||||
i386linux_vec) tb="$tb i386linux.o aout32.o stab-syms.o" ;;
|
||||
i386lynx_aout_vec) tb="$tb i386lynx.o lynx-core.o aout32.o stab-syms.o" ;;
|
||||
i386lynx_coff_vec) tb="$tb cf-i386lynx.o cofflink.o lynx-core.o stab-syms.o" ;;
|
||||
|
@ -217,6 +223,7 @@ do
|
|||
tekhex_vec) tb="$tb tekhex.o" ;;
|
||||
we32kcoff_vec) tb="$tb coff-we32k.o" ;;
|
||||
z8kcoff_vec) tb="$tb coff-z8k.o reloc16.o" ;;
|
||||
w65_vec) tb="$tb coff-w65.o reloc16.o" ;;
|
||||
|
||||
"") ;;
|
||||
*) echo "*** unknown target vector $vec" 1>&2; exit 1 ;;
|
||||
|
@ -277,11 +284,11 @@ echo BFD_MACHINES=${bfd_machines} >> Makefile.2
|
|||
|
||||
test -n "$DEFAULT_VECTOR" && defvec="$DEFAULT_VECTOR"
|
||||
|
||||
echo "TDEFAULTS = \
|
||||
${defvec+-DDEFAULT_VECTOR=$defvec} \
|
||||
${selvecs+-DSELECT_VECS='$selvecs'} \
|
||||
${selarchs+-DSELECT_ARCHITECTURES='$selarchs'}" \
|
||||
>> Makefile.2
|
||||
tdefaults="TDEFAULTS ="
|
||||
test -n "${defvec}" && tdefaults="${tdefaults} -DDEFAULT_VECTOR=${defvec}"
|
||||
test -n "${selvecs}" && tdefaults="${tdefaults} -DSELECT_VECS='${selvecs}'"
|
||||
test -n "${selarchs}" && tdefaults="${tdefaults} -DSELECT_ARCHITECTURES='${selarchs}'"
|
||||
echo "${tdefaults}" >> Makefile.2
|
||||
|
||||
cat Makefile.tmp >> Makefile.2
|
||||
rm -f Makefile.tmp
|
||||
|
|
|
@ -263,14 +263,21 @@ The general target vector.
|
|||
. {* Entry points to copy private data. *}
|
||||
.#define BFD_JUMP_TABLE_COPY(NAME)\
|
||||
.CAT(NAME,_bfd_copy_private_bfd_data),\
|
||||
.CAT(NAME,_bfd_copy_private_section_data)
|
||||
.CAT(NAME,_bfd_merge_private_bfd_data),\
|
||||
.CAT(NAME,_bfd_copy_private_section_data),\
|
||||
.CAT(NAME,_bfd_set_private_flags)
|
||||
. {* Called to copy BFD general private data from one object file
|
||||
. to another. *}
|
||||
. boolean (*_bfd_copy_private_bfd_data) PARAMS ((bfd *, bfd *));
|
||||
. {* Called to merge BFD general private data from one object file
|
||||
. to a common output file when linking. *}
|
||||
. boolean (*_bfd_merge_private_bfd_data) PARAMS ((bfd *, bfd *));
|
||||
. {* Called to copy BFD private section data from one object file
|
||||
. to another. *}
|
||||
. boolean (*_bfd_copy_private_section_data) PARAMS ((bfd *, sec_ptr,
|
||||
. bfd *, sec_ptr));
|
||||
. {* Called to set private backend flags *}
|
||||
. boolean (*_bfd_set_private_flags) PARAMS ((bfd *, flagword));
|
||||
.
|
||||
. {* Core file entry points. *}
|
||||
.#define BFD_JUMP_TABLE_CORE(NAME)\
|
||||
|
@ -446,6 +453,7 @@ extern const bfd_target bfd_elf32_littlemips_vec;
|
|||
extern const bfd_target bfd_elf32_m68k_vec;
|
||||
extern const bfd_target bfd_elf32_m88k_vec;
|
||||
extern const bfd_target bfd_elf32_powerpc_vec;
|
||||
extern const bfd_target bfd_elf32_powerpcle_vec;
|
||||
extern const bfd_target bfd_elf32_sparc_vec;
|
||||
extern const bfd_target bfd_elf64_big_generic_vec;
|
||||
extern const bfd_target bfd_elf64_little_generic_vec;
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
Tue May 9 16:58:50 1995 Michael Meissner <meissner@tiktok.cygnus.com>
|
||||
|
||||
* configure.in: Add little endian PowerPC support.
|
||||
* config/powerpc/ppcle-eabi.mt: New file for little endian PowerPC
|
||||
support.
|
||||
* config/powerpc/tm-ppcle-eabi.h: ditto.
|
||||
|
||||
Mon May 8 12:11:38 1995 J.T. Conklin <jtc@rtl.cygnus.com>
|
||||
|
||||
* nlm/configure.in (gdb_host, gdb_host_cpu, gdb_target): Removed.
|
||||
|
|
|
@ -25,7 +25,9 @@ gdbserve.mt
|
|||
ppc-nw.mt
|
||||
tm-ppc-nw.h
|
||||
tm-ppc-eabi.h
|
||||
tm-ppcle-eabi.h
|
||||
ppc-eabi.mt
|
||||
ppcle-eabi.mt
|
||||
|
||||
Things-to-lose:
|
||||
|
||||
|
|
3
gdb/config/powerpc/ppcle-eabi.mt
Normal file
3
gdb/config/powerpc/ppcle-eabi.mt
Normal file
|
@ -0,0 +1,3 @@
|
|||
# Target: PowerPC running eabi in little endian mode
|
||||
TDEPFILES= rs6000-tdep.o
|
||||
TM_FILE= tm-ppcle-eabi.h
|
30
gdb/config/powerpc/tm-ppcle-eabi.h
Normal file
30
gdb/config/powerpc/tm-ppcle-eabi.h
Normal file
|
@ -0,0 +1,30 @@
|
|||
/* Macro definitions for Power PC running embedded ABI
|
||||
in little endian mode.
|
||||
Copyright 1995 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GDB.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 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; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
#ifndef TM_PPCLE_EABI_H
|
||||
#define TM_PPCLE_EABI_H
|
||||
|
||||
/* Use normal ppc-eabi definitions */
|
||||
#include "powerpc/tm-ppc-eabi.h"
|
||||
|
||||
#undef TARGET_BYTE_ORDER
|
||||
#define TARGET_BYTE_ORDER LITTLE_ENDIAN
|
||||
|
||||
#endif /* TM_PPCLE_EABI_H */
|
|
@ -22,6 +22,7 @@ m68*) gdb_host_cpu=m68k ;;
|
|||
m88*) gdb_host_cpu=m88k ;;
|
||||
np1) gdb_host_cpu=gould ;;
|
||||
pyramid) gdb_host_cpu=pyr ;;
|
||||
powerpc*) gdb_host_cpu=powerpc ;;
|
||||
*) gdb_host_cpu=$host_cpu ;;
|
||||
|
||||
esac
|
||||
|
@ -167,6 +168,7 @@ m68*) gdb_target_cpu=m68k ;;
|
|||
m88*) gdb_target_cpu=m88k ;;
|
||||
mips*) gdb_target_cpu=mips ;;
|
||||
np1) gdb_target_cpu=gould ;;
|
||||
powerpc*) gdb_target_cpu=powerpc ;;
|
||||
pn) gdb_target_cpu=gould ;;
|
||||
pyramid) gdb_target_cpu=pyr ;;
|
||||
sparclite*) gdb_target_cpu=sparc
|
||||
|
@ -325,6 +327,9 @@ powerpc-*-netware*) gdb_target=ppc-nw
|
|||
powerpc-*-eabi*) gdb_target=ppc-eabi
|
||||
configdirs="${configdirs}" ;;
|
||||
|
||||
powerpcle-*-eabi*) gdb_target=ppcle-eabi
|
||||
configdirs="${configdirs}" ;;
|
||||
|
||||
pyramid-*-*) gdb_target=pyramid ;;
|
||||
|
||||
rs6000-*-lynxos*) gdb_target=rs6000lynx ;;
|
||||
|
|
Loading…
Reference in a new issue