OSDN Git Service

ldso: silence warning
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Fri, 27 Feb 2015 09:41:30 +0000 (10:41 +0100)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Fri, 27 Feb 2015 09:41:30 +0000 (10:41 +0100)
In file included from ldso/ldso/ldso.c:87:0:
ldso/ldso/dl-startup.c: In function '_dl_start':
ldso/ldso/dl-startup.c:184:32: warning: cast from pointer to integer of differennt size [-Wpointer-to-int-cast]
   auxvt[AT_BASE].a_un.a_val =  (Elf32_Addr) &_begin;

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Makerules
ldso/ldso/dl-startup.c

index 87e3c19..1596988 100644 (file)
--- a/Makerules
+++ b/Makerules
@@ -330,7 +330,7 @@ define create-lds
        -Wl,-z,relro -Wl,--hash-style=gnu -Wl,-z,defs \
        -Wl,--verbose 2>&1 | LC_ALL=C \
        $(SED) -e '/^=========/,/^=========/!d;/^=========/d' \
-       -e 's/\. = .* + SIZEOF_HEADERS;/& $(SYMBOL_PREFIX)_begin = . - SIZEOF_HEADERS;/' > $@.lds
+       -e 's/^\([      ]*\)\. = .* + SIZEOF_HEADERS;/&\n\1$(SYMBOL_PREFIX)_begin = . - SIZEOF_HEADERS;/' > $@.lds
 endef
 
 define link.so
index 4893409..18a39ce 100644 (file)
@@ -95,8 +95,8 @@
 #include "dl-startup.h"
 
 #ifdef __LDSO_PRELINK_SUPPORT__
-/* These defined magically in the linker script.  */
-extern char _begin[] attribute_hidden;
+/* This is defined by the linker script.  */
+extern ElfW(Addr) _begin[] attribute_hidden;
 #endif
 
 /* Static declarations */
@@ -181,7 +181,7 @@ DL_START(unsigned long args)
         */
 
        if (!auxvt[AT_BASE].a_un.a_val)
-               auxvt[AT_BASE].a_un.a_val =  (Elf32_Addr) &_begin;
+               auxvt[AT_BASE].a_un.a_val =  (ElfW(Addr)) &_begin;
        /* Note: if the dynamic linker itself is prelinked, the load_addr is 0 */
        DL_INIT_LOADADDR_BOOT(load_addr, elf_machine_load_address());
 #else