From c4f31d2e430ec265ee528b91d87f1d3d8c64997e Mon Sep 17 00:00:00 2001 From: Joakim Tjernlund Date: Sat, 29 Oct 2005 13:46:25 +0000 Subject: 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. --- ldso/ldso/ldso.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'ldso/ldso/ldso.c') 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) -- cgit v1.2.3