+2009-05-17 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ 2008-08-07 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
+
+ * pe-dll.c (process_def_file): Do not create empty export table.
+
2009-05-15 Alan Modra <amodra@bigpond.net.au>
* ldlang.c (lang_output_section_statement_lookup): Add function
#undef NE
#define NE pe_def_file->num_exports
+ /* Don't create an empty export table. */
+ if (NE == 0)
+ return;
+
/* Canonicalize the export list. */
if (pe_dll_kill_ats)
{
+2009-05-17 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ 2008-08-07 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
+
+ * ld-pe/exports.d: New file.
+ * ld-pe/exports.s: New file.
+ * ld-pe/pe.exp: New test for empty export table.
+
2009-05-16 Alan Modra <amodra@bigpond.net.au>
* ld-elf/orphan3.d, * ld-elf/orphan3a.s, * ld-elf/orphan3b.s,
--- /dev/null
+#...
+The Data Directory
+Entry 0 00000000 00000000 Export Directory \[\.edata \(or where ever we found it\)\]
+#...
--- /dev/null
+# Deliberately left empty.
+
--- /dev/null
+#...
+The Data Directory
+Entry 0 0000000000000000 00000000 Export Directory \[\.edata \(or where ever we found it\)\]
+#...
if {[istarget x86_64-*-mingw*] } {
set pe_tests {
{".secrel32" "" "" {secrel1.s secrel2.s}
- {{objdump -s secrel_64.d}} "secrel.x"}
+ {{objdump -s secrel_64.d}} "secrel.x"}
+ {"Empty export table" "" "" "exports.s"
+ {{objdump -p exports64.d}} "exports.dll"}
}
} elseif {[istarget i*86-*-cygwin*] } {
set pe_tests {
{".secrel32" "--disable-auto-import" "" {secrel1.s secrel2.s}
{{objdump -s secrel.d}} "secrel.x"}
+ {"Empty export table" "" "" "exports.s"
+ {{objdump -p exports.d}} "exports.dll"}
}
} else {
set pe_tests {
{".secrel32" "" "" {secrel1.s secrel2.s}
{{objdump -s secrel.d}} "secrel.x"}
+ {"Empty export table" "" "" "exports.s"
+ {{objdump -p exports.d}} "exports.dll"}
}
}