summaryrefslogtreecommitdiff
path: root/ldso/ldso/ldso.c
diff options
context:
space:
mode:
authorJoakim Tjernlund <joakim.tjernlund@transmode.se>2005-10-29 13:46:25 +0000
committerJoakim Tjernlund <joakim.tjernlund@transmode.se>2005-10-29 13:46:25 +0000
commitc4f31d2e430ec265ee528b91d87f1d3d8c64997e (patch)
tree6847d1c2ca7f5eec36fc4dbc69f39a4e9e68d872 /ldso/ldso/ldso.c
parent30c664f0a795bace5c99bedc936228780dba3256 (diff)
Hopefully fix the bug Oleg reported in http://uclibc.org/lists/uclibc/2005-October/012809.html
This will only fix powerpc. Should be easy to fix the other arches.
Diffstat (limited to 'ldso/ldso/ldso.c')
-rw-r--r--ldso/ldso/ldso.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/ldso/ldso/ldso.c b/ldso/ldso/ldso.c
index 3d6884c0c..fac66ba9d 100644
--- a/ldso/ldso/ldso.c
+++ b/ldso/ldso/ldso.c
@@ -122,7 +122,7 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, unsigned long load_addr,
ElfW(Phdr) *ppnt;
ElfW(Dyn) *dpnt;
char *lpntstr;
- int i, goof = 0, unlazy = 0, trace_loaded_objects = 0;
+ int i, unlazy = 0, trace_loaded_objects = 0;
struct dyn_elf *rpnt;
struct elf_resolve *tcurr;
struct elf_resolve *tpnt1;
@@ -724,7 +724,8 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, unsigned long load_addr,
* order so that COPY directives work correctly.
*/
if (_dl_symbol_tables)
- goof += _dl_fixup(_dl_symbol_tables, unlazy);
+ if (_dl_fixup(_dl_symbol_tables, unlazy))
+ _dl_exit(-1);
for (tpnt = _dl_loaded_modules; tpnt; tpnt = tpnt->next) {
if (tpnt->relro_size)