aboutsummaryrefslogtreecommitdiff
path: root/elf
diff options
context:
space:
mode:
authorPaul Pluzhnikov <ppluzhnikov@google.com>2015-10-02 07:31:16 -0700
committerPaul Pluzhnikov <ppluzhnikov@google.com>2015-10-02 07:31:16 -0700
commit85dc56b95f371996e6930e1e56f6071f118a64ba (patch)
tree2ebc62c21c03f8c062be6160b82f90783888537e /elf
parent60cdb6bb4eff1447d41b7ebb6cd523042fdd1cc4 (diff)
downloadglibc-85dc56b95f371996e6930e1e56f6071f118a64ba.zip
glibc-85dc56b95f371996e6930e1e56f6071f118a64ba.tar.gz
glibc-85dc56b95f371996e6930e1e56f6071f118a64ba.tar.bz2
For b/20141439, don't add "foo.so" as alternate name for previously loaded "foo.so/@0x..."
Diffstat (limited to 'elf')
-rw-r--r--elf/dl-load.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/elf/dl-load.c b/elf/dl-load.c
index 1afaddf..20be545 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -850,7 +850,10 @@ _dl_map_object_from_fd (const char *name, const char *origname, int fd, off_t of
/* If the name is not in the list of names for this object add
it. */
free (realname);
- add_name_to_object (l, name);
+ if (offset == 0)
+ /* If offset!=0, foo.so/@0x<offset> should be the *only*
+ name for this object. b/20141439. */
+ add_name_to_object (l, name);
return l;
}