]> Git Repo - uclibc-ng.git/commitdiff
Guard debug_sym/debug_reloc, make sure elfinterp.c sees __SUPPORT_LD_DEBUG__
authorPeter S. Mazinger <[email protected]>
Mon, 21 Nov 2005 14:24:54 +0000 (14:24 -0000)
committerPeter S. Mazinger <[email protected]>
Mon, 21 Nov 2005 14:24:54 +0000 (14:24 -0000)
ldso/ldso/arm/elfinterp.c
ldso/ldso/cris/elfinterp.c
ldso/ldso/dl-debug.c
ldso/ldso/frv/elfinterp.c
ldso/ldso/i386/elfinterp.c
ldso/ldso/m68k/elfinterp.c
ldso/ldso/mips/elfinterp.c
ldso/ldso/powerpc/elfinterp.c
ldso/ldso/sh/elfinterp.c
ldso/ldso/sh64/elfinterp.c
ldso/ldso/x86_64/elfinterp.c

index 8086250ac4d1c0b4a78aa93e7a3ad330e3f77da4..635f19010fc8631dbd5c389878c1cd9174f2a251 100644 (file)
@@ -38,6 +38,8 @@
    a more than adequate job of explaining everything required to get this
    working. */
 
+#include "ldso.h"
+
 extern int _dl_linux_resolve(void);
 
 unsigned long _dl_linux_resolver(struct elf_resolve *tpnt, int reloc_entry)
@@ -128,8 +130,10 @@ _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
 
                res = reloc_fnc (tpnt, scope, rpnt, symtab, strtab);
 
index abf4167a5d552062f581587bb796a1266b47d0df..e981ae2e38c9deadf95b5d1a6d971124d505edfa 100644 (file)
@@ -122,8 +122,10 @@ _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);
index 7ce8bfbce4f87f30be1a14766b8a8be2ce2a4bd3..bfaaf1903b6c3104e33d212ad09d96765953f4c8 100644 (file)
@@ -98,9 +98,4 @@ static void debug_reloc(ElfW(Sym) *symtab, char *strtab, ELF_RELOC *rpnt)
        _dl_dprintf(_dl_debug_file, "\n");
 }
 
-#else
-
-#define debug_sym(symtab, strtab, symtab_index)
-#define debug_reloc(symtab, strtab, rpnt)
-
 #endif /* __SUPPORT_LD_DEBUG__ */
index cccf9b70ca627fa43dd30b63f87d242801c97e62..b1e7f5ba0f0d2f51feafeea7107993df4da9b7b5 100644 (file)
@@ -24,7 +24,7 @@ License along with uClibc; see the file COPYING.LIB.  If not, write to
 the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
 USA.  */
 
-#include <sys/cdefs.h>     /* __attribute_used__ */
+#include <features.h>
 
 /* Program to load an ELF binary on a linux system, and run it.
    References to symbols in sharable libraries can be resolved by either
@@ -37,7 +37,7 @@ USA.  */
    a more than adequate job of explaining everything required to get this
    working. */
 
-struct funcdesc_value volatile *__attribute__((__visibility__("hidden")))
+struct funcdesc_value volatile attribute_hidden *
 _dl_linux_resolver (struct elf_resolve *tpnt, int reloc_entry)
 {
        int reloc_type;
@@ -136,8 +136,11 @@ _dl_parse(struct elf_resolve *tpnt, struct dyn_elf *scope,
                int res;
            
                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
 
                res = reloc_fnc (tpnt, scope, rpnt, symtab, strtab);
 
index 62e854d8756479151f373be1a4b1c8b0431d160f..33fc374dc1480fb9f96c612fbafe38d28e29668b 100644 (file)
@@ -123,8 +123,10 @@ _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
 
                res = reloc_fnc(tpnt, scope, rpnt, symtab, strtab);
 
index c777faa5bc7afa9b6cc1f6871c79a4518e30aebd..80fa1c9ec3754794bc2833b860395e25ada21353 100644 (file)
@@ -40,6 +40,8 @@
    a more than adequate job of explaining everything required to get this
    working. */
 
+#include "ldso.h"
+
 extern int _dl_linux_resolve(void);
 
 unsigned int
index 18b5799d99c9a3422400a8bfed7fbd1aeb9e9180..95e02166ee957928e5617334a28a5fa344a37501 100644 (file)
@@ -27,6 +27,8 @@
  * SUCH DAMAGE.
  */
 
+#include "ldso.h"
+
 extern int _dl_runtime_resolve(void);
 
 #define OFFSET_GP_GOT 0x7ff0
@@ -119,9 +121,9 @@ int _dl_parse_relocation_information(struct dyn_elf *xpnt,
                symtab_index = ELF32_R_SYM(rpnt->r_info);
                symbol_addr = 0;
 
+#if defined (__SUPPORT_LD_DEBUG__)
                debug_sym(symtab,strtab,symtab_index);
                debug_reloc(symtab,strtab,rpnt);
-#if defined (__SUPPORT_LD_DEBUG__)
                if (reloc_addr)
                        old_val = *reloc_addr;
 #endif
index 3dd12f0ee6dab0d19d0da5830dd43d763640040c..8ed4655b4c3afce39e0a4e514a7b562a773babaf 100644 (file)
@@ -29,6 +29,8 @@
  * SUCH DAMAGE.
  */
 
+#include "ldso.h"
+
 extern int _dl_linux_resolve(void);
 
 void _dl_init_got(unsigned long *plt,struct elf_resolve *tpnt)
@@ -116,10 +118,10 @@ unsigned long _dl_linux_resolver(struct elf_resolve *tpnt, int reloc_entry)
        strtab = (char *)tpnt->dynamic_info[DT_STRTAB];
        symname = strtab + symtab[symtab_index].st_name;
 
+#if defined (__SUPPORT_LD_DEBUG__)
        debug_sym(symtab,strtab,symtab_index);
        debug_reloc(symtab,strtab,this_reloc);
 
-#if defined (__SUPPORT_LD_DEBUG__)
        if (unlikely(ELF32_R_TYPE(this_reloc->r_info) != R_PPC_JMP_SLOT)) {
                _dl_dprintf(2, "%s: Incorrect relocation type in jump relocation\n", _dl_progname);
                _dl_exit(1);
@@ -363,8 +365,10 @@ _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
 
                res = reloc_fnc (tpnt, scope, rpnt, symtab, strtab);
 
index 3027a27f833f793e89e57f091c650dca16c9e2a9..b07499a435a65675d40fc875e53c1c1d15529154 100644 (file)
@@ -39,6 +39,8 @@
    a more than adequate job of explaining everything required to get this
    working. */
 
+#include "ldso.h"
+
 extern int _dl_linux_resolve(void);
 
 unsigned long _dl_linux_resolver(struct elf_resolve *tpnt, int reloc_entry)
@@ -122,8 +124,11 @@ _dl_parse(struct elf_resolve *tpnt, struct dyn_elf *scope,
                int res;
 
                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
 
                res = reloc_fnc(tpnt, scope, rpnt, symtab, strtab);
 
index c20314a8557ccac93f5fddb2bacb92f18d80f127..3e22e49c620b1c99ef97a46d706f6f45ece7123f 100644 (file)
@@ -41,6 +41,8 @@
    a more than adequate job of explaining everything required to get this
    working. */
 
+#include "ldso.h"
+
 extern int _dl_linux_resolve(void);
 
 unsigned long _dl_linux_resolver(struct elf_resolve *tpnt, int reloc_entry)
@@ -132,8 +134,11 @@ static int _dl_parse(struct elf_resolve *tpnt, struct dyn_elf *scope,
                int res;
 
                symtab_index = ELF32_R_SYM(rpnt->r_info);
+
+#ifdef __SUPPORT_LD_DEBUG__
                debug_sym(symtab,strtab,symtab_index);
                debug_reloc(symtab,strtab,rpnt);
+#endif
 
                res = reloc_fnc (tpnt, scope, rpnt, symtab, strtab);
                if (res == 0)
index 66552d879e34af2f74410aa5fb1ea4c20e9e2ca6..424e480e67cbdcb0d8c7045d1777dee805317521 100644 (file)
@@ -125,8 +125,10 @@ _dl_parse(struct elf_resolve *tpnt, struct dyn_elf *scope,
 
                symtab_index = ELF_R_SYM(rpnt->r_info);
 
+#if defined (__SUPPORT_LD_DEBUG__)
                debug_sym(symtab, strtab, symtab_index);
                debug_reloc(symtab, strtab, rpnt);
+#endif
 
                res = reloc_fnc(tpnt, scope, rpnt, symtab, strtab);
 
This page took 0.041656 seconds and 4 git commands to generate.