1 |
vapier 11/06/28 00:32:31 |
2 |
|
3 |
Modified: README.history |
4 |
Added: 15_all_alpha-relax-pr12608.patch |
5 |
Log: |
6 |
add patch from upstream for alpha relax issues #366025 |
7 |
|
8 |
Revision Changes Path |
9 |
1.2 src/patchsets/binutils/2.21/README.history |
10 |
|
11 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.21/README.history?rev=1.2&view=markup |
12 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.21/README.history?rev=1.2&content-type=text/plain |
13 |
diff : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.21/README.history?r1=1.1&r2=1.2 |
14 |
|
15 |
Index: README.history |
16 |
=================================================================== |
17 |
RCS file: /var/cvsroot/gentoo/src/patchsets/binutils/2.21/README.history,v |
18 |
retrieving revision 1.1 |
19 |
retrieving revision 1.2 |
20 |
diff -u -r1.1 -r1.2 |
21 |
--- README.history 9 Dec 2010 11:21:24 -0000 1.1 |
22 |
+++ README.history 28 Jun 2011 00:32:31 -0000 1.2 |
23 |
@@ -1,3 +1,6 @@ |
24 |
+1.1 [pending] |
25 |
+ + 15_all_alpha-relax-pr12608.patch |
26 |
+ |
27 |
1.0 09.12.2010 |
28 |
+ 03_all_binutils-2.15.92.0.2-ppc64-pie.patch |
29 |
+ 08_all_binutils-RPATH_ENVVAR-smack.patch |
30 |
|
31 |
|
32 |
|
33 |
1.1 src/patchsets/binutils/2.21/15_all_alpha-relax-pr12608.patch |
34 |
|
35 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.21/15_all_alpha-relax-pr12608.patch?rev=1.1&view=markup |
36 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.21/15_all_alpha-relax-pr12608.patch?rev=1.1&content-type=text/plain |
37 |
|
38 |
Index: 15_all_alpha-relax-pr12608.patch |
39 |
=================================================================== |
40 |
http://bugs.gentoo.org/366025 |
41 |
http://sourceware.org/bugzilla/show_bug.cgi?id=12608 |
42 |
|
43 |
taken from upstream cvs |
44 |
|
45 |
=================================================================== |
46 |
RCS file: /cvs/src/src/bfd/elf64-alpha.c,v |
47 |
retrieving revision 1.179 |
48 |
retrieving revision 1.180 |
49 |
diff -u -r1.179 -r1.180 |
50 |
--- src/bfd/elf64-alpha.c 2011/06/22 16:18:24 1.179 |
51 |
+++ src/bfd/elf64-alpha.c 2011/06/24 17:38:17 1.180 |
52 |
@@ -3508,6 +3508,13 @@ |
53 |
pos[3] = info->contents + gpdisp->r_offset; |
54 |
pos[4] = pos[3] + gpdisp->r_addend; |
55 |
|
56 |
+ /* Beware of the compiler hoisting part of the sequence out a loop |
57 |
+ and adjusting the destination register for the TLSGD insn. If this |
58 |
+ happens, there will be a move into $16 before the JSR insn, so only |
59 |
+ transformations of the first insn pair should use this register. */ |
60 |
+ tlsgd_reg = bfd_get_32 (info->abfd, pos[0]); |
61 |
+ tlsgd_reg = (tlsgd_reg >> 21) & 31; |
62 |
+ |
63 |
/* Generally, the positions are not allowed to be out of order, lest the |
64 |
modified insn sequence have different register lifetimes. We can make |
65 |
an exception when pos 1 is adjacent to pos 0. */ |
66 |
@@ -3575,13 +3582,6 @@ |
67 |
use_gottprel = FALSE; |
68 |
new_symndx = is_gd ? ELF64_R_SYM (irel->r_info) : STN_UNDEF; |
69 |
|
70 |
- /* Beware of the compiler hoisting part of the sequence out a loop |
71 |
- and adjusting the destination register for the TLSGD insn. If this |
72 |
- happens, there will be a move into $16 before the JSR insn, so only |
73 |
- transformations of the first insn pair should use this register. */ |
74 |
- tlsgd_reg = bfd_get_32 (info->abfd, pos[0]); |
75 |
- tlsgd_reg = (tlsgd_reg >> 21) & 31; |
76 |
- |
77 |
switch (!dynamic && !info->link_info->shared) |
78 |
{ |
79 |
case 1: |