diff options
author | Martin Storsjö <martin@martin.st> | 2024-09-21 00:47:21 +0300 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2024-10-02 11:50:12 +0300 |
commit | 042f14505edb496955306595cadc269f72eaf239 (patch) | |
tree | 0b769c16f40f1a8b8709309df18b8be4a643f8b3 /include/coff | |
parent | 2754d75a11556577fcddf23718bfbff7d0489a3f (diff) | |
download | gdb-042f14505edb496955306595cadc269f72eaf239.zip gdb-042f14505edb496955306595cadc269f72eaf239.tar.gz gdb-042f14505edb496955306595cadc269f72eaf239.tar.bz2 |
Add support for IMPORT_NAME_EXPORTAS in ILF (MSVC style) import libraries
This import name type is formally yet undocumented, but MSVC
produces/supports it, primarily for ARM64EC import libraries.
LLVM/LLD also supports this import name type. Since recently,
llvm-dlltool also uses this type for certain kinds of renamed imports
(that are easy to do in the long style import libraries produced by
GNU dlltool, but require this name type in short import libraries).
This name type contains a third string, in addition to the symbol
name and the DLL name, indicating the actual imported name to
reference in the import tables - which now can be distinct different
from the symbol name on the object file level.
https://github.com/llvm/llvm-project/commit/8f23464a5d957242c89ca6f33d4379c42519cd81
and
https://github.com/llvm/llvm-project/commit/7b275aa2438c22604505d618dd37ee60052f2800
show how this import name type was added in LLVM.
Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'include/coff')
-rw-r--r-- | include/coff/pe.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/coff/pe.h b/include/coff/pe.h index 37446e4..9d79090 100644 --- a/include/coff/pe.h +++ b/include/coff/pe.h @@ -338,6 +338,7 @@ typedef struct #define IMPORT_NAME 1 #define IMPORT_NAME_NOPREFIX 2 #define IMPORT_NAME_UNDECORATE 3 +#define IMPORT_NAME_EXPORTAS 4 /* Weak external characteristics. */ #define IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY 1 |