Browse Source

rename dynamic linker entry point from _start to _dlstart

the main motivation for this change is to aid in debugging. since the
main program's entry point is also named _start, it was difficult to
set breakpoints or quickly identify which _start execution stopped in.
master
Rich Felker 12 years ago
parent
commit
3fa2eb2aba
  1. 2
      Makefile
  2. 4
      src/ldso/arm/start.s
  3. 4
      src/ldso/i386/start.s
  4. 4
      src/ldso/microblaze/start.s
  5. 6
      src/ldso/mips/start.s
  6. 6
      src/ldso/powerpc/start.s
  7. 6
      src/ldso/sh/start.s
  8. 4
      src/ldso/x32/start.s
  9. 4
      src/ldso/x86_64/start.s

2
Makefile

@ -125,7 +125,7 @@ $(foreach s,$(wildcard src/*/$(ARCH)*/*.s),$(eval $(call mkasmdep,$(s))))
lib/libc.so: $(LOBJS)
$(CC) $(CFLAGS_ALL_SHARED) $(LDFLAGS) -nostdlib -shared \
-Wl,-e,_start -Wl,-Bsymbolic-functions \
-Wl,-e,_dlstart -Wl,-Bsymbolic-functions \
-o $@ $(LOBJS) $(LIBCC)
lib/libc.a: $(OBJS)

4
src/ldso/arm/start.s

@ -1,6 +1,6 @@
.text
.global _start
_start:
.global _dlstart
_dlstart:
ldr r0,[sp]
add r1,sp,#4
bl __dynlink

4
src/ldso/i386/start.s

@ -1,6 +1,6 @@
.text
.global _start
_start:
.global _dlstart
_dlstart:
xor %ebp,%ebp
pop %edi
mov %esp,%esi

4
src/ldso/microblaze/start.s

@ -1,6 +1,6 @@
# FIXME: clearing argv entries
.global _start
_start:
.global _dlstart
_dlstart:
add r19, r0, r0
lw r5, r0, r1

6
src/ldso/mips/start.s

@ -2,9 +2,9 @@
.hidden __reloc_self
.set noreorder
.set nomacro
.global _start
.type _start,@function
_start:
.global _dlstart
.type _dlstart,@function
_dlstart:
move $fp, $0
bgezal $0, 1f

6
src/ldso/powerpc/start.s

@ -1,6 +1,6 @@
.global _start
.type _start,@function
_start:
.global _dlstart
.type _dlstart,@function
_dlstart:
bl 1f
2: .long _DYNAMIC-2b
1: mflr 5

6
src/ldso/sh/start.s

@ -1,7 +1,7 @@
.text
.global _start
.type _start, @function
_start:
.global _dlstart
.type _dlstart, @function
_dlstart:
mov.l @r15, r4
mov r15, r5
mov.l L1, r0

4
src/ldso/x32/start.s

@ -1,6 +1,6 @@
.text
.global _start
_start:
.global _dlstart
_dlstart:
mov (%rsp),%rdi /* move argc into 1st argument slot */
lea 4(%rsp),%rsi /* move argv into 2nd argument slot */
call __dynlink

4
src/ldso/x86_64/start.s

@ -1,6 +1,6 @@
.text
.global _start
_start:
.global _dlstart
_dlstart:
mov (%rsp),%rdi
lea 8(%rsp),%rsi
call __dynlink

Loading…
Cancel
Save