$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)