diff options
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 4 | ||||
-rw-r--r-- | ld/emultempl/spuelf.em | 5 |
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; |