aboutsummaryrefslogtreecommitdiff
path: root/include/coff
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2024-09-21 00:47:21 +0300
committerMartin Storsjö <martin@martin.st>2024-10-02 11:50:12 +0300
commit042f14505edb496955306595cadc269f72eaf239 (patch)
tree0b769c16f40f1a8b8709309df18b8be4a643f8b3 /include/coff
parent2754d75a11556577fcddf23718bfbff7d0489a3f (diff)
downloadgdb-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.h1
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