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>
|
2008-07-29 Jan Hubicka <jh@suse.cz>
|
||||||
|
|
||||||
* c-decl.c (merge_decls): Do not handle DECL_INLINE.
|
* 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);
|
insn = emit_call_insn (insn);
|
||||||
RTL_CONST_CALL_P (insn) = 1;
|
RTL_CONST_CALL_P (insn) = 1;
|
||||||
use_reg (&CALL_INSN_FUNCTION_USAGE (insn), r3);
|
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 ();
|
insn = get_insns ();
|
||||||
end_sequence ();
|
end_sequence ();
|
||||||
emit_libcall_block (insn, dest, r3, addr);
|
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);
|
insn = emit_call_insn (insn);
|
||||||
RTL_CONST_CALL_P (insn) = 1;
|
RTL_CONST_CALL_P (insn) = 1;
|
||||||
use_reg (&CALL_INSN_FUNCTION_USAGE (insn), r3);
|
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 ();
|
insn = get_insns ();
|
||||||
end_sequence ();
|
end_sequence ();
|
||||||
tmp1 = gen_reg_rtx (Pmode);
|
tmp1 = gen_reg_rtx (Pmode);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue