Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 May 2003 17:34:04 -0700 (PDT)
From:      Peter Wemm <peter@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 31743 for review
Message-ID:  <200305240034.h4O0Y47n005460@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=31743

Change 31743 by peter@peter_hammer on 2003/05/23 17:33:48

	preserve %rdi across _rtld call

Affected files ...

.. //depot/projects/hammer/libexec/rtld-elf/amd64/rtld_start.S#7 edit

Differences ...

==== //depot/projects/hammer/libexec/rtld-elf/amd64/rtld_start.S#7 (text+ko) ====

@@ -32,12 +32,14 @@
 .rtld_start:
 	xorq	%rbp,%rbp		# Clear frame pointer for good form
 	subq	$16,%rsp		# A place to store exit procedure addr
+	movq	%rdi,%r12
 	movq	%rsp,%rsi		# save address of exit proc
 	movq	%rsp,%rdx		# construct address of obj_main
 	addq	$8,%rdx
 	call	_rtld@PLT		# Call rtld(sp); returns entry point
 	popq	%rsi			# Get exit procedure address
 	addq	$8,%rsp			# Ignore obj_main
+	movq	%r12,%rdi		# *ap
 /*
  * At this point, %rax contains the entry point of the main program, and
  * %rdx contains a pointer to a termination function that should be



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200305240034.h4O0Y47n005460>