Committed on behalf of
2008-08-07 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com> ld/ChangeLog: * pe-dll.c (process_def_file): Do not create empty export table. ld/testsuite/ChangeLog: * ld-pe/exports.d: New file. * ld-pe/exports.s: New file. * ld-pe/pe.exp: New test for empty export table.
This commit is contained in:
parent
6ec7285688
commit
177b81d66a
@ -1,3 +1,9 @@
|
|||||||
|
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>
|
2009-05-15 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
* ldlang.c (lang_output_section_statement_lookup): Add function
|
* ldlang.c (lang_output_section_statement_lookup): Add function
|
||||||
|
@ -720,6 +720,10 @@ process_def_file (bfd *abfd ATTRIBUTE_UNUSED, struct bfd_link_info *info)
|
|||||||
#undef NE
|
#undef NE
|
||||||
#define NE pe_def_file->num_exports
|
#define NE pe_def_file->num_exports
|
||||||
|
|
||||||
|
/* Don't create an empty export table. */
|
||||||
|
if (NE == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
/* Canonicalize the export list. */
|
/* Canonicalize the export list. */
|
||||||
if (pe_dll_kill_ats)
|
if (pe_dll_kill_ats)
|
||||||
{
|
{
|
||||||
|
@ -1,3 +1,11 @@
|
|||||||
|
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>
|
2009-05-16 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
* ld-elf/orphan3.d, * ld-elf/orphan3a.s, * ld-elf/orphan3b.s,
|
* ld-elf/orphan3.d, * ld-elf/orphan3a.s, * ld-elf/orphan3b.s,
|
||||||
|
4
ld/testsuite/ld-pe/exports.d
Normal file
4
ld/testsuite/ld-pe/exports.d
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
#...
|
||||||
|
The Data Directory
|
||||||
|
Entry 0 00000000 00000000 Export Directory \[\.edata \(or where ever we found it\)\]
|
||||||
|
#...
|
2
ld/testsuite/ld-pe/exports.s
Normal file
2
ld/testsuite/ld-pe/exports.s
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# Deliberately left empty.
|
||||||
|
|
4
ld/testsuite/ld-pe/exports64.d
Executable file
4
ld/testsuite/ld-pe/exports64.d
Executable file
@ -0,0 +1,4 @@
|
|||||||
|
#...
|
||||||
|
The Data Directory
|
||||||
|
Entry 0 0000000000000000 00000000 Export Directory \[\.edata \(or where ever we found it\)\]
|
||||||
|
#...
|
@ -35,17 +35,23 @@ if {[istarget i*86-*-cygwin*]
|
|||||||
if {[istarget x86_64-*-mingw*] } {
|
if {[istarget x86_64-*-mingw*] } {
|
||||||
set pe_tests {
|
set pe_tests {
|
||||||
{".secrel32" "" "" {secrel1.s secrel2.s}
|
{".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*] } {
|
} elseif {[istarget i*86-*-cygwin*] } {
|
||||||
set pe_tests {
|
set pe_tests {
|
||||||
{".secrel32" "--disable-auto-import" "" {secrel1.s secrel2.s}
|
{".secrel32" "--disable-auto-import" "" {secrel1.s secrel2.s}
|
||||||
{{objdump -s secrel.d}} "secrel.x"}
|
{{objdump -s secrel.d}} "secrel.x"}
|
||||||
|
{"Empty export table" "" "" "exports.s"
|
||||||
|
{{objdump -p exports.d}} "exports.dll"}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
set pe_tests {
|
set pe_tests {
|
||||||
{".secrel32" "" "" {secrel1.s secrel2.s}
|
{".secrel32" "" "" {secrel1.s secrel2.s}
|
||||||
{{objdump -s secrel.d}} "secrel.x"}
|
{{objdump -s secrel.d}} "secrel.x"}
|
||||||
|
{"Empty export table" "" "" "exports.s"
|
||||||
|
{{objdump -p exports.d}} "exports.dll"}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user