aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog4
-rw-r--r--ld/emultempl/spuelf.em5
2 files changed, 7 insertions, 2 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index e8e7c46..ccfaca8 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,7 @@
+2008-06-04 Alan Modra <amodra@bigpond.net.au>
+
+ * emultempl/spuelf.em (spu_elf_relink): Correct --no-auto-overlay arg.
+
2008-06-02 Nathan Sidwell <nathan@codesourcery.com>
* ldlang.c (closest_target_match): Skip generic big and little
diff --git a/ld/emultempl/spuelf.em b/ld/emultempl/spuelf.em
index ebaecdb..a56d78f 100644
--- a/ld/emultempl/spuelf.em
+++ b/ld/emultempl/spuelf.em
@@ -295,12 +295,13 @@ spu_elf_open_overlay_script (void)
static void
spu_elf_relink (void)
{
- char **argv = xmalloc ((my_argc + 5) * sizeof (*argv));
+ char **argv = xmalloc ((my_argc + 4) * sizeof (*argv));
memcpy (argv, my_argv, my_argc * sizeof (*argv));
argv[my_argc++] = "--no-auto-overlay";
if (tmp_file_list->name == auto_overlay_file)
- argv[my_argc++] = auto_overlay_file;
+ argv[my_argc - 1] = concat (argv[my_argc - 1], "=",
+ auto_overlay_file, (const char *) NULL);
argv[my_argc++] = "-T";
argv[my_argc++] = auto_overlay_file;
argv[my_argc] = 0;