This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

ppc64 patches


Here's the current patchset to support PowerPc64.  I'll commit in a day
or so if I hear no complaints.

bfd/ChangeLog
2001-08-24  Linus Nordberg  <linus@swox.se>
	    Torbjorn Granlund  <tege@swox.com>
	    Staffan Ulfberg  <staffanu@swox.se>
	    Alan Modra  <amodra@bigpond.net.au>

	* config.bfd: Add powerpc64 target.  Add powerpc64 vectors to
	targ64_selvecs for 32 bit powerpc targets.
	* Makefile.am (BFD64_BACKENDS): Add elf64-ppc.lo.
	(BFD64_BACKENDS_CFILES): Add elf64-ppc.c.
	Run "make dep-am".
	* Makefile.in: Regenerate.
	* configure.in: Add elf64_powerpc vecs.
	* configure: Regenerate.
	* cpu-powerpc.c: Default to bfd_mach_ppc_620 entry for 64 bit.
	* elf.c (prep_headers): EM_PPC64 for 64 bit ppc elf target.
	* targets.c: Add bfd_elf64_powerpc_vec and bfd_elf64_powerpcle_vec.
	* elf64-ppc.c: New file.
	* reloc.c: Add powerpc64 relocs.
	* libbfd.h: Regenerate.
	* bfd-in2.h: Regenerate.

binutils/ChangeLog
2001-08-24  Alan Modra  <amodra@bigpond.net.au>

	* readelf.c (dump_relocations): Recognise EM_PPC64.

binutils/testsuite/ChangeLog
2001-08-24  Alan Modra  <amodra@bigpond.net.au>

	* binutils-all/readelf.s-64: Adjust offsets for powerpc64.  Don't
	use constructs like [45][08] when all combinations are not valid.
	Instead use (48|50) to explicitly state which values are correct.

gas/ChangeLog
2001-08-24  Torbjorn Granlund  <tege@swox.com>
	    Staffan Ulfberg  <staffanu@swox.se>
	    Linus Nordberg  <linus@swox.se>
	    Alan Modra  <amodra@bigpond.net.au>

	* configure.in: Recognise powerpc*le*, not just powerpcle*.
	* configure: Regenerate.
	* config/tc-ppc.c (PPC_LO, PPC_HI, PPC_HA, PPC_HIGHER,
	PPC_HIGHERA, PPC_HIGHEST, PPC_HIGHESTA, SEX16): New macros.
	(md_assemble): Use them.
	(ppc_machine): Support stub for ELF64 as well as XCOFF.
	(md_pseudo_table): Add "llong", "quad".
	(md_parse_option): Match default_cpu of powerpc*.
	(ppc_arch): Likewise.
	(ppc_subseg_align): Only for OBJ_XCOFF.
	(ppc_target_format): Return elf64-powerpc strings for 64 bit ELF.
	(md_begin): Select PPC_OPCODE_64 for 64 bit.
	(ppc_insert_operand): Don't bother testing 'file' before calling
	as_bad_where.  Use as_bad_where for operand->insert errors.
	(mapping): Add ELF64 relocation modifiers.
	(ppc_elf_suffix): Replace symbol on BFD_RELOC_PPC64_TOC reloc
	expressions with abs_symbol.
	(ppc_elf_cons): Correct offset for little endian targets.
	(ppc_elf_frob_symbol): New.
	(md_assemble): Add support for 64 bit ELF relocs.
	(ppc_tc): Ensure 8 byte alignment when 64 bit.
	(ppc_is_toc_sym): Only define for OBJ_XCOFF and OBJ_ELF.  Match
	".toc" section for 64 bit ELF.
	(ppc_fix_adjustable): New.  Macro body moved from tc-ppc.h.
	(md_apply_fix3): Silence warning with ATTRIBUTE_UNUSED.  Only do
	the ppc_is_toc_sym check for OBJ_XCOFF and OBJ_ELF.  For 64 bit,
	use BFD_RELOC_PPC64_TOC16_DS instead of BFD_RELOC_PPC_TOC16.
	Expand on comments, error message.  Add support for 64 bit relocs,
	and use PPC_HI etc. macros.
	* config/tc-ppc.h (ppc_target_format): Add missing prototype.
	(MAX_MEM_FOR_RS_ALIGN_CODE): Define.
	(HANDLE_ALIGN): Define to generate nops in code sections rather
	than zeros.
	(TC_FORCE_RELOCATION): Force for BFD_RELOC_PPC64_TOC.
	(ELF_TC_SPECIAL_SECTIONS): Add 64 bit ELF sections.
	(tc_fix_adjustable): Move body of macro to tc-ppc.c.
	(ppc_fix_adjustable): Declare.
	(tc_frob_symbol): Define.
	(ppc_elf_frob_symbol): Declare.

gas/testsuite/ChangeLog
2001-08-24  Staffan Ulfberg  <staffanu@swox.se>
	    Alan Modra  <amodra@bigpond.net.au>

	* gas/macros/macros.exp: xfail powerpc-*-aix.
	* gas/ppc/astest64.s: New.
	* gas/ppc/astest64.d: New.
	* gas/ppc/astest2_64.s: New.
	* gas/ppc/astest2_64.d: New.
	* gas/ppc/test1elf.asm: New.
	* gas/ppc/test1xcoff.asm: New.
	* gas/ppc/generate.sh: New. Generate new files below from above .asm
	* gas/ppc/test1elf32.s: New.
	* gas/ppc/test1elf32.d: New.
	* gas/ppc/test1elf64.s: New.
	* gas/ppc/test1elf64.d: New.
	* gas/ppc/test1xcoff32.s: New.
	* gas/ppc/test1xcoff32.d: New.
	* gas/ppc/ppc.exp: Run new tests.
	* gas/ppc/simpshft.s: Tweak align now that we get nops.

include/elf/ChangeLog
2001-08-24  Staffan Ulfberg  <staffanu@swox.se>

	* ppc.h: Add relocs from the 64-bit PowerPC ELF ABI revision 1.2.

include/opcode/ChangeLog
2001-08-24  Torbjorn Granlund  <tege@swox.com>

	* ppc.h (PPC_OPERAND_DS): Define.

ld/ChangeLog
2001-08-24  Linus Nordberg  <linus@swox.com>
	    Alan Modra  <amodra@bigpond.net.au>

	* Makefile.am (ALL_EMULATIONS): Add eelf64ppc.o and eelf64lppc.o.
	(eelf64ppc.c, eelf64lppc.c): Add make targets.
	Run "make dep-am"
	* Makefile.in: Regenerate.
	* configure.tgt: Add powerpc64 support.  Move pdp11, pjl, pj
	entries to correct alphabetical position.
	* emulparams/elf64ppc.sh: New.
	* emulparams/elf64lppc.sh: New.

ld/testsuite/ChangeLog
2001-08-24  Alan Modra  <amodra@bigpond.net.au>
	    Linus Nordberg  <linus@swox.se>

	* ld-checks/checks.exp: .lcomm is incompatible with ppc coff.
	* ld-scripts/cross1.t: Add .toc section.
	* ld-scripts/cross2.t: Likewise.
	* ld-scripts/phdrs.exp: powerpc64 is 64 bit.
	* ld-srec/srec.exp: xfail powerpc64

opcodes/ChangeLog
2001-08-24  David Edelsohn  <dje@watson.ibm.com>
	    Torbjorn Granlund  <tege@swox.com>

	* ppc-opc.c (DS): Add PPC_OPERAND_DS flag.
	(LS): Define.
	(insert_ds): Complain if not a multiple of 4.
	(XSYNC): Define.
	(XSYNC_MASK): Define.
	(powerpc_opcodes): Add "slbmte", "lwsync", "ptesync", "slbmfev",
	"slbmfee".  Modify "sync" to use XSYNC_MASK and LS.

-- 
Alan Modra


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]