From 42ba7415ccca9cf6b16c7127362b665cd312be63 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Mon, 18 Jun 2007 10:58:07 +0000 Subject: [PATCH] * Makefile.am: Add eelf32_spu.o rule. * Makefile.in: Regenerate. * emultempl/spuelf.em: Revert last change. Instead use EMBEDSPU defined in Makefile for embedspu name. --- ld/ChangeLog | 7 +++++++ ld/Makefile.am | 4 ++++ ld/Makefile.in | 4 ++++ ld/emultempl/spuelf.em | 22 ++-------------------- 4 files changed, 17 insertions(+), 20 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index aaf35f58bd..f39b9c7955 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,10 @@ +2007-06-18 Alan Modra + + * Makefile.am: Add eelf32_spu.o rule. + * Makefile.in: Regenerate. + * emultempl/spuelf.em: Revert last change. Instead use EMBEDSPU + defined in Makefile for embedspu name. + 2007-06-18 Alan Modra * emultempl/spuelf.em (embedded_spu_file): Deduce embedspu program diff --git a/ld/Makefile.am b/ld/Makefile.am index b7a4b80e7b..c30bd28758 100644 --- a/ld/Makefile.am +++ b/ld/Makefile.am @@ -468,6 +468,10 @@ ldmain.o: ldmain.c config.status -DTARGET='"@target@"' @TARGET_SYSTEM_ROOT_DEFINE@ \ $(srcdir)/ldmain.c +eelf32_spu.o: eelf32_spu.c + $(COMPILE) -c -DEMBEDSPU="\"`echo embedspu | sed '$(transform)'`\"" \ + eelf32_spu.c + ldemul-list.h: Makefile (echo "/* This file is automatically generated. DO NOT EDIT! */";\ for f in `echo " " ${EMULATION_OFILES} "" \ diff --git a/ld/Makefile.in b/ld/Makefile.in index c609915f35..05fa46b3e7 100644 --- a/ld/Makefile.in +++ b/ld/Makefile.in @@ -1301,6 +1301,10 @@ ldmain.o: ldmain.c config.status -DTARGET='"@target@"' @TARGET_SYSTEM_ROOT_DEFINE@ \ $(srcdir)/ldmain.c +eelf32_spu.o: eelf32_spu.c + $(COMPILE) -c -DEMBEDSPU="\"`echo embedspu | sed '$(transform)'`\"" \ + eelf32_spu.c + ldemul-list.h: Makefile (echo "/* This file is automatically generated. DO NOT EDIT! */";\ for f in `echo " " ${EMULATION_OFILES} "" \ diff --git a/ld/emultempl/spuelf.em b/ld/emultempl/spuelf.em index 3266f65e21..252b90f104 100644 --- a/ld/emultempl/spuelf.em +++ b/ld/emultempl/spuelf.em @@ -306,8 +306,6 @@ embedded_spu_file (lang_input_statement_type *entry, const char *flags) union lang_statement_union **old_file_tail; union lang_statement_union *new_ent; lang_input_statement_type *search; - const char *prefix; - size_t prefix_len; if (entry->the_bfd->format != bfd_object || strcmp (entry->the_bfd->xvec->name, "elf32-spu") != 0 @@ -362,23 +360,7 @@ embedded_spu_file (lang_input_statement_type *entry, const char *flags) /* Use fork() and exec() rather than system() so that we don't need to worry about quoting args. */ - prefix = base_name (program_name); - prefix_len = strlen (prefix); - if (prefix_len > 2 - && (prefix[prefix_len - 2] == 'l' - || prefix[prefix_len - 2] == 'L') - && (prefix[prefix_len - 1] == 'd' - || prefix[prefix_len - 1] == 'D')) - { - cmd[0] = xmalloc (prefix_len + 7); - memcpy (cmd[0], prefix, prefix_len - 2); - memcpy (cmd[0] + prefix_len - 2, "embedspu", 9); - } - else - { - prefix_len = 0; - cmd[0] = "embedspu"; - } + cmd[0] = EMBEDSPU; cmd[1] = flags; cmd[2] = handle; cmd[3] = entry->the_bfd->filename; @@ -397,7 +379,7 @@ embedded_spu_file (lang_input_statement_type *entry, const char *flags) if (pid == 0) { execvp (cmd[0], (char *const *) cmd); - if (prefix_len != 0) + if (strcmp ("embedspu", EMBEDSPU) != 0) { cmd[0] = "embedspu"; execvp (cmd[0], (char *const *) cmd); -- 2.34.1