author | George Vasick <george.vasick@oracle.com> |
Tue, 21 Feb 2012 23:56:27 -0800 | |
changeset 701 | d5c86da1ed69 |
child 1123 | cb43164c5dd1 |
permissions | -rw-r--r-- |
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
|
1 |
--- binutils-2.21.1.orig/gas/write.c Wed Mar 16 01:36:12 2011 |
d5c86da1ed69
7145645 gas error: mod2.s: Error: attempt to get value of unresolved symbol `L0'
George Vasick <george.vasick@oracle.com>
parents:
diff
changeset
|
2 |
+++ binutils-2.21.1/gas/write.c Mon Feb 13 23:58:24 2012 |
d5c86da1ed69
7145645 gas error: mod2.s: Error: attempt to get value of unresolved symbol `L0'
George Vasick <george.vasick@oracle.com>
parents:
diff
changeset
|
3 |
@@ -782,6 +782,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
|
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) |
d5c86da1ed69
7145645 gas error: mod2.s: Error: attempt to get value of unresolved symbol `L0'
George Vasick <george.vasick@oracle.com>
parents:
diff
changeset
|
12 |
+ || S_IS_WEAKREFR (sub_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
|
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) |
d5c86da1ed69
7145645 gas error: mod2.s: Error: attempt to get value of unresolved symbol `L0'
George Vasick <george.vasick@oracle.com>
parents:
diff
changeset
|
16 |
+ break; |
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); |