summaryrefslogtreecommitdiffstats
path: root/gnu
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2010-10-26 17:49:17 +0000
committerdim <dim@FreeBSD.org>2010-10-26 17:49:17 +0000
commit3279f5121cfdbf40c8e2632fde0b48a5199de3eb (patch)
treed6a84d504dc4f1dc1722c0e0bcaac5b978605aa2 /gnu
parentb3a60f22931b262458ab7c5fc74346816309d999 (diff)
downloadFreeBSD-src-3279f5121cfdbf40c8e2632fde0b48a5199de3eb.zip
FreeBSD-src-3279f5121cfdbf40c8e2632fde0b48a5199de3eb.tar.gz
Make sure elf_fbsd_post_process_headers() is actually called for ia64.
This is done by prepending the file to elfxx-ia64, not appending it. Additionally, reduce diffs between Makefile.amd64 and Makefile.ia64; instead of echo'ing defines in Makefiles, just add the needed define to elf-fbsd-brand.c directly, as it is only used for amd64 and ia64.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/usr.bin/binutils/libbfd/Makefile.amd6411
-rw-r--r--gnu/usr.bin/binutils/libbfd/Makefile.ia644
-rw-r--r--gnu/usr.bin/binutils/libbfd/elf-fbsd-brand.c2
3 files changed, 9 insertions, 8 deletions
diff --git a/gnu/usr.bin/binutils/libbfd/Makefile.amd64 b/gnu/usr.bin/binutils/libbfd/Makefile.amd64
index 1e25890..e0374f9 100644
--- a/gnu/usr.bin/binutils/libbfd/Makefile.amd64
+++ b/gnu/usr.bin/binutils/libbfd/Makefile.amd64
@@ -20,14 +20,13 @@ VECS= ${DEFAULT_VECTOR} \
bfd_efi_app_ia32_vec \
${I386_VECS}
-CLEANFILES+= elf64-amd64-fbsd.c pepigen.c peigen.c
+CLEANFILES+= elf64-amd64-fbsd.c pepigen.c # peigen.c
-elf64-amd64-fbsd.c: ${.CURDIR}/elf-fbsd-brand.c ${SRCDIR}/bfd/elf64-x86-64.c
- cat ${.ALLSRC:M*elf-fbsd-brand.c} > ${.TARGET}
- echo "#define elf_backend_post_process_headers elf_fbsd_post_process_headers" \
- >> ${.TARGET}
- cat ${.ALLSRC:M*elf64-x86-64.c} >> ${.TARGET}
+elf64-amd64-fbsd.c: elf-fbsd-brand.c elf64-x86-64.c
+ cat ${.ALLSRC} > ${.TARGET}
pepigen.c: peXXigen.c
sed -e s/XX/pep/g ${.ALLSRC} > ${.TARGET}
+peigen.c: peXXigen.c
+ sed -e s/XX/pe/g ${.ALLSRC} > ${.TARGET}
diff --git a/gnu/usr.bin/binutils/libbfd/Makefile.ia64 b/gnu/usr.bin/binutils/libbfd/Makefile.ia64
index d45f791..01228a5 100644
--- a/gnu/usr.bin/binutils/libbfd/Makefile.ia64
+++ b/gnu/usr.bin/binutils/libbfd/Makefile.ia64
@@ -23,8 +23,8 @@ VECS+= ${DEFAULT_VECTOR} \
CLEANFILES+= elf64-ia64.c pepigen.c # peigen.c
-elf64-ia64.c: elfxx-ia64.c elf-fbsd-brand.c
- cat ${.ALLSRC} | sed -e s/NN/64/g > ${.TARGET}
+elf64-ia64.c: elf-fbsd-brand.c elfxx-ia64.c
+ sed -e s/NN/64/g ${.ALLSRC} > ${.TARGET}
pepigen.c: peXXigen.c
sed -e s/XX/pep/g ${.ALLSRC} > ${.TARGET}
diff --git a/gnu/usr.bin/binutils/libbfd/elf-fbsd-brand.c b/gnu/usr.bin/binutils/libbfd/elf-fbsd-brand.c
index 526ba8c..a42fc28 100644
--- a/gnu/usr.bin/binutils/libbfd/elf-fbsd-brand.c
+++ b/gnu/usr.bin/binutils/libbfd/elf-fbsd-brand.c
@@ -49,3 +49,5 @@ elf_fbsd_post_process_headers (abfd, link_info)
/* Put an ABI label supported by FreeBSD >= 4.1. */
i_ehdrp->e_ident[EI_OSABI] = ELFOSABI_FREEBSD;
}
+
+#define elf_backend_post_process_headers elf_fbsd_post_process_headers
OpenPOWER on IntegriCloud