[PATCH] Set __libc_stack_end earlier on all arches, export back at GLIBC_2.1
David Mosberger
davidm@napali.hpl.hp.com
Wed Sep 24 19:20:00 GMT 2003
>>>>> On Wed, 24 Sep 2003 15:47:04 +0200, Jakub Jelinek <jakub@redhat.com> said:
Jakub> Also, for ia64, the __libc_stack_end setting code in
Jakub> RTLD_START should be removed, but removing of that requires
Jakub> rebundling the whole assembly.
You mean something along these lines? (In my opinion, the explicit
bundling should be removed in such assembly code. It only hurts
readability.)
--david
Index: sysdeps/ia64/dl-machine.h
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/ia64/dl-machine.h,v
retrieving revision 1.28
diff -u -r1.28 dl-machine.h
--- sysdeps/ia64/dl-machine.h 18 Aug 2003 22:04:56 -0000 1.28
+++ sysdeps/ia64/dl-machine.h 24 Sep 2003 18:57:03 -0000
@@ -318,21 +318,14 @@
" .save ar.pfs, r32\n" \
" .body\n" \
" { .mii\n" \
-" /* Save the pointer to the user entry point fptr in loc2. */\n" \
-" mov loc2 = ret0\n" \
-" /* Store the highest stack address. */\n" \
-" addl r2 = @ltoff(__libc_stack_end#), gp\n" \
" addl r3 = @gprel(_dl_skip_args), gp\n" \
-" ;;\n" \
-" }\n" \
-" { .mmi\n" \
-" ld8 r2 = [r2]\n" \
-" ld4 r3 = [r3]\n" \
" adds r11 = 24, sp /* Load the address of argv. */\n" \
+" /* Save the pointer to the user entry point fptr in loc2. */\n" \
+" mov loc2 = ret0\n" \
" ;;\n" \
" }\n" \
" { .mii\n" \
-" st8 [r2] = sp\n" \
+" ld4 r3 = [r3]\n" \
" adds r10 = 16, sp /* Load the address of argc. */\n" \
" mov out2 = r11\n" \
" ;;\n" \
@@ -401,7 +394,7 @@
" br.call.sptk.many b0 = _dl_init_internal#\n" \
" ;;\n" \
" }\n" \
-" /* Pass our finializer function to the user,\n" \
+" /* Pass our finalizer function to the user,\n" \
" and jump to the user's entry point. */\n" \
" { .mmi\n" \
" ld8 r3 = [loc2], 8\n" \
More information about the Libc-hacker
mailing list