fix multi-essid setting for broadcom-wl
[openwrt-10.03/.git] / package / broadcom-wl / compat-ldso / patches / 100-start_main.patch
1 Index: uClibc-0.9.28.2/ldso/ldso/dl-hash.c
2 ===================================================================
3 --- uClibc-0.9.28.2.orig/ldso/ldso/dl-hash.c    2007-11-09 03:35:13.193591913 +0100
4 +++ uClibc-0.9.28.2/ldso/ldso/dl-hash.c 2007-11-09 03:52:41.713343652 +0100
5 @@ -124,6 +124,15 @@
6         return tpnt;
7  }
8  
9 +void (*__uClibc_main)(void *main, int argc, char **argv, void (*app_init)(void), void (*app_fini)(void), void *, void *) = NULL;
10 +int (*main)(int argc, char **argv, char **envp) = NULL;
11 +void
12 +__uClibc_start_main(int argc, char **argv, char **envp,
13 +            void (*app_fini)(void), void (*app_init)(void))
14 +{
15 +    __uClibc_main(main, argc, argv, app_init, app_fini, NULL, NULL);
16 +}
17 +
18  
19  /*
20   * This function resolves externals, and this is either called when we process
21 @@ -139,6 +148,12 @@
22         const ElfW(Sym) *sym;
23         char *weak_result = NULL;
24  
25 +       if (_dl_strcmp(name, "__uClibc_start_main") == 0) {
26 +               main = _dl_find_hash("main", rpnt, mytpnt, type_class);
27 +               __uClibc_main = _dl_find_hash("__uClibc_main", rpnt, mytpnt, type_class);
28 +               return (char *) &__uClibc_start_main;
29 +       }
30 +
31         elf_hash_number = _dl_elf_hash(name);
32  
33         for (; rpnt; rpnt = rpnt->next) {
34 Index: uClibc-0.9.28.2/Makefile
35 ===================================================================
36 --- uClibc-0.9.28.2.orig/Makefile       2007-11-09 03:54:20.814991133 +0100
37 +++ uClibc-0.9.28.2/Makefile    2007-11-09 03:58:56.346692786 +0100
38 @@ -28,10 +28,7 @@
39  TOPDIR=./
40  include Rules.mak
41  
42 -DIRS = ldso libc libcrypt libresolv libnsl libutil libm libpthread librt
43 -ifeq ($(strip $(UCLIBC_HAS_GETTEXT_AWARENESS)),y)
44 -       DIRS += libintl
45 -endif
46 +DIRS = ldso
47  
48  ifeq ($(strip $(HAVE_DOT_CONFIG)),y)
49  
50 @@ -47,16 +44,6 @@
51         $(SECHO)
52         @$(MAKE) -C libc shared
53         @$(MAKE) -C ldso shared
54 -       @$(MAKE) -C libcrypt shared
55 -       @$(MAKE) -C libresolv shared
56 -       @$(MAKE) -C libnsl shared
57 -       @$(MAKE) -C libutil shared
58 -       @$(MAKE) -C libm shared
59 -       @$(MAKE) -C libpthread shared
60 -       @$(MAKE) -C librt shared
61 -ifeq ($(strip $(UCLIBC_HAS_GETTEXT_AWARENESS)),y)
62 -       @$(MAKE) -C libintl shared
63 -endif
64  else
65         $(SECHO)
66         $(SECHO) Not building shared libraries ...