diff options
author | Michael Meissner <gnu@the-meissners.org> | 1996-05-24 22:10:52 +0000 |
---|---|---|
committer | Michael Meissner <gnu@the-meissners.org> | 1996-05-24 22:10:52 +0000 |
commit | e30c00760c659dd8c7d93ec0c1c646c76914fcb6 (patch) | |
tree | 77ddaede4b0870d8f0a46a010222db9c57f8e705 /gas | |
parent | 119b85f6ca23faae4fc76849f84083ab808580b0 (diff) | |
download | gdb-e30c00760c659dd8c7d93ec0c1c646c76914fcb6.zip gdb-e30c00760c659dd8c7d93ec0c1c646c76914fcb6.tar.gz gdb-e30c00760c659dd8c7d93ec0c1c646c76914fcb6.tar.bz2 |
Add better defaults for AIX3, AIX4
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 4 | ||||
-rw-r--r-- | gas/config/tc-ppc.c | 21 |
2 files changed, 22 insertions, 3 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index a09680f..de018a7 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,7 @@ +Fri May 24 12:07:54 1996 David Edelsohn <edelsohn@mhpcc.edu> + + * config/tc-ppc.c (ppc_set_cpu): Change defaults to match AIX. + Thu May 23 17:34:24 1996 Michael Meissner <meissner@tiktok.cygnus.com> * read.c (potable): Add .skip as a synonym for .space. diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c index 4a6b3cc..ceecd23 100644 --- a/gas/config/tc-ppc.c +++ b/gas/config/tc-ppc.c @@ -787,17 +787,23 @@ PowerPC options:\n\ static void ppc_set_cpu () { + const char *default_os = TARGET_OS; const char *default_cpu = TARGET_CPU; if (ppc_cpu == 0) { - if (strcmp (default_cpu, "rs6000") == 0) + if (strncmp (default_os, "aix", 3) == 0 + && default_os[3] >= '4' && default_os[3] <= '9') + ppc_cpu = PPC_OPCODE_COMMON; + else if (strncmp (default_os, "aix3", 4) == 0) + ppc_cpu = PPC_OPCODE_POWER; + else if (strcmp (default_cpu, "rs6000") == 0) ppc_cpu = PPC_OPCODE_POWER; else if (strcmp (default_cpu, "powerpc") == 0 || strcmp (default_cpu, "powerpcle") == 0) ppc_cpu = PPC_OPCODE_PPC; else - as_fatal ("Unknown default cpu = %s", default_cpu); + as_fatal ("Unknown default cpu = %s, os = %s", default_cpu, default_os); } } @@ -1138,12 +1144,21 @@ ppc_elf_validate_fix (fixp, seg) && !fixp->fx_done && !fixp->fx_pcrel && fixp->fx_r_type <= BFD_RELOC_UNUSED + && fixp->fx_r_type != BFD_RELOC_16_GOTOFF + && fixp->fx_r_type != BFD_RELOC_HI16_GOTOFF + && fixp->fx_r_type != BFD_RELOC_LO16_GOTOFF + && fixp->fx_r_type != BFD_RELOC_HI16_S_GOTOFF + && fixp->fx_r_type != BFD_RELOC_32_BASEREL + && fixp->fx_r_type != BFD_RELOC_LO16_BASEREL + && fixp->fx_r_type != BFD_RELOC_HI16_BASEREL + && fixp->fx_r_type != BFD_RELOC_HI16_S_BASEREL && strcmp (segment_name (seg), ".got2") != 0 && strcmp (segment_name (seg), ".dtors") != 0 && strcmp (segment_name (seg), ".ctors") != 0 && strcmp (segment_name (seg), ".fixup") != 0 && strcmp (segment_name (seg), ".stab") != 0 - && strcmp (segment_name (seg), ".gcc_except_table") != 0) + && strcmp (segment_name (seg), ".gcc_except_table") != 0 + && strcmp (segment_name (seg), ".ex_shared") != 0) { if ((seg->flags & (SEC_READONLY | SEC_CODE)) != 0 || fixp->fx_r_type != BFD_RELOC_CTOR) |