git: 34e7e4b6a059 - main - Add ElfW() macro for compatibility with Linux

Dimitry Andric dim at FreeBSD.org
Fri Aug 6 18:51:52 UTC 2021


The branch main has been updated by dim:

URL: https://cgit.FreeBSD.org/src/commit/?id=34e7e4b6a059eee5e4e3e34de5b9d5f0d6e589f9

commit 34e7e4b6a059eee5e4e3e34de5b9d5f0d6e589f9
Author:     Dimitry Andric <dim at FreeBSD.org>
AuthorDate: 2021-08-05 18:57:22 +0000
Commit:     Dimitry Andric <dim at FreeBSD.org>
CommitDate: 2021-08-06 18:50:32 +0000

    Add ElfW() macro for compatibility with Linux
    
    Some Linux software using ELF headers assumes the existence of an
    ElfW(type) macro, which concatenates 'Elf', the default ELF word size,
    and the given type. This is identical to our __ElfN(x) macro in
    <sys/elf_generic.h>. Add the macro for compatibility, with a comment
    that we prefer the __ElfN() macro for FreeBSD.
    
    Reviewed by:    emaste, kib
    Differential Revision: https://reviews.freebsd.org/D31427
    MFC after:      1 week
---
 sys/sys/elf_generic.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/sys/sys/elf_generic.h b/sys/sys/elf_generic.h
index 301ee52cf7a1..dcd44fe93b14 100644
--- a/sys/sys/elf_generic.h
+++ b/sys/sys/elf_generic.h
@@ -57,6 +57,9 @@
 #define	__ELFN(x)	__CONCAT(__CONCAT(__CONCAT(ELF,__ELF_WORD_SIZE),_),x)
 #define	__ElfType(x)	typedef __ElfN(x) __CONCAT(Elf_,x)
 
+/* Define ElfW for compatibility with Linux, prefer __ElfN() in FreeBSD code */
+#define	ElfW(x)		__ElfN(x)
+
 __ElfType(Addr);
 __ElfType(Half);
 __ElfType(Off);


More information about the dev-commits-src-all mailing list