mirror of git://gcc.gnu.org/git/gcc.git
re PR target/36955 (TLS LIBCALL change breaks libstdc++ built with older binutils)
PR target/36955 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Add a use of pic_offset_table_rtx for -msecure-plt __tls_get_addr calls. From-SVN: r138291
This commit is contained in:
parent
559d6599ea
commit
d161cb2dde
|
|
@ -1,3 +1,9 @@
|
|||
2008-07-30 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
PR target/36955
|
||||
* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Add
|
||||
a use of pic_offset_table_rtx for -msecure-plt __tls_get_addr calls.
|
||||
|
||||
2008-07-29 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* c-decl.c (merge_decls): Do not handle DECL_INLINE.
|
||||
|
|
|
|||
|
|
@ -3948,6 +3948,8 @@ rs6000_legitimize_tls_address (rtx addr, enum tls_model model)
|
|||
insn = emit_call_insn (insn);
|
||||
RTL_CONST_CALL_P (insn) = 1;
|
||||
use_reg (&CALL_INSN_FUNCTION_USAGE (insn), r3);
|
||||
if (DEFAULT_ABI == ABI_V4 && TARGET_SECURE_PLT && flag_pic)
|
||||
use_reg (&CALL_INSN_FUNCTION_USAGE (insn), pic_offset_table_rtx);
|
||||
insn = get_insns ();
|
||||
end_sequence ();
|
||||
emit_libcall_block (insn, dest, r3, addr);
|
||||
|
|
@ -3970,6 +3972,8 @@ rs6000_legitimize_tls_address (rtx addr, enum tls_model model)
|
|||
insn = emit_call_insn (insn);
|
||||
RTL_CONST_CALL_P (insn) = 1;
|
||||
use_reg (&CALL_INSN_FUNCTION_USAGE (insn), r3);
|
||||
if (DEFAULT_ABI == ABI_V4 && TARGET_SECURE_PLT && flag_pic)
|
||||
use_reg (&CALL_INSN_FUNCTION_USAGE (insn), pic_offset_table_rtx);
|
||||
insn = get_insns ();
|
||||
end_sequence ();
|
||||
tmp1 = gen_reg_rtx (Pmode);
|
||||
|
|
|
|||
Loading…
Reference in New Issue