summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoakim Tjernlund <joakim.tjernlund@transmode.se>2005-08-12 23:10:22 +0000
committerJoakim Tjernlund <joakim.tjernlund@transmode.se>2005-08-12 23:10:22 +0000
commit066d0837ffd09cca2eabbe7208497df11c577276 (patch)
tree06fc6c909aeac70a65450caaf0c8ac1b77276024
parent3417dd5c9165f05d944bb1e877471c91041ea866 (diff)
Remove hardcoded ld-uClibc.so.0 name in ldso.
-rw-r--r--ldso/Makefile4
-rw-r--r--ldso/include/ldso.h1
-rw-r--r--ldso/ldso/Makefile2
-rw-r--r--ldso/ldso/ldso.c5
4 files changed, 4 insertions, 8 deletions
diff --git a/ldso/Makefile b/ldso/Makefile
index b7ce3625a..dd7ff2052 100644
--- a/ldso/Makefile
+++ b/ldso/Makefile
@@ -44,10 +44,8 @@ $(LN_HEADERS):
$(LN_ARCH_HEADERS):
$(LN) -fs ../ldso/$(TARGET_ARCH)/$(patsubst include/%,%,$@) $@
include/dl-progname.h:
- echo 'const char *_dl_progname="$(UCLIBC_LDSO)";' \
- > include/dl-progname.h
echo '#include "$(TARGET_ARCH)/elfinterp.c"' \
- >> include/dl-progname.h
+ > include/dl-progname.h
clean:
set -e ; for d in $(DIRS) ; do $(MAKE) -C $$d $@ ; done
diff --git a/ldso/include/ldso.h b/ldso/include/ldso.h
index db3fe054c..ceb8aaeb1 100644
--- a/ldso/include/ldso.h
+++ b/ldso/include/ldso.h
@@ -44,7 +44,6 @@ extern char *_dl_ldsopath; /* Where the shared lib loader was found
extern const char *_dl_progname; /* The name of the executable being run */
extern int _dl_secure; /* Are we dealing with setuid stuff? */
extern size_t _dl_pagesize; /* Store the page size for use later */
-extern const char *_dl_progname; /* The name of the shared library loader */
#ifdef __SUPPORT_LD_DEBUG__
extern char *_dl_debug;
diff --git a/ldso/ldso/Makefile b/ldso/ldso/Makefile
index fff4809ad..cb105af2d 100644
--- a/ldso/ldso/Makefile
+++ b/ldso/ldso/Makefile
@@ -40,7 +40,7 @@ XXFLAGS+=-Os -g
else
XXFLAGS+=$(OPTIMIZATION)
endif
-XXFLAGS+= $(XARCH_CFLAGS) $(CPU_CFLAGS) $(PICFLAG) \
+XXFLAGS+= -DUCLIBC_LDSO=\"$(UCLIBC_LDSO)\" $(XARCH_CFLAGS) $(CPU_CFLAGS) $(PICFLAG) \
-DUCLIBC_RUNTIME_PREFIX=\"$(RUNTIME_PREFIX)\" \
-fno-builtin -nostdinc -D_LIBC -I$(TOPDIR)ldso/include -I. -I$(TOPDIR)include
diff --git a/ldso/ldso/ldso.c b/ldso/ldso/ldso.c
index 709d58d25..db250f0be 100644
--- a/ldso/ldso/ldso.c
+++ b/ldso/ldso/ldso.c
@@ -64,7 +64,7 @@ int _dl_debug_file = 2;
/* Needed for standalone execution. */
unsigned long attribute_hidden _dl_skip_args = 0;
-
+const char *_dl_progname = UCLIBC_LDSO; /* The name of the executable being run */
#include "dl-startup.c"
/* Forward function declarations */
static int _dl_suid_ok(void);
@@ -83,7 +83,6 @@ static unsigned char *_dl_mmap_zero = 0; /* Also used by _dl_malloc */
static struct elf_resolve **init_fini_list;
static int nlist; /* # items in init_fini_list */
-
extern void _start(void);
static void __attribute__ ((destructor)) __attribute_used__ _dl_fini(void)
@@ -539,7 +538,7 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, unsigned long load_addr,
lpntstr = (char*) (tcurr->dynamic_info[DT_STRTAB] + dpnt->d_un.d_val);
name = _dl_get_last_path_component(lpntstr);
- if (_dl_strcmp(name, "ld-uClibc.so.0") == 0)
+ if (_dl_strcmp(name, UCLIBC_LDSO) == 0)
continue;
_dl_if_debug_dprint("\tfile='%s'; needed by '%s'\n", lpntstr, _dl_progname);