forked from Imagelibrary/binutils-gdb
sym->sy_value is not valid for struct local_symbol
Fixes this mep-elf error: gas/elf/dwarf2-19.s: Error: Unknown expression operator (enum 0) gas/elf/dwarf2-19.s: Error: cannot convert expression symbol .L2 to complex relocation * symbols.c (symbol_relc_make_sym): Do not access sym->sy_value directly.
This commit is contained in:
@@ -1,3 +1,8 @@
|
|||||||
|
2019-05-06 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
* symbols.c (symbol_relc_make_sym): Do not access sym->sy_value
|
||||||
|
directly.
|
||||||
|
|
||||||
2019-05-06 Alan Modra <amodra@gmail.com>
|
2019-05-06 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
* config/tc-ppc.c (ppc_fix_adjustable): Exclude all GOT and PLT
|
* config/tc-ppc.c (ppc_fix_adjustable): Exclude all GOT and PLT
|
||||||
|
|||||||
@@ -3288,7 +3288,7 @@ symbol_relc_make_sym (symbolS * sym)
|
|||||||
is defined as an expression or a plain value. */
|
is defined as an expression or a plain value. */
|
||||||
if ( S_GET_SEGMENT (sym) == expr_section
|
if ( S_GET_SEGMENT (sym) == expr_section
|
||||||
|| S_GET_SEGMENT (sym) == absolute_section)
|
|| S_GET_SEGMENT (sym) == absolute_section)
|
||||||
return symbol_relc_make_expr (& sym->sy_value);
|
return symbol_relc_make_expr (symbol_get_value_expression (sym));
|
||||||
|
|
||||||
/* This may be a "fake symbol", referring to ".".
|
/* This may be a "fake symbol", referring to ".".
|
||||||
Write out a special null symbol to refer to this position. */
|
Write out a special null symbol to refer to this position. */
|
||||||
|
|||||||
Reference in New Issue
Block a user