mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-08 00:17:32 +02:00
26fecaf491
allows us to upgrade uClibc without breaking compatibility for nas and wl breaks binary compatibility for packages from earlier kamikaze releases git-svn-id: svn://svn.openwrt.org/openwrt/trunk@9518 3c298f89-4303-0410-b956-a3cf2f4a3e73
67 lines
2.0 KiB
Diff
67 lines
2.0 KiB
Diff
Index: uClibc-0.9.28.2/ldso/ldso/dl-hash.c
|
|
===================================================================
|
|
--- uClibc-0.9.28.2.orig/ldso/ldso/dl-hash.c 2007-11-09 03:35:13.193591913 +0100
|
|
+++ uClibc-0.9.28.2/ldso/ldso/dl-hash.c 2007-11-09 03:52:41.713343652 +0100
|
|
@@ -124,6 +124,15 @@
|
|
return tpnt;
|
|
}
|
|
|
|
+void (*__uClibc_main)(void *main, int argc, char **argv, void (*app_init)(void), void (*app_fini)(void), void *, void *) = NULL;
|
|
+int (*main)(int argc, char **argv, char **envp) = NULL;
|
|
+void
|
|
+__uClibc_start_main(int argc, char **argv, char **envp,
|
|
+ void (*app_fini)(void), void (*app_init)(void))
|
|
+{
|
|
+ __uClibc_main(main, argc, argv, app_init, app_fini, NULL, NULL);
|
|
+}
|
|
+
|
|
|
|
/*
|
|
* This function resolves externals, and this is either called when we process
|
|
@@ -139,6 +148,12 @@
|
|
const ElfW(Sym) *sym;
|
|
char *weak_result = NULL;
|
|
|
|
+ if (_dl_strcmp(name, "__uClibc_start_main") == 0) {
|
|
+ main = _dl_find_hash("main", rpnt, mytpnt, type_class);
|
|
+ __uClibc_main = _dl_find_hash("__uClibc_main", rpnt, mytpnt, type_class);
|
|
+ return (char *) &__uClibc_start_main;
|
|
+ }
|
|
+
|
|
elf_hash_number = _dl_elf_hash(name);
|
|
|
|
for (; rpnt; rpnt = rpnt->next) {
|
|
Index: uClibc-0.9.28.2/Makefile
|
|
===================================================================
|
|
--- uClibc-0.9.28.2.orig/Makefile 2007-11-09 03:54:20.814991133 +0100
|
|
+++ uClibc-0.9.28.2/Makefile 2007-11-09 03:58:56.346692786 +0100
|
|
@@ -28,10 +28,7 @@
|
|
TOPDIR=./
|
|
include Rules.mak
|
|
|
|
-DIRS = ldso libc libcrypt libresolv libnsl libutil libm libpthread librt
|
|
-ifeq ($(strip $(UCLIBC_HAS_GETTEXT_AWARENESS)),y)
|
|
- DIRS += libintl
|
|
-endif
|
|
+DIRS = ldso
|
|
|
|
ifeq ($(strip $(HAVE_DOT_CONFIG)),y)
|
|
|
|
@@ -47,16 +44,6 @@
|
|
$(SECHO)
|
|
@$(MAKE) -C libc shared
|
|
@$(MAKE) -C ldso shared
|
|
- @$(MAKE) -C libcrypt shared
|
|
- @$(MAKE) -C libresolv shared
|
|
- @$(MAKE) -C libnsl shared
|
|
- @$(MAKE) -C libutil shared
|
|
- @$(MAKE) -C libm shared
|
|
- @$(MAKE) -C libpthread shared
|
|
- @$(MAKE) -C librt shared
|
|
-ifeq ($(strip $(UCLIBC_HAS_GETTEXT_AWARENESS)),y)
|
|
- @$(MAKE) -C libintl shared
|
|
-endif
|
|
else
|
|
$(SECHO)
|
|
$(SECHO) Not building shared libraries ...
|