author | Mike Sullivan <Mike.Sullivan@Oracle.COM> |
Mon, 11 Mar 2013 10:38:09 -0700 | |
branch | s11-update |
changeset 2520 | ceec631e74d1 |
parent 2493 | 9911278899a3 |
permissions | -rw-r--r-- |
2493
9911278899a3
15824357 SUNBT7205968 Upgrade binutils to 2.22
Stefan Teleman <stefan.teleman@oracle.com>
parents:
701
diff
changeset
|
1 |
--- binutils-2.23.1/gas/write.c 2011-11-21 01:29:29.000000000 -0800 |
9911278899a3
15824357 SUNBT7205968 Upgrade binutils to 2.22
Stefan Teleman <stefan.teleman@oracle.com>
parents:
701
diff
changeset
|
2 |
+++ binutils-2.23.1/gas/write.c 2012-08-28 10:51:49.991653399 -0700 |
9911278899a3
15824357 SUNBT7205968 Upgrade binutils to 2.22
Stefan Teleman <stefan.teleman@oracle.com>
parents:
701
diff
changeset
|
3 |
@@ -808,6 +808,22 @@ |
701
d5c86da1ed69
7145645 gas error: mod2.s: Error: attempt to get value of unresolved symbol `L0'
George Vasick <george.vasick@oracle.com>
parents:
diff
changeset
|
4 |
sym = newsym; |
d5c86da1ed69
7145645 gas error: mod2.s: Error: attempt to get value of unresolved symbol `L0'
George Vasick <george.vasick@oracle.com>
parents:
diff
changeset
|
5 |
} |
d5c86da1ed69
7145645 gas error: mod2.s: Error: attempt to get value of unresolved symbol `L0'
George Vasick <george.vasick@oracle.com>
parents:
diff
changeset
|
6 |
|
d5c86da1ed69
7145645 gas error: mod2.s: Error: attempt to get value of unresolved symbol `L0'
George Vasick <george.vasick@oracle.com>
parents:
diff
changeset
|
7 |
+ /* Also convert fx_subsy if present */ |
d5c86da1ed69
7145645 gas error: mod2.s: Error: attempt to get value of unresolved symbol `L0'
George Vasick <george.vasick@oracle.com>
parents:
diff
changeset
|
8 |
+ if (fixp->fx_subsy != NULL) |
d5c86da1ed69
7145645 gas error: mod2.s: Error: attempt to get value of unresolved symbol `L0'
George Vasick <george.vasick@oracle.com>
parents:
diff
changeset
|
9 |
+ { |
d5c86da1ed69
7145645 gas error: mod2.s: Error: attempt to get value of unresolved symbol `L0'
George Vasick <george.vasick@oracle.com>
parents:
diff
changeset
|
10 |
+ symbolS *sub_sym = fixp->fx_subsy; |
d5c86da1ed69
7145645 gas error: mod2.s: Error: attempt to get value of unresolved symbol `L0'
George Vasick <george.vasick@oracle.com>
parents:
diff
changeset
|
11 |
+ while (symbol_equated_reloc_p (sub_sym) |
2493
9911278899a3
15824357 SUNBT7205968 Upgrade binutils to 2.22
Stefan Teleman <stefan.teleman@oracle.com>
parents:
701
diff
changeset
|
12 |
+ || S_IS_WEAKREFR (sub_sym)) |
701
d5c86da1ed69
7145645 gas error: mod2.s: Error: attempt to get value of unresolved symbol `L0'
George Vasick <george.vasick@oracle.com>
parents:
diff
changeset
|
13 |
+ { |
d5c86da1ed69
7145645 gas error: mod2.s: Error: attempt to get value of unresolved symbol `L0'
George Vasick <george.vasick@oracle.com>
parents:
diff
changeset
|
14 |
+ symbolS *newsym = symbol_get_value_expression (sub_sym)->X_add_symbol; |
d5c86da1ed69
7145645 gas error: mod2.s: Error: attempt to get value of unresolved symbol `L0'
George Vasick <george.vasick@oracle.com>
parents:
diff
changeset
|
15 |
+ if (sub_sym == newsym) |
2493
9911278899a3
15824357 SUNBT7205968 Upgrade binutils to 2.22
Stefan Teleman <stefan.teleman@oracle.com>
parents:
701
diff
changeset
|
16 |
+ break; |
701
d5c86da1ed69
7145645 gas error: mod2.s: Error: attempt to get value of unresolved symbol `L0'
George Vasick <george.vasick@oracle.com>
parents:
diff
changeset
|
17 |
+ fixp->fx_offset -= symbol_get_value_expression (sub_sym)->X_add_number; |
d5c86da1ed69
7145645 gas error: mod2.s: Error: attempt to get value of unresolved symbol `L0'
George Vasick <george.vasick@oracle.com>
parents:
diff
changeset
|
18 |
+ fixp->fx_subsy = newsym; |
d5c86da1ed69
7145645 gas error: mod2.s: Error: attempt to get value of unresolved symbol `L0'
George Vasick <george.vasick@oracle.com>
parents:
diff
changeset
|
19 |
+ sub_sym = newsym; |
d5c86da1ed69
7145645 gas error: mod2.s: Error: attempt to get value of unresolved symbol `L0'
George Vasick <george.vasick@oracle.com>
parents:
diff
changeset
|
20 |
+ } |
d5c86da1ed69
7145645 gas error: mod2.s: Error: attempt to get value of unresolved symbol `L0'
George Vasick <george.vasick@oracle.com>
parents:
diff
changeset
|
21 |
+ } |
d5c86da1ed69
7145645 gas error: mod2.s: Error: attempt to get value of unresolved symbol `L0'
George Vasick <george.vasick@oracle.com>
parents:
diff
changeset
|
22 |
+ |
d5c86da1ed69
7145645 gas error: mod2.s: Error: attempt to get value of unresolved symbol `L0'
George Vasick <george.vasick@oracle.com>
parents:
diff
changeset
|
23 |
if (symbol_mri_common_p (sym)) |
d5c86da1ed69
7145645 gas error: mod2.s: Error: attempt to get value of unresolved symbol `L0'
George Vasick <george.vasick@oracle.com>
parents:
diff
changeset
|
24 |
{ |
d5c86da1ed69
7145645 gas error: mod2.s: Error: attempt to get value of unresolved symbol `L0'
George Vasick <george.vasick@oracle.com>
parents:
diff
changeset
|
25 |
fixp->fx_offset += S_GET_VALUE (sym); |