OSDN Git Service

rip out all the duplicated debug code and move into a shared file
[uclinux-h8/uClibc.git] / ldso / ldso / cris / elfinterp.c
index 5932fd0..abf4167 100644 (file)
 
 #include "ldso.h"
 
-/* Support for the LD_DEBUG variable. */
-#if defined (__SUPPORT_LD_DEBUG__)
-static const char *_dl_reltypes_tab[] = {
-       [0]  "R_CRIS_NONE", "R_CRIS_8", "R_CRIS_16", "R_CRIS_32",
-       [4]  "R_CRIS_8_PCREL", "R_CRIS_16_PCREL", "R_CRIS_32_PCREL", "R_CRIS_GNU_VTINHERIT",
-       [8]  "R_CRIS_GNU_VTENTRY", "R_CRIS_COPY", "R_CRIS_GLOB_DAT", "R_CRIS_JUMP_SLOT",
-       [16] "R_CRIS_RELATIVE", "R_CRIS_16_GOT", "R_CRIS_32_GOT", "R_CRIS_16_GOTPLT",
-       [32] "R_CRIS_32_GOTPLT", "R_CRIS_32_GOTREL", "R_CRIS_32_PLT_GOTREL", "R_CRIS_32_PLT_PCREL",
-};
-
-static const char *
-_dl_reltypes(int type)
-{
-       static char buf[22];
-       const char *str;
-
-       if (type >= (sizeof(_dl_reltypes_tab)/sizeof(_dl_reltypes_tab[0])) ||
-           NULL == (str = _dl_reltypes_tab[type])) {
-               str = _dl_simple_ltoa(buf, (unsigned long)type);
-       }
-
-       return str;
-}
-
-static void
-debug_sym(Elf32_Sym *symtab, char *strtab, int symtab_index)
-{
-       if (_dl_debug_symbols) {
-               if (symtab_index) {
-                       _dl_dprintf(_dl_debug_file,
-                                   "\n%s\n\tvalue=%x\tsize=%x\tinfo=%x\tother=%x\tshndx=%x",
-                                   strtab + symtab[symtab_index].st_name,
-                                   symtab[symtab_index].st_value,
-                                   symtab[symtab_index].st_size,
-                                   symtab[symtab_index].st_info,
-                                   symtab[symtab_index].st_other,
-                                   symtab[symtab_index].st_shndx);
-               }
-       }
-}
-
-static void
-debug_reloc(Elf32_Sym *symtab, char *strtab, ELF_RELOC *rpnt)
-{
-       if (_dl_debug_reloc) {
-               int symtab_index;
-               const char *sym;
-
-               symtab_index = ELF32_R_SYM(rpnt->r_info);
-               sym = symtab_index ? strtab + symtab[symtab_index].st_name : "sym=0x0";
-
-               if (_dl_debug_symbols)
-                       _dl_dprintf(_dl_debug_file, "\n\t");
-               else
-                       _dl_dprintf(_dl_debug_file, "\n%s\n\t", sym);
-
-#ifdef ELF_USES_RELOCA
-               _dl_dprintf(_dl_debug_file, "%s\toffset=%x\taddend=%x",
-                           _dl_reltypes(ELF32_R_TYPE(rpnt->r_info)),
-                           rpnt->r_offset,
-                           rpnt->r_addend);
-#else
-               _dl_dprintf(_dl_debug_file, "%s\toffset=%x\n",
-                           _dl_reltypes(ELF32_R_TYPE(rpnt->r_info)),
-                           rpnt->r_offset);
-#endif
-       }
-}
-#endif /* __SUPPORT_LD_DEBUG__ */
-
 /* Defined in resolve.S. */
 extern int _dl_linux_resolve(void);
 
@@ -192,10 +122,8 @@ _dl_parse(struct elf_resolve *tpnt, struct dyn_elf *scope,
 
                symtab_index = ELF32_R_SYM(rpnt->r_info);
 
-#if defined (__SUPPORT_LD_DEBUG__)
                debug_sym(symtab, strtab, symtab_index);
                debug_reloc(symtab, strtab, rpnt);
-#endif
 
                /* Pass over to actual relocation function. */
                res = reloc_fnc(tpnt, scope, rpnt, symtab, strtab);