Browse Source

make __dl_start, whose address is taken, into a real object type

Signed-off-by: Thorsten Glaser <tg@mirbsd.org>
Thorsten Glaser 9 years ago
parent
commit
d5eaaa724e
2 changed files with 3 additions and 2 deletions
  1. 1 1
      ldso/ldso/arm/dl-sysdep.h
  2. 2 1
      ldso/ldso/avr32/dl-sysdep.h

+ 1 - 1
ldso/ldso/arm/dl-sysdep.h

@@ -105,7 +105,7 @@ elf_machine_dynamic (void)
   return dynamic;
 }
 
-extern void __dl_start __asm__ ("_dl_start");
+extern char __dl_start[] __asm__("_dl_start");
 
 /* Return the run-time load address of the shared object.  */
 static __always_inline Elf32_Addr __attribute__ ((unused))

+ 2 - 1
ldso/ldso/avr32/dl-sysdep.h

@@ -63,11 +63,12 @@ elf_machine_dynamic (void)
 	return *got;
 }
 
+extern char __dl_start[] __asm__("_dl_start");
+
 /* Return the run-time load address of the shared object.  */
 static __always_inline Elf32_Addr
 elf_machine_load_address (void)
 {
-	extern void __dl_start __asm__("_dl_start");
 	Elf32_Addr got_addr = (Elf32_Addr) &__dl_start;
 	Elf32_Addr pcrel_addr;