summaryrefslogtreecommitdiff
path: root/ld/deffilep.y
diff options
context:
space:
mode:
authorKai Tietz <kai.tietz@onevision.com>2012-02-19 21:18:08 +0000
committerKai Tietz <kai.tietz@onevision.com>2012-02-19 21:18:08 +0000
commit6e230cc21758810c07dae89243af1b3f0b718582 (patch)
tree2d702a0035a2be589ac377c3a052ddcd8514dccd /ld/deffilep.y
parent6bec5e0a45fae5a59504bae5eb6498c835e1db9d (diff)
downloadbinutils-6e230cc21758810c07dae89243af1b3f0b718582.tar.gz
binutils-6e230cc21758810c07dae89243af1b3f0b718582.tar.bz2
binutils-6e230cc21758810c07dae89243af1b3f0b718582.zip
* deffilep.y (cmp_import_elem): Sort first by module name.
* pe-dll.c (process_def_file_and_drectve): Free strings from removed export-element. (add_bfd_to_link): Optimize loop on import-elements and lower allocated memory. (pe_implied_import_dll): Pass NULL instead of 0 for pointer argument.
Diffstat (limited to 'ld/deffilep.y')
-rw-r--r--ld/deffilep.y4
1 files changed, 3 insertions, 1 deletions
diff --git a/ld/deffilep.y b/ld/deffilep.y
index f66ca2d37f3..efeff19678e 100644
--- a/ld/deffilep.y
+++ b/ld/deffilep.y
@@ -741,13 +741,15 @@ cmp_import_elem (const def_file_import *e, const char *ex_name,
{
int r;
+ if ((r = are_names_equal (module, (e->module ? e->module->name : NULL))))
+ return r;
if ((r = are_names_equal (ex_name, e->name)) != 0)
return r;
if ((r = are_names_equal (in_name, e->internal_name)) != 0)
return r;
if (ord != e->ordinal)
return (ord < e->ordinal ? -1 : 1);
- return are_names_equal (module, (e->module ? e->module->name : NULL));
+ return 0;
}
/* Search the position of the identical element, or returns the position