diff options
author | Eric Christopher <echristo@gmail.com> | 2003-05-21 21:53:33 +0000 |
---|---|---|
committer | Eric Christopher <echristo@gmail.com> | 2003-05-21 21:53:33 +0000 |
commit | 143d77c5e950f3c1664b6196ba87620ad759c73e (patch) | |
tree | 7dee395f3c64cec608e538ab2a7d0ddaeb1367d1 /gas | |
parent | 44482353b7a90fad07966ff231f6305a671053ab (diff) | |
download | gdb-143d77c5e950f3c1664b6196ba87620ad759c73e.zip gdb-143d77c5e950f3c1664b6196ba87620ad759c73e.tar.gz gdb-143d77c5e950f3c1664b6196ba87620ad759c73e.tar.bz2 |
2003-05-07 Eric Christopher <echristo@redhat.com>
Alexandre Oliva <aoliva@redhat.com>
* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Adjust
pic tests, change to warning.
(_bfd_mips_elf_final_link): Remove EF_MIPS_CPIC flag setting.
2003-05-07 Eric Christopher <echristo@redhat.com>
* config/tc-mips.c (mips_abicalls): New variable.
(md_parse_option): Use.
(s_option): Ditto.
(s_abicalls): Ditto.
(mips_elf_final_processing): Set EF_MIPS_PIC and
EF_MIPS_CPIC dependent on above.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 13 | ||||
-rw-r--r-- | gas/config/tc-mips.c | 14 |
2 files changed, 25 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index fe9d11f..2499af2 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,12 @@ +2003-05-07 Eric Christopher <echristo@redhat.com> + + * config/tc-mips.c (mips_abicalls): New variable. + (md_parse_option): Use. + (s_option): Ditto. + (s_abicalls): Ditto. + (mips_elf_final_processing): Set EF_MIPS_PIC and + EF_MIPS_CPIC dependent on above. + 2003-05-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> * tc-hppa.c (hppa_symbol_chars): Remove `,' and `!'. @@ -32,7 +41,7 @@ * configure: Regenerate. * po/POTFILES.in: Regenerate. * po/gas.pot: Regenerate. - + 2003-05-21 Nick Clifton <nickc@redhat.com> * dw2gencfi.c (cfi_get_label): Use symbol_make for non @@ -44,7 +53,7 @@ 2003-05-20 Michal Ludvig <mludvig@suse.cz> * as.c (main): Remove tc_cfi_init(). - * dw2gencfi.c (cfi_parse_arg): Allow regnames beginning + * dw2gencfi.c (cfi_parse_arg): Allow regnames beginning with '%'. (cfi_pseudo_table): Add "cfi_register" entry. (cfi_make_insn): Handle CFA_register. diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 5d95366..fde2684 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -131,6 +131,9 @@ enum mips_abi_level /* MIPS ABI we are using for this output file. */ static enum mips_abi_level mips_abi = NO_ABI; +/* Whether or not we have code that can call pic code. */ +int mips_abicalls = FALSE; + /* This is the set of options which may be modified by the .set pseudo-op. We use a struct so that .set push and .set pop are more reliable. */ @@ -11038,6 +11041,7 @@ md_parse_option (c, arg) return 0; } mips_pic = SVR4_PIC; + mips_abicalls = TRUE; if (g_switch_seen && g_switch_value != 0) { as_bad (_("-G may not be used with SVR4 PIC code")); @@ -11053,6 +11057,7 @@ md_parse_option (c, arg) return 0; } mips_pic = NO_PIC; + mips_abicalls = FALSE; break; /* The -xgot option tells the assembler to use 32 offsets when @@ -12430,7 +12435,10 @@ s_option (x) if (i == 0) mips_pic = NO_PIC; else if (i == 2) + { mips_pic = SVR4_PIC; + mips_abicalls = TRUE; + } else as_bad (_(".option pic%d not supported"), i); @@ -12654,6 +12662,7 @@ s_abicalls (ignore) int ignore ATTRIBUTE_UNUSED; { mips_pic = SVR4_PIC; + mips_abicalls = TRUE; if (USE_GLOBAL_POINTER_OPT) { if (g_switch_seen && g_switch_value != 0) @@ -14440,7 +14449,12 @@ mips_elf_final_processing () if (mips_any_noreorder) elf_elfheader (stdoutput)->e_flags |= EF_MIPS_NOREORDER; if (mips_pic != NO_PIC) + { elf_elfheader (stdoutput)->e_flags |= EF_MIPS_PIC; + elf_elfheader (stdoutput)->e_flags |= EF_MIPS_CPIC; + } + if (mips_abicalls) + elf_elfheader (stdoutput)->e_flags |= EF_MIPS_CPIC; /* Set MIPS ELF flags for ASEs. */ if (file_ase_mips16) |