aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/link_elf.c
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>1998-12-31 09:17:20 +0000
committerPeter Wemm <peter@FreeBSD.org>1998-12-31 09:17:20 +0000
commita13ddfb6332c665ab98ad7640c60693b403323d8 (patch)
tree710cb6509b12f3337d69a17ba58d0d23460377dd /sys/kern/link_elf.c
parentc28525ce6e5ec414ade0b9a9a485398d254380ff (diff)
downloadsrc-a13ddfb6332c665ab98ad7640c60693b403323d8.tar.gz
src-a13ddfb6332c665ab98ad7640c60693b403323d8.zip
When loading something that has undefined symbols, it would be helpful to
know what they were..
Notes
Notes: svn path=/head/; revision=42200
Diffstat (limited to 'sys/kern/link_elf.c')
-rw-r--r--sys/kern/link_elf.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/sys/kern/link_elf.c b/sys/kern/link_elf.c
index 132fc872ca21..c5e84daf0a3e 100644
--- a/sys/kern/link_elf.c
+++ b/sys/kern/link_elf.c
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: link_elf.c,v 1.9 1998/11/04 15:20:57 peter Exp $
+ * $Id: link_elf.c,v 1.10 1998/11/06 15:16:07 peter Exp $
*/
#include <sys/param.h>
@@ -788,8 +788,10 @@ relocate_file(linker_file_t lf)
rellim = (const Elf_Rel *) ((caddr_t) ef->rel + ef->relsize);
while (rel < rellim) {
symname = symbol_name(ef, rel->r_info);
- if (elf_reloc(lf, rel, ELF_RELOC_REL, symname))
+ if (elf_reloc(lf, rel, ELF_RELOC_REL, symname)) {
+ printf("link_elf: symbol %s undefined\n", symname);
return ENOENT;
+ }
rel++;
}
}
@@ -800,8 +802,10 @@ relocate_file(linker_file_t lf)
relalim = (const Elf_Rela *) ((caddr_t) ef->rela + ef->relasize);
while (rela < relalim) {
symname = symbol_name(ef, rela->r_info);
- if (elf_reloc(lf, rela, ELF_RELOC_RELA, symname))
+ if (elf_reloc(lf, rela, ELF_RELOC_RELA, symname)) {
+ printf("link_elf: symbol %s undefined\n", symname);
return ENOENT;
+ }
rela++;
}
}
@@ -812,8 +816,10 @@ relocate_file(linker_file_t lf)
rellim = (const Elf_Rel *) ((caddr_t) ef->pltrel + ef->pltrelsize);
while (rel < rellim) {
symname = symbol_name(ef, rel->r_info);
- if (elf_reloc(lf, rel, ELF_RELOC_REL, symname))
+ if (elf_reloc(lf, rel, ELF_RELOC_REL, symname)) {
+ printf("link_elf: symbol %s undefined\n", symname);
return ENOENT;
+ }
rel++;
}
}
@@ -824,8 +830,10 @@ relocate_file(linker_file_t lf)
relalim = (const Elf_Rela *) ((caddr_t) ef->pltrela + ef->pltrelasize);
while (rela < relalim) {
symname = symbol_name(ef, rela->r_info);
- if (elf_reloc(lf, rela, ELF_RELOC_RELA, symname))
+ if (elf_reloc(lf, rela, ELF_RELOC_RELA, symname)) {
+ printf("link_elf: symbol %s undefined\n", symname);
return ENOENT;
+ }
rela++;
}
}