PATCH: PR ld/5670: linker is broken
H.J. Lu
hjl.tools@gmail.com
Mon Jan 28 05:57:00 GMT 2008
I am checking this patch to silence gcc 4.1 alias warning. Tested
with gcc 4.1/3.4 on Linux/Intel64/ia32 as well as cross linker
to spu-elf.
H.J.
---
2008-01-25 H.J. Lu <hongjiu.lu@intel.com>
PR ld/5670
* ldlang.c (process_insert_statements): Silence gcc 4.1 alias
warning.
--- ld/ldlang.c.aaa 2008-01-25 09:22:01.000000000 -0800
+++ ld/ldlang.c 2008-01-25 09:23:14.000000000 -0800
@@ -3390,19 +3390,26 @@ process_insert_statements (void)
if (last_os != NULL)
{
asection *first_sec, *last_sec;
+ struct lang_output_section_statement_struct **next;
/* Snip out the output sections we are moving. */
first_os->prev->next = last_os->next;
if (last_os->next == NULL)
- lang_output_section_statement.tail
- = (union lang_statement_union **) &first_os->prev->next;
+ {
+ next = &first_os->prev->next;
+ lang_output_section_statement.tail
+ = (lang_statement_union_type **) next;
+ }
else
last_os->next->prev = first_os->prev;
/* Add them in at the new position. */
last_os->next = where->next;
if (where->next == NULL)
- lang_output_section_statement.tail
- = (union lang_statement_union **) &last_os->next;
+ {
+ next = &last_os->next;
+ lang_output_section_statement.tail
+ = (lang_statement_union_type **) next;
+ }
else
where->next->prev = last_os;
first_os->prev = where;
More information about the Binutils
mailing list