diff options
author | emaste <emaste@FreeBSD.org> | 2015-04-05 14:06:11 +0000 |
---|---|---|
committer | emaste <emaste@FreeBSD.org> | 2015-04-05 14:06:11 +0000 |
commit | 5bcf10a834727b8fe3443cc74c05e927c2b855c3 (patch) | |
tree | eb72e127daf4d64a37e8d41b01ed914b467faf4a | |
parent | 0a38ac8a11963c83d552b201afccb05f8fac7539 (diff) | |
download | FreeBSD-src-5bcf10a834727b8fe3443cc74c05e927c2b855c3.zip FreeBSD-src-5bcf10a834727b8fe3443cc74c05e927c2b855c3.tar.gz |
MIPS rtld: report missing symbol rather than segfaulting
This is only an interim fix; MIPS should be using the MI code instead,
which does not have this issue.
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D661
-rw-r--r-- | libexec/rtld-elf/mips/reloc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libexec/rtld-elf/mips/reloc.c b/libexec/rtld-elf/mips/reloc.c index 4e750d7..809adb8 100644 --- a/libexec/rtld-elf/mips/reloc.c +++ b/libexec/rtld-elf/mips/reloc.c @@ -245,7 +245,7 @@ _mips_rtld_bind(Obj_Entry *obj, Elf_Size reloff) def = find_symdef(reloff, obj, &defobj, SYMLOOK_IN_PLT, NULL, NULL); if (def == NULL) - _rtld_error("bind failed no symbol"); + rtld_die(); target = (Elf_Addr)(defobj->relocbase + def->st_value); dbg("bind now/fixup at %s sym # %jd in %s --> was=%p new=%p", |