gcc/ 2008-08-17 Daniel Jacobowitz <dan@codesourcery.com> Richard Sandiford <rdsandiford@googlemail.com> * doc/install.texi (--with-mips-plt): Document. * doc/invoke.texi (-mplt, -mno-plt): Document. * config.gcc (mips*-*-*): Add mips-plt to supported_defaults and handle ${with_mips_plt}. * config/mips/mips.opt (mplt): New option. * config/mips/mips.h (TARGET_ABICALLS_PIC0): New macro. (TARGET_ABICALLS_PIC2): Likewise. (TARGET_GPWORD): Return false for TARGET_ABSOLUTE_ABICALLS. (OPTION_DEFAULT_SPECS): Add a mips-plt entry. (ASM_SPEC): Use !mabi=* instead of !mabi*. (MIPS_CALL): Use TARGET_ABICALLS_PIC2 instead of TARGET_ABICALLS to decide whether to output ".option picX" directives. * config/mips/linux.h (SUBTARGET_ASM_SPEC): Remove -mabi=64 handling. Pass -call_nonpic rather than -KPIC for -mplt. (BASE_DRIVER_SELF_SPECS): Remove -mplt if -mno-shared is not present on the command line. Also remove it when -mabi=64 is used without -msym32. * config/mips/linux64.h (SUBTARGET_ASM_SPEC): Delete. * config/mips/mips.c (mips_use_pic_fn_addr_reg_p): Handle TARGET_ABICALLS_PIC0. (mips_classify_symbol): Use TARGET_ABICALLS_PIC2 instead of TARGET_ABICALLS. (mips16_build_function_stub): Only output ".option pic" directives and PIC stubs if TARGET_ABICALLS_PIC2. Call through $25 instead of $1. (mips16_build_call_stub): Fix comment and remove redundant ".set at"/"set .noat" directives. (mips_function_rodata_section): Use the default behaviour for TARGET_ABSOLUTE_ABICALLS. (mips_file_start): Emit ".option pic0" for TARGET_ABICALLS_PIC0. (mips_global_pointer): Handle TARGET_ABICALLS_PIC0. (mips_restore_gp): Do nothing if the current function doesn't use a global pointer. (mips_expand_prologue): Only save $gp if the current function uses it. Use a normal move for TARGET_ABICALLS_PIC0. (mips_override_options): Only set flag_pic if TARGET_ABICALLS_PIC2. Co-Authored-By: Richard Sandiford <rdsandiford@googlemail.com> From-SVN: r139170
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
20kc.md | Loading commit data... | |
24k.md | Loading commit data... | |
3000.md | Loading commit data... | |
4000.md | Loading commit data... | |
4100.md | Loading commit data... | |
4130.md | Loading commit data... | |
4300.md | Loading commit data... | |
4600.md | Loading commit data... | |
4k.md | Loading commit data... | |
5000.md | Loading commit data... | |
5400.md | Loading commit data... | |
5500.md | Loading commit data... | |
5k.md | Loading commit data... | |
6000.md | Loading commit data... | |
7000.md | Loading commit data... | |
74k.md | Loading commit data... | |
9000.md | Loading commit data... | |
constraints.md | Loading commit data... | |
crti.asm | Loading commit data... | |
crtn.asm | Loading commit data... | |
dbxmdebug.h | Loading commit data... | |
driver-native.c | Loading commit data... | |
elf.h | Loading commit data... | |
elfoabi.h | Loading commit data... | |
elforion.h | Loading commit data... | |
generic.md | Loading commit data... | |
iris.h | Loading commit data... | |
iris5.h | Loading commit data... | |
iris6.h | Loading commit data... | |
irix-crti.asm | Loading commit data... | |
irix-crtn.asm | Loading commit data... | |
libgcc-mips16.ver | Loading commit data... | |
linux-unwind.h | Loading commit data... | |
linux.h | Loading commit data... | |
linux64.h | Loading commit data... | |
loongson.h | Loading commit data... | |
loongson.md | Loading commit data... | |
loongson2ef.md | Loading commit data... | |
mips-dsp.md | Loading commit data... | |
mips-dspr2.md | Loading commit data... | |
mips-fixed.md | Loading commit data... | |
mips-ftypes.def | Loading commit data... | |
mips-modes.def | Loading commit data... | |
mips-protos.h | Loading commit data... | |
mips-ps-3d.md | Loading commit data... | |
mips.c | Loading commit data... | |
mips.h | Loading commit data... | |
mips.md | Loading commit data... | |
mips.opt | Loading commit data... | |
mips16.S | Loading commit data... | |
netbsd.h | Loading commit data... | |
openbsd.h | Loading commit data... | |
predicates.md | Loading commit data... | |
r3900.h | Loading commit data... | |
rtems.h | Loading commit data... | |
sb1.md | Loading commit data... | |
sdb.h | Loading commit data... | |
sde.h | Loading commit data... | |
sdemtk.h | Loading commit data... | |
sdemtk.opt | Loading commit data... | |
sr71k.md | Loading commit data... | |
st.h | Loading commit data... | |
t-elf | Loading commit data... | |
t-gofast | Loading commit data... | |
t-iris | Loading commit data... | |
t-iris6 | Loading commit data... | |
t-isa3264 | Loading commit data... | |
t-libgcc-mips16 | Loading commit data... | |
t-linux64 | Loading commit data... | |
t-mips | Loading commit data... | |
t-r3900 | Loading commit data... | |
t-rtems | Loading commit data... | |
t-sb1 | Loading commit data... | |
t-sde | Loading commit data... | |
t-sdemtk | Loading commit data... | |
t-slibgcc-irix | Loading commit data... | |
t-sr71k | Loading commit data... | |
t-st | Loading commit data... | |
t-vr | Loading commit data... | |
t-vxworks | Loading commit data... | |
vr.h | Loading commit data... | |
vr4120-div.S | Loading commit data... | |
vxworks.h | Loading commit data... | |
x-native | Loading commit data... | |
xlr.md | Loading commit data... |