Page MenuHomeFreeBSD

D49206.1786551441.diff
No OneTemporary

Size
775 B
Referenced Files
None
Subscribers
None

D49206.1786551441.diff

diff --git a/lib/csu/amd64/crt1_s.S b/lib/csu/amd64/crt1_s.S
--- a/lib/csu/amd64/crt1_s.S
+++ b/lib/csu/amd64/crt1_s.S
@@ -49,15 +49,12 @@
#ifdef GCRT
subq $16, %rsp
#endif
- movq %rsi, %rcx
- movq %rdi, %rsi /* argv = ap */
- addq $8, %rsi /* argv += 1 */
- movq %rdi, %rdx /* env = ap */
- addq $16, %rdx /* env += 2 */
- movslq (%rdi), %rax
- movl %eax, %edi /* argc = *(long *)(void *)ap */
- shlq $3, %rax
- addq %rax, %rdx /* env += argc */
+ movq %rsi, %rcx /* cleanup */
+ movslq (%rdi), %rax /* long *ap; tmpargc = *ap */
+ leaq 0x8(%rdi), %rsi /* argv = ap + 1 */
+ leaq 0x10(%rdi, %rax, 8), %rdx /* env = ap + 2 + tmpargc */
+ movl %eax, %edi /* argc = tmpargc */
+
#ifdef PIC
/*
* XXX. %rip relative addressing is not intended for use in the

File Metadata

Mime Type
text/plain
Expires
Wed, Aug 12, 4:17 PM (21 h, 45 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29399610
Default Alt Text
D49206.1786551441.diff (775 B)

Event Timeline