From b92216aa3b2831722ab2c32908ccb7090fae380b Mon Sep 17 00:00:00 2001 From: Danny Smith Date: Wed, 9 Jul 2008 03:18:15 +0000 Subject: [PATCH] *pe-dll.c (autofilter_symbolprefixlist): Excude all symbols starting with ".". Exclude "_IMPORT_DESCRIPTOR_". (autofilter_symbolsuffixlist): Exclude "_NULL_THUNK_DATA". (autofilter_symbollist_generic): Don't check for ".text". Exclude "_NULL_IMPORT_DESCRIPTOR". (autofilter_symbollist_i386): Likewise. --- ld/ChangeLog | 10 ++++++++++ ld/pe-dll.c | 9 +++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index 9a3620525b..8e6d62a3b5 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,13 @@ +2008-07-09 Danny Smith + + *pe-dll.c (autofilter_symbolprefixlist): Excude all symbols + starting with ".". + Exclude "_IMPORT_DESCRIPTOR_". + (autofilter_symbolsuffixlist): Exclude "_NULL_THUNK_DATA". + (autofilter_symbollist_generic): Don't check for ".text". + Exclude "_NULL_IMPORT_DESCRIPTOR". + (autofilter_symbollist_i386): Likewise. + 2008-07-07 Alan Modra * emultempl/armelf.em (elf32_arm_add_stub_section): Use diff --git a/ld/pe-dll.c b/ld/pe-dll.c index 89c18c49e4..692f80fdbe 100644 --- a/ld/pe-dll.c +++ b/ld/pe-dll.c @@ -187,7 +187,7 @@ pe_details_type; static const autofilter_entry_type autofilter_symbollist_generic[] = { - { STRING_COMMA_LEN (".text") }, + { STRING_COMMA_LEN ("_NULL_IMPORT_DESCRIPTOR") }, /* Entry point symbols. */ { STRING_COMMA_LEN ("DllMain") }, { STRING_COMMA_LEN ("DllMainCRTStartup") }, @@ -200,7 +200,7 @@ static const autofilter_entry_type autofilter_symbollist_generic[] = static const autofilter_entry_type autofilter_symbollist_i386[] = { - { STRING_COMMA_LEN (".text") }, + { STRING_COMMA_LEN ("_NULL_IMPORT_DESCRIPTOR") }, /* Entry point symbols, and entry hooks. */ { STRING_COMMA_LEN ("cygwin_crt0") }, #ifdef pe_use_x86_64 @@ -350,12 +350,17 @@ static const autofilter_entry_type autofilter_symbolprefixlist[] = { STRING_COMMA_LEN ("_nm_") }, /* Don't export symbols specifying internal DLL layout. */ { STRING_COMMA_LEN ("_head_") }, + { STRING_COMMA_LEN ("_IMPORT_DESCRIPTOR_") }, + /* Don't export section labels or artificial symbols + (eg ".weak.foo". */ + { STRING_COMMA_LEN (".") }, { NULL, 0 } }; static const autofilter_entry_type autofilter_symbolsuffixlist[] = { { STRING_COMMA_LEN ("_iname") }, + { STRING_COMMA_LEN ("_NULL_THUNK_DATA") }, { NULL, 0 } };