summaryrefslogtreecommitdiffstats
path: root/src/i386_ld.c
diff options
context:
space:
mode:
authorUlrich Drepper <[email protected]>2008-01-20 03:29:25 +0000
committerUlrich Drepper <[email protected]>2008-01-20 03:29:25 +0000
commitc182f90bd79ac9954a17aaa7792aac3e8103851d (patch)
tree4cc5674dd26a460fe70f66671b46cbbee0799a2b /src/i386_ld.c
parentb27ce0029031cec586ccd6b8ba1e26d3bccbcad9 (diff)
Fix memory leak in readelf.
Fix static linking in ld up a bit. Still not complete.
Diffstat (limited to 'src/i386_ld.c')
-rw-r--r--src/i386_ld.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/i386_ld.c b/src/i386_ld.c
index c79804cd..82fb9473 100644
--- a/src/i386_ld.c
+++ b/src/i386_ld.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Red Hat, Inc.
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2008 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <[email protected]>, 2001.
@@ -592,10 +592,9 @@ elf_i386_count_relocations (struct ld_state *statep, struct scninfo *scninfo)
If the symbol is not defined and we are not creating
a statically linked binary, then we need in any case
a PLT entry. */
- if (! scninfo->fileinfo->symref[r_sym]->defined)
+ if (! scninfo->fileinfo->symref[r_sym]->defined
+ && !statep->statically)
{
- assert (!statep->statically);
-
sym = scninfo->fileinfo->symref[r_sym];
sym->type = STT_FUNC;
sym->in_dso = 1;
@@ -614,6 +613,9 @@ elf_i386_count_relocations (struct ld_state *statep, struct scninfo *scninfo)
}
break;
+ case R_386_TLS_IE:
+ case R_386_TLS_GOTIE:
+ case R_386_TLS_LE:
case R_386_TLS_GD:
case R_386_TLS_LDM:
case R_386_TLS_GD_32: