Gentoo Archives: gentoo-commits

From: "Mike Frysinger (vapier)" <vapier@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo commit in src/patchsets/binutils/2.21: 15_all_alpha-relax-pr12608.patch README.history
Date: Tue, 28 Jun 2011 00:32:44
Message-Id: 20110628003231.CD47120054@flycatcher.gentoo.org
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: