+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
-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} "" \
-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} "" \
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
/* 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;
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);