Some support for PowerPC ELF, although it isn't in BFD yet.

* configure.in: If cpu is powerpc*, use ppc.
	(ppc-*-sysv4*): Use object format elf.
	* config/tc-ppc.h: Only declare a number of things if OBJ_COFF is
	defined.
	(TARGET_ARCH): Make it call ppc_arch.
	(ppc_arch): Declare.
	(TARGET_FORMAT): Set based on OBJ_COFF or OBJ_ELF.
	(NO_STRING_ESCAPES): Define.
	(LOCAL_LABEL, FAKE_LABEL_NAME): Define for OBJ_ELF.
	* config/tc-ppc.c: Only define a number of functions of OBJ_COFF
	is defined.
	(md_pseudo_table): Most pseudo-ops are OBJ_COFF specific.  Added
	OBJ_COFF specific "bi" and "ei".
	(md_parse_option): Fix handling of -u.  Make -m601 set
	PPC_OPCODE_601.  If OBJ_ELF, accept -V and -Q.
	(ppc_set_cpu): New function.
	(ppc_arch): New function.
	(md_begin): Call ppc_set_cpu.
	(ppc_insert_operand): For a signed operand accept an unsigned
	value, for IBM compatibility.
	(ppc_byte): Don't call stringer for strings; instead, treat two
	double quotes as a single double quote.
	(ppc_comm): Set sy_tc.output for a .lcomm symbol.
	(ppc_biei): New function.
	(ppc_tc): If not OBJ_COFF, ignore first argument.
	(ppc_fix_adjustable): Call as_bad_where, not as_bad.
	(ppc_is_toc_sym): New function.
	(md_apply_fix): Use ppc_is_toc_sym.  Handle BFD_RELOC_16 and
	BFD_RELOC_8.
This commit is contained in:
Ian Lance Taylor 1994-02-17 21:37:32 +00:00
parent 42f62ead47
commit 5e65fbc84b
2 changed files with 35 additions and 0 deletions

View File

@ -1,3 +1,36 @@
Thu Feb 17 16:25:18 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
Some support for PowerPC ELF, although it isn't in BFD yet.
* configure.in: If cpu is powerpc*, use ppc.
(ppc-*-sysv4*): Use object format elf.
* config/tc-ppc.h: Only declare a number of things if OBJ_COFF is
defined.
(TARGET_ARCH): Make it call ppc_arch.
(ppc_arch): Declare.
(TARGET_FORMAT): Set based on OBJ_COFF or OBJ_ELF.
(NO_STRING_ESCAPES): Define.
(LOCAL_LABEL, FAKE_LABEL_NAME): Define for OBJ_ELF.
* config/tc-ppc.c: Only define a number of functions of OBJ_COFF
is defined.
(md_pseudo_table): Most pseudo-ops are OBJ_COFF specific. Added
OBJ_COFF specific "bi" and "ei".
(md_parse_option): Fix handling of -u. Make -m601 set
PPC_OPCODE_601. If OBJ_ELF, accept -V and -Q.
(ppc_set_cpu): New function.
(ppc_arch): New function.
(md_begin): Call ppc_set_cpu.
(ppc_insert_operand): For a signed operand accept an unsigned
value, for IBM compatibility.
(ppc_byte): Don't call stringer for strings; instead, treat two
double quotes as a single double quote.
(ppc_comm): Set sy_tc.output for a .lcomm symbol.
(ppc_biei): New function.
(ppc_tc): If not OBJ_COFF, ignore first argument.
(ppc_fix_adjustable): Call as_bad_where, not as_bad.
(ppc_is_toc_sym): New function.
(md_apply_fix): Use ppc_is_toc_sym. Handle BFD_RELOC_16 and
BFD_RELOC_8.
Thu Feb 17 09:29:37 1994 David J. Mackenzie (djm@thepub.cygnus.com)
* messages.c (as_perror) [BFD_ASSEMBLER]: Use bfd_get_error and

View File

@ -113,6 +113,7 @@ case ${target_cpu} in
m8*) cpu_type=m88k ;;
mips*el) cpu_type=mips endian=little;;
mips*) cpu_type=mips ;;
powerpc*) cpu_type=ppc ;;
rs6000*) cpu_type=ppc ;;
sparc64) cpu_type=sparc64 obj_format=elf ;; # v9
sparclite*) cpu_type=sparc ;;
@ -200,6 +201,7 @@ case ${generic_target} in
;;
ppc-*-aix*) obj_format=coff bfd_gas=yes ;;
ppc-*-sysv4*) obj_format=elf bfd_gas=yes ;;
sh-*-coff) obj_format=coffbfd ;;