summaryrefslogtreecommitdiff
path: root/ld/deffilep.y
diff options
context:
space:
mode:
authorKai Tietz <kai.tietz@onevision.com>2012-02-13 20:42:07 +0000
committerKai Tietz <kai.tietz@onevision.com>2012-02-13 20:42:07 +0000
commitd0ac693824f69c24abdfd1fbce68494f38cfe121 (patch)
tree5c19a91927cbdeb556a61aae7f3a4e5062bc41ee /ld/deffilep.y
parentcc30c4bd1958a3e3887a095e5ca7c6648fa0fbf0 (diff)
downloadbinutils-gdb-d0ac693824f69c24abdfd1fbce68494f38cfe121.tar.gz
* deffilep.y (find_export_in_list): Set is_indent for
first or last element, if identical. (find_import_in_list): Likewise.
Diffstat (limited to 'ld/deffilep.y')
-rw-r--r--ld/deffilep.y24
1 files changed, 20 insertions, 4 deletions
diff --git a/ld/deffilep.y b/ld/deffilep.y
index b192100f78c..f66ca2d37f3 100644
--- a/ld/deffilep.y
+++ b/ld/deffilep.y
@@ -622,13 +622,21 @@ find_export_in_list (def_file_export *b, int max,
if (!max)
return 0;
if ((e = cmp_export_elem (b, ex_name, in_name, its_name, ord)) <= 0)
- return 0;
+ {
+ if (!e)
+ *is_ident = 1;
+ return 0;
+ }
if (max == 1)
return 1;
if ((e = cmp_export_elem (b + (max - 1), ex_name, in_name, its_name, ord)) > 0)
return max;
else if (!e || max == 2)
- return max - 1;
+ {
+ if (!e)
+ *is_ident = 1;
+ return max - 1;
+ }
l = 0; r = max - 1;
while (l < r)
{
@@ -757,13 +765,21 @@ find_import_in_list (def_file_import *b, int max,
if (!max)
return 0;
if ((e = cmp_import_elem (b, ex_name, in_name, module, ord)) <= 0)
- return 0;
+ {
+ if (!e)
+ *is_ident = 1;
+ return 0;
+ }
if (max == 1)
return 1;
if ((e = cmp_import_elem (b + (max - 1), ex_name, in_name, module, ord)) > 0)
return max;
else if (!e || max == 2)
- return max - 1;
+ {
+ if (!e)
+ *is_ident = 1;
+ return max - 1;
+ }
l = 0; r = max - 1;
while (l < r)
{