summaryrefslogtreecommitdiff
path: root/editors/xemacs-current/patches/patch-ad
blob: 9f2b887eba2143d2b668f83066117122feaf2cd9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
$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)