* 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.
This commit is contained in:
Alan Modra 2007-06-18 10:58:07 +00:00
parent 628e885946
commit 42ba7415cc
4 changed files with 17 additions and 20 deletions

View File

@ -1,3 +1,10 @@
2007-06-18 Alan Modra <amodra@bigpond.net.au>
* 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 <amodra@bigpond.net.au>
* emultempl/spuelf.em (embedded_spu_file): Deduce embedspu program

View File

@ -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} "" \

View File

@ -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} "" \

View File

@ -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);