From 29183214f76feddb120c91c2f0dfffcf961b6f69 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Fri, 25 Jan 2008 17:34:29 +0000 Subject: [PATCH] 2008-01-25 H.J. Lu PR ld/5670 * ldlang.c (process_insert_statements): Silence gcc 4.1 alias warning. --- ld/ChangeLog | 6 ++++++ ld/ldlang.c | 15 +++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index ec540ad..071e5b9 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,9 @@ +2008-01-25 H.J. Lu + + PR ld/5670 + * ldlang.c (process_insert_statements): Silence gcc 4.1 alias + warning. + 2008-01-25 Alan Modra * ld.texinfo (INSERT): Describe. diff --git a/ld/ldlang.c b/ld/ldlang.c index de3f64b7..7ef8838 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -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; -- 2.7.4