diff options
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0230-PR-target-48900.patch')
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0230-PR-target-48900.patch | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0230-PR-target-48900.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0230-PR-target-48900.patch new file mode 100644 index 0000000000..0c235a12c5 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0230-PR-target-48900.patch | |||
@@ -0,0 +1,44 @@ | |||
1 | From 13a0d397446972a93558be4da118ab2fd6da58bc Mon Sep 17 00:00:00 2001 | ||
2 | From: amodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4> | ||
3 | Date: Fri, 6 May 2011 14:30:10 +0000 | ||
4 | Subject: [PATCH] PR target/48900 | ||
5 | * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use | ||
6 | const0_rtx as the arg to the dummy __tls_get_addr libcall. | ||
7 | |||
8 | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@173489 138bc75d-0d04-0410-961f-82ee72b054a4 | ||
9 | |||
10 | index c6c1847..5019347 100644 | ||
11 | --- a/gcc/config/rs6000/rs6000.c | ||
12 | +++ b/gcc/config/rs6000/rs6000.c | ||
13 | @@ -6545,10 +6545,11 @@ rs6000_legitimize_tls_address (rtx addr, enum tls_model model) | ||
14 | |||
15 | if (model == TLS_MODEL_GLOBAL_DYNAMIC) | ||
16 | { | ||
17 | - r3 = gen_rtx_REG (Pmode, 3); | ||
18 | tga = rs6000_tls_get_addr (); | ||
19 | - emit_library_call_value (tga, dest, LCT_CONST, Pmode, 1, r3, Pmode); | ||
20 | + emit_library_call_value (tga, dest, LCT_CONST, Pmode, | ||
21 | + 1, const0_rtx, Pmode); | ||
22 | |||
23 | + r3 = gen_rtx_REG (Pmode, 3); | ||
24 | if (DEFAULT_ABI == ABI_AIX && TARGET_64BIT) | ||
25 | insn = gen_tls_gd_aix64 (r3, got, addr, tga, const0_rtx); | ||
26 | else if (DEFAULT_ABI == ABI_AIX && !TARGET_64BIT) | ||
27 | @@ -6565,11 +6566,12 @@ rs6000_legitimize_tls_address (rtx addr, enum tls_model model) | ||
28 | } | ||
29 | else if (model == TLS_MODEL_LOCAL_DYNAMIC) | ||
30 | { | ||
31 | - r3 = gen_rtx_REG (Pmode, 3); | ||
32 | tga = rs6000_tls_get_addr (); | ||
33 | tmp1 = gen_reg_rtx (Pmode); | ||
34 | - emit_library_call_value (tga, tmp1, LCT_CONST, Pmode, 1, r3, Pmode); | ||
35 | + emit_library_call_value (tga, tmp1, LCT_CONST, Pmode, | ||
36 | + 1, const0_rtx, Pmode); | ||
37 | |||
38 | + r3 = gen_rtx_REG (Pmode, 3); | ||
39 | if (DEFAULT_ABI == ABI_AIX && TARGET_64BIT) | ||
40 | insn = gen_tls_ld_aix64 (r3, got, tga, const0_rtx); | ||
41 | else if (DEFAULT_ABI == ABI_AIX && !TARGET_64BIT) | ||
42 | -- | ||
43 | 1.7.0.4 | ||
44 | |||