diff options
author | Peter S. Mazinger <ps.m@gmx.net> | 2005-10-29 10:18:42 +0000 |
---|---|---|
committer | Peter S. Mazinger <ps.m@gmx.net> | 2005-10-29 10:18:42 +0000 |
commit | 30c664f0a795bace5c99bedc936228780dba3256 (patch) | |
tree | 349e390798e5cab308a409a26484630e516f83af | |
parent | e6aa37afc9c281a04f40250b8fcd35302064a087 (diff) |
Hopefully correct undefined __libc_stack_end issue
-rw-r--r-- | libc/misc/internals/Makefile.in | 2 | ||||
-rw-r--r-- | libc/misc/internals/__uClibc_main.c | 11 | ||||
-rw-r--r-- | libc/misc/internals/static.c | 4 |
3 files changed, 10 insertions, 7 deletions
diff --git a/libc/misc/internals/Makefile.in b/libc/misc/internals/Makefile.in index a9dc2634f..c6be32a30 100644 --- a/libc/misc/internals/Makefile.in +++ b/libc/misc/internals/Makefile.in @@ -16,7 +16,7 @@ MISC_INTERNALS_OUT:=$(top_builddir)libc/misc/internals MISC_INTERNALS_SRC:=$(patsubst %.c,$(MISC_INTERNALS_DIR)/%.c,$(CSRC)) MISC_INTERNALS_OBJ:=$(patsubst %.c,$(MISC_INTERNALS_OUT)/%.o,$(CSRC)) -STATIC_SRC:=__uClibc_main.c static.c +STATIC_SRC:=__uClibc_main.c $(MISC_INTERNALS_OUT)/interp.c: $(MISC_INTERNALS_DIR)/Makefile.in echo "/* Force shared libraries to know about the correct library loader */" > $@ diff --git a/libc/misc/internals/__uClibc_main.c b/libc/misc/internals/__uClibc_main.c index e7c2c4abf..42f971f99 100644 --- a/libc/misc/internals/__uClibc_main.c +++ b/libc/misc/internals/__uClibc_main.c @@ -25,8 +25,12 @@ #include <fcntl.h> #include <sys/stat.h> #include <sys/sysmacros.h> + #ifndef SHARED +void *__libc_stack_end=NULL; + /* probably all the weak_*function stuff below should be in here */ + #ifdef __UCLIBC_HAS_SSP__ #include <dl-osinfo.h> #ifndef THREAD_SET_STACK_GUARD @@ -39,12 +43,12 @@ uintptr_t __stack_chk_guard attribute_relro; strong_alias(__stack_chk_guard,__guard) #endif #endif -#endif + +#endif /* !SHARED */ /* * Prototypes. */ -extern void *__libc_stack_end; extern void weak_function _stdio_init(void); extern int *weak_const_function __errno_location(void); extern int *weak_const_function __h_errno_location(void); @@ -191,7 +195,10 @@ __uClibc_main(int (*main)(int, char **, char **), int argc, unsigned long *aux_dat; ElfW(auxv_t) auxvt[AT_EGID + 1]; #endif + +#ifndef SHARED __libc_stack_end = stack_end; +#endif __rtld_fini = rtld_fini; diff --git a/libc/misc/internals/static.c b/libc/misc/internals/static.c deleted file mode 100644 index cd39ffdd7..000000000 --- a/libc/misc/internals/static.c +++ /dev/null @@ -1,4 +0,0 @@ -#include <stddef.h> - -/* Force static libraries to know about ... */ -void *__libc_stack_end=NULL; |