]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Update.
authorAndreas Jaeger <aj@suse.de>
Wed, 24 May 2000 16:16:53 +0000 (16:16 +0000)
committerAndreas Jaeger <aj@suse.de>
Wed, 24 May 2000 16:16:53 +0000 (16:16 +0000)
* sysdeps/mips/elf/start.S (ENTRY_POINT): Align stack for double
words.

ChangeLog
linuxthreads/ChangeLog
sysdeps/mips/elf/start.S

index 9ad63a3dca40ab7f6c9886012918be8bd6ebcabd..9440cba1532066d05a22681eb7c3041011bd3741 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2000-05-24  Andreas Jaeger  <aj@suse.de>
 
+       * sysdeps/mips/elf/start.S (ENTRY_POINT): Align stack for double
+       words.
+
        * intl/Makefile: Run gettext-test only if msgfmt is available.
 
        * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_LDT_WORKS):
index d20d68a8e0ab224b5b352809c456614abcbf810d..bde417e2de8578a55baef7229ef57b8dcbb99f31 100644 (file)
@@ -1,3 +1,7 @@
+2000-05-24  Andreas Jaeger  <aj@suse.de>
+
+       * sysdeps/i386/i686/pt-machine.h: Only use LDT on newer kernels.
+
 2000-05-21  Jakub Jelinek  <jakub@redhat.com>
 
        * manager.c (pthread_handle_create): Initialize p_res._sock to -1.
index 7fee4e71c36aeb048d5faa5b7c1db4896d3a7c20..064fe7e6f45289a144255776c96f06d7d7f66306 100644 (file)
@@ -27,7 +27,7 @@
    segment.  The SVR4/Mips ABI (pages 3-31, 3-32) says that when the entry
    point runs, most registers' values are unspecified, except for:
 
-   v1 ($2)     Contains a function pointer to be registered with `atexit'.
+   v0 ($2)     Contains a function pointer to be registered with `atexit'.
                This is how the dynamic linker arranges to have DT_FINI
                functions called for shared libraries that have been loaded
                before this code runs.
@@ -76,7 +76,9 @@ ENTRY_POINT:
        dla $4, main            /* main */
        lw $5, 0($29)           /* argc */
        addu $6, $29, 4         /* argv  */
-       /* Allocate space on the stack for seven arguments but align to 32.  */
+       /* Allocate space on the stack for seven arguments and make sure
+          the stack is aligned to double words (8 bytes).  */
+       and $29, 0xfffffff8
        subu $29, 32
        dla $7, _init           /* init */
        dla $8, _fini
@@ -84,7 +86,9 @@ ENTRY_POINT:
        la $4, main             /* main */
        lw $5, 0($29)           /* argc */
        addu $6, $29, 4         /* argv  */
-       /* Allocate space on the stack for seven arguments but align to 32.  */
+       /* Allocate space on the stack for seven arguments and make sure
+          the stack is aligned to double words (8 bytes).  */
+       and $29, 0xfffffff8
        subu $29, 32
        la $7, _init            /* init */
        la $8, _fini