On 06/19/2013 11:52 AM, Paolo Bonzini wrote: >> > Do we really need it for modules? I'm not sure. Actually, in a modern >> > world, I'm not really sure libtool is needed if you only count "major" >> > operating systems. > Do you also count one major proprietary operating system? Unfortunately > mingw still requires magic to create shared libraries.
Does it? It sure doesn't seem like it to me: ---- $ cat z.c int __attribute__((dllexport)) foo(int x) { return x + 1; } $ x86_64-w64-mingw32-gcc -shared -o z.dll z.c $ file z.dll z.dll: PE32+ executable (DLL) (console) x86-64, for MS Windows $ x86_64-w64-mingw32-objdump.exe -p z.dll ... There is an export table in .edata at 0x6788c000 The Export Tables (interpreted .edata section contents) Export Flags 0 Time/Date stamp 51c20613 Major/Minor 0/0 Name 000000000000c032 z.dll Ordinal Base 1 Number in: Export Address Table 00000001 [Name Pointer/Ordinal] Table 00000001 Table Addresses Export Address Table 000000000000c028 Name Pointer Table 000000000000c02c Ordinal Table 000000000000c030 Export Address Table -- Ordinal Base 1 [ 0] +base[ 1] 1470 Export RVA [Ordinal/Name Pointer] Table [ 0] foo ---- I didn't happen to happen to have the 32-bit mingw installed in this VM, but I don't imagine it's much different from the 64-bit version. r~