(U-0002195D): Add `ideographic-structure'; add `sound@ja/on'; add
[chise/xemacs-chise.git.1] / src / unexelf.c
index 66d889c..6ac9844 100644 (file)
@@ -475,16 +475,34 @@ typedef struct {
 # include <sys/exec_elf.h>
 #endif
 
+#if defined(__FreeBSD__) && (defined(__alpha__) || defined(_LP64))
+# ifdef __STDC__
+#  define ElfW(type)   Elf64_##type
+# else
+#  define ElfW(type)   Elf64_/**/type
+# endif
+#endif
+
 #if __GNU_LIBRARY__ - 0 >= 6
 # include <link.h>     /* get ElfW etc */
 #endif
 
 #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
+# ifndef ELFSIZE
+#  ifdef _LP64
+#   define ELFSIZE 64
+#  else
+#   define ELFSIZE 32
+#  endif
 # 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