This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
ppc64 patches
- To: binutils at sourceware dot cygnus dot com
- Subject: ppc64 patches
- From: Alan Modra <amodra at bigpond dot net dot au>
- Date: Fri, 24 Aug 2001 23:41:25 +0930
- Cc: Geoffrey Keating <geoffk at redhat dot com>, David Edelsohn <dje at watson dot ibm dot com>, Torbjorn Granlund <tege at swox dot com>
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