binutils-gdb/ld/emultempl
Martin Storsjö 3c557e1ae9 ld/PE: Handle MS style import libraries for files named *.exe too
When handling MS style import libraries (also called short import
libraries, or ILF), we need to detect the kind of library.

So far, this has been done by looking at the member file names
in the import library - in an MS style import library, all the
member files for a specific library have the same member file
name - the name of the runtime module to link against. Usually
this is a DLL - thus we do a case insensitive comparison and
check if the suffix is .dll.

However, an .exe can also export symbols which can be linked
against in the same way. In particular, if linking against
WDK (Windows Driver Kit) import libraries, e.g. wdmsec.lib, the
import libraries can provide imports for ntoskrnl.exe.

Instead of specifically checking for *.dll (and *.exe, etc),
invert the condition and skip archive members named *.o and *.obj.
For any remaining archive members, that do contain .idata
sections, apply the renaming. (The renaming is also mostly
harmless if applied where it isn't needed; if archive members
already have unique file names, their relative ordering should
remain intact except for very contrieved cases.)

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-11-22 12:39:42 +02:00
..
aarch64elf.em aarch64: renaming of arm to AArch64 2024-11-18 18:03:56 +00:00
aix.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
alphaelf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
arclinux.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
armelf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
avrelf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
beos.em ld/ELF: Add --image-base command line option to the ELF linker 2024-10-29 19:38:39 +10:30
bfin.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
cr16elf.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
crxelf.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
cskyelf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
elf-generic.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
elf-x86.em ld: Add --enable-mark-plt configure option 2024-01-09 06:45:38 -08:00
elf.em ld: Support percent-encoded JSON in --package-metadata 2024-11-18 11:38:25 +01:00
emulation.em ld: Add a before_plugin_all_symbols_read hook 2022-03-09 18:23:43 -08:00
epiphanyelf_4x4.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
genelf.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
generic.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
hppaelf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
ia64elf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
irix.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
kvxelf.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
loongarchelf.em LoongArch: Add support for OUTPUT_FORMAT("binary") 2024-08-05 17:38:49 +08:00
m68hc1xelf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
m68kelf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
metagelf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
mipself.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
mmix-elfnmmo.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
mmixelf.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
mmo.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
msp430.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
nds32elf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
needrelax.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
netbsd.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
nios2elf.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
nto.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
pdp11.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
pe.em ld/PE: Handle MS style import libraries for files named *.exe too 2024-11-22 12:39:42 +02:00
pep.em ld/PE: Handle MS style import libraries for files named *.exe too 2024-11-22 12:39:42 +02:00
ppc32elf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
ppc64elf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
pruelf.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
README Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
riscvelf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
rxelf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
rxlinux.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
s390.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
scoreelf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
solaris2-x86.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
solaris2.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
spu_icache.o_c Regenerate spu overlay and icache manager files 2014-11-04 22:36:13 +10:30
spu_icache.S
spu_ovl.o_c Regenerate spu_ovl.o_c 2016-10-15 12:53:57 +10:30
spu_ovl.S Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
spuelf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
stringify.sed ld STRINGIFY 2023-08-26 10:57:00 +09:30
tic6xdsbt.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
ticoff.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
v850elf.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
vanilla.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
vms.em PR 30569, always call elf_backend_size_dynamic_sections 2024-04-02 10:32:04 +10:30
vxworks.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
xtensaelf.em ld: Put all emulation options in ldlex.h 2024-01-19 05:35:16 -08:00
z80.em Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

The files in this directory are sourced by genscripts.sh, after
setting some variables to substitute in, to produce
C source files that contain jump tables for each emulation.

Copyright (C) 2012-2024 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.