2013-09-26 17:14:40 +02:00

36 lines
1.0 KiB
Plaintext

$NetBSD: patch-ad,v 1.2 2006/09/04 09:20:51 martin Exp $
--- src/unexelf.c.orig 2005-10-29 09:18:21.000000000 +0200
+++ src/unexelf.c 2006-08-30 17:51:08.000000000 +0200
@@ -492,10 +492,19 @@
#ifndef ElfW
# ifdef __STDC__
-# define ElfW(type) Elf32_##type
+# define ElfBitsW(bits, type) Elf##bits##_##type
# else
-# define ElfW(type) Elf32_/**/type
+# define ElfBitsW(bits, type) Elf/**/bits/**/_/**/type
# endif
+# if defined (_LP64) || defined(__alpha__)
+# define ELFSIZE 64
+# else
+# define ELFSIZE 32
+# endif
+ /* This macro expands `bits' before invoking ElfBitsW. */
+# define ElfExpandBitsW(bits, type) ElfBitsW (bits, type)
+# define ElfW(type) ElfExpandBitsW (ELFSIZE, type)
+
#endif
#ifndef ELF_BSS_SECTION_NAME
@@ -961,7 +970,7 @@
memcpy (NEW_SECTION_H (nn).sh_offset + new_base, src,
NEW_SECTION_H (nn).sh_size);
-#ifdef __alpha__
+#if defined(__alpha__) && !defined(__NetBSD__)
/* Update Alpha COFF symbol table: */
if (strcmp (old_section_names + OLD_SECTION_H (n).sh_name, ".mdebug")
== 0)