aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog5
-rw-r--r--ld/ldlang.c7
-rw-r--r--ld/testsuite/ChangeLog4
-rw-r--r--ld/testsuite/ld-gc/start.d2
4 files changed, 11 insertions, 7 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index e157d73..f6e78f2 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,8 @@
+2012-06-21 Alan Modra <amodra@gmail.com>
+
+ * ldlang.c (lang_insert_orphan): Don't make __start_<sec> symbol
+ absolute, and remove unnecessary alignment.
+
2012-06-16 Alan Modra <amodra@gmail.com>
* ldlang.h (lang_output_section_statement_type): Add after_end field.
diff --git a/ld/ldlang.c b/ld/ldlang.c
index 2ecf62f..ddf3be2 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -1790,17 +1790,12 @@ lang_insert_orphan (asection *s,
if (*ps == '\0')
{
char *symname;
- etree_type *e_align;
symname = (char *) xmalloc (ps - secname + sizeof "__start_" + 1);
symname[0] = bfd_get_symbol_leading_char (link_info.output_bfd);
sprintf (symname + (symname[0] != 0), "__start_%s", secname);
- e_align = exp_unop (ALIGN_K,
- exp_intop ((bfd_vma) 1 << s->alignment_power));
- lang_add_assignment (exp_assign (".", e_align));
lang_add_assignment (exp_provide (symname,
- exp_unop (ABSOLUTE,
- exp_nameop (NAME, ".")),
+ exp_nameop (NAME, "."),
FALSE));
}
}
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 4f463b5..57996a7 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2012-06-21 Alan Modra <amodra@gmail.com>
+
+ * ld-gc/start.d: Update.
+
2012-06-18 Hans-Peter Nilsson <hp@axis.com>
* ld-cris/dso-pltdis1.d, ld-cris/dso-pltdis2.d, dsofng.s
diff --git a/ld/testsuite/ld-gc/start.d b/ld/testsuite/ld-gc/start.d
index a655bea..d7e47b2 100644
--- a/ld/testsuite/ld-gc/start.d
+++ b/ld/testsuite/ld-gc/start.d
@@ -5,5 +5,5 @@
#notarget: *-*-*aout *-*-*oldld frv-*-linux*
#...
-[0-9a-f]+ A +__start__foo
+[0-9a-f]+ D +__start__foo
#...