]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Update.
authorUlrich Drepper <drepper@redhat.com>
Tue, 11 Feb 2003 06:31:57 +0000 (06:31 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 11 Feb 2003 06:31:57 +0000 (06:31 +0000)
2003-02-10  Ulrich Drepper  <drepper@redhat.com>

* elf/Makefile (check-textrel-CFLAGS): Pass _XOPEN_SOURCE and
_BSD_SOURCE to compiler.
* elf/check-textrel.c (SWAP): Add parenthesis to avoid warnings.
Patches by Alan Modra.

16 files changed:
ChangeLog
elf/Makefile
elf/check-textrel.c
linuxthreads/ChangeLog
linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S
linuxthreads/sysdeps/unix/sysv/linux/i386/vfork.S
linuxthreads/sysdeps/unix/sysv/linux/ia64/vfork.S
linuxthreads/sysdeps/unix/sysv/linux/m68k/vfork.S
linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S
linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/vfork.S
linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/vfork.S
linuxthreads/sysdeps/unix/sysv/linux/sh/vfork.S
linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S
linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S
linuxthreads/sysdeps/unix/sysv/linux/x86_64/vfork.S
nptl/Banner

index d41458ad19c32476b237ab7c075b4e262f163036..497d1b7e088e8af19945c63814376164c28accd7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2003-02-10  Ulrich Drepper  <drepper@redhat.com>
+
+       * elf/Makefile (check-textrel-CFLAGS): Pass _XOPEN_SOURCE and
+       _BSD_SOURCE to compiler.
+       * elf/check-textrel.c (SWAP): Add parenthesis to avoid warnings.
+       Patches by Alan Modra.
+
 2003-02-08  Ulrich Drepper  <drepper@redhat.com>
 
        * io/ftwtest.c: Get current working directory before and after the
index 09ea94800d35e042bbe4e8c5580a69c9658794fc..56322f1d1af651960d63d3af33247458a6a316c5 100644 (file)
@@ -601,7 +601,7 @@ $(objpfx)tst-array4.out: $(objpfx)tst-array4 $(objpfx)tst-array2dep.so
          $< > $@
        cmp $@ tst-array4.exp > /dev/null
 
-check-textrel-CFLAGS = -O
+check-textrel-CFLAGS = -O -Wall -D_XOPEN_SOURCE=600 -D_BSD_SOURCE
 $(objpfx)check-textrel: check-textrel.c
        $(native-compile)
 
index 69210b2be8c429fcea8e9f7e374dd632acf3c66f..ec97e4b0c9016c76842b9d87f497762467ff2a2d 100644 (file)
@@ -1,5 +1,5 @@
 /* Check for text relocations in DSOs.
-   Copyright (C) 2002 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contribute by Ulrich Drepper <drepper@redhat.com>. 2002.
 
 # define __E(name, bits) Elf##bits##_##name
 # define SWAP(val) \
   ({ __typeof (val) __res;                                                   \
-     if ((ehdr.e_ident[EI_DATA] == ELFDATA2MSB && BYTE_ORDER == LITTLE_ENDIAN \
-         || ehdr.e_ident[EI_DATA] == ELFDATA2LSB && BYTE_ORDER == BIG_ENDIAN)\
+     if (((ehdr.e_ident[EI_DATA] == ELFDATA2MSB                                      \
+          && BYTE_ORDER == LITTLE_ENDIAN)                                    \
+         || (ehdr.e_ident[EI_DATA] == ELFDATA2LSB                            \
+             && BYTE_ORDER == BIG_ENDIAN))                                   \
         && sizeof (val) != 1)                                                \
        {                                                                     \
         if (sizeof (val) == 2)                                               \
index 3d21ec4754089e833fe3a27683f1a3ea9355cdc3..7a6047ae928587570d57a8e99b474807ae745995 100644 (file)
@@ -1,3 +1,22 @@
+2003-02-10  Jakub Jelinek  <jakub@redhat.com>
+
+       * sysdeps/unix/sysv/linux/alpha/vfork.S (__vfork): Check
+       pthread_create existance, not __pthread_fork.
+       * sysdeps/unix/sysv/linux/i386/vfork.S (__vfork): Likewise.
+       * sysdeps/unix/sysv/linux/ia64/vfork.S (__vfork): Likewise.
+       * sysdeps/unix/sysv/linux/m68k/vfork.S (__vfork): Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S (__vfork):
+       Likewise.
+       * sysdeps/unix/sysv/linux/s390/s390-64/vfork.S (__vfork): Likewise.
+       * sysdeps/unix/sysv/linux/x86_64/vfork.S (__vfork): Likewise.
+       * sysdeps/unix/sysv/linux/sh/vfork.S (__vfork): Likewise.
+       Add .weak pthread_create.
+       * sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S (__vfork): Fix a typo.
+       Check pthread_create existance, not __pthread_fork.
+       * sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S (__vfork): Likewise.
+       * sysdeps/unix/sysv/linux/s390/s390-32/vfork.S (__vfork): Branch to
+       __fork whenever libpthread.so is loaded.
+
 2003-02-09  Andreas Jaeger  <aj@suse.de>
 
        * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h:
index 9002a3b36b70ce5099adb9a144e42d86bcafe907..b4f35e1a675618e00c1d52d84c42f3ba6902ae06 100644 (file)
@@ -31,8 +31,8 @@ __LABEL(__vfork)
        ldq     t0, __libc_pthread_functions(gp) !gprel
        bne     t0, HIDDEN_JUMPTARGET (__fork) !samegp
 #else
-       .weak   __pthread_fork
-       ldq     t0, __pthread_fork(gp) !literal
+       .weak   pthread_create
+       ldq     t0, pthread_create(gp) !literal
        bne     t0, $do_fork
 #endif
 
index 95df1330dd6223e139459343163f341f6259890a..c7a120d2397dc0aa72b83fd2a6a8cb2a15527c66 100644 (file)
@@ -40,8 +40,8 @@ ENTRY (__vfork)
        addl    $_GLOBAL_OFFSET_TABLE_, %ecx
        cmpl    $0, __libc_pthread_functions@GOTOFF(%ecx)
 # else
-       .weak   __pthread_fork
-       movl    $__pthread_fork, %eax
+       .weak   pthread_create
+       movl    $pthread_create, %eax
        testl   %eax, %eax
 # endif
        jne     HIDDEN_JUMPTARGET (__fork)
index 5541edb53c442e08fab699db8b6b47272fab80ff..54acedad4ca9091cc54d89854cd897ca74cf3083 100644 (file)
@@ -33,8 +33,8 @@ ENTRY(__vfork)
 #ifdef SHARED
        addl r14 = @gprel(__libc_pthread_functions#), gp;;
 #else
-       .weak   __pthread_fork
-       addl r14 = @ltoff(@fptr(__pthread_fork#)), gp;;
+       .weak   pthread_create
+       addl r14 = @ltoff(@fptr(pthread_create#)), gp;;
 #endif
        ld8 r14 = [r14];;
        cmp.ne p6, p7 = 0, r14
index 475bb6ea7bdab30aed1c747dd3342d0dc198ed6b..49b8a3c0ac211c1db99453ca179c62b317835b07 100644 (file)
@@ -32,8 +32,8 @@ ENTRY (__vfork)
 #ifdef SHARED
        tstl    (__libc_pthread_functions@GOTPC, %pc)
 #else
-       .weak   __pthread_fork
-       movel   #__pthread_fork, %d0
+       .weak   pthread_create
+       movel   #pthread_create, %d0
 #endif
        jbne    HIDDEN_JUMPTARGET (__fork)
 
index e85f662b7e42b176fc1443fbb1362ebb4576fbef..5054d5f98458d4f83d8d07425c0dde07a7457c71 100644 (file)
@@ -39,9 +39,9 @@ ENTRY (__vfork)
        cmpwi   10,0
        bne-    HIDDEN_JUMPTARGET(__fork)
 # else
-       .weak   __pthread_fork
-       lis     9,__pthread_fork@ha
-       la      9,__pthread_fork@l(9)
+       .weak   pthread_create
+       lis     9,pthread_create@ha
+       la      9,pthread_create@l(9)
        cmpwi   9,0
        bne-    .Lhidden_fork
 # endif
index 0315e6e30b4b335ae79adae6a7aa98dc47382f77..6dfeca86d4fb49f88e57c63a7bd5aace282e2ce5 100644 (file)
    and the process ID of the new process to the old process.  */
 
 ENTRY (__vfork)
-       SINGLE_THREAD_P(%r1)
-       jne     0f
+       basr    %r1,0
+0:
+#ifdef SHARED
+       al      %r1,4f-0b(%r1)
+       l       %r1,0(%r1)
+       ltr     %r1,%r1
+#else
+       icm     %r1,15,4f-0b(%r1)
+#endif
+       jne     1f
 
        /* Do vfork system call.  */
        svc     SYS_ify (vfork)
@@ -40,13 +48,20 @@ ENTRY (__vfork)
 
        /* Normal return.  */
        br      %r14
-0:
-       basr    %r1,0
 1:
-       al      %r1,2f-1b(%r1)
-       br      %r1
+       basr    %r1,0
 2:
-       .long   HIDDEN_JUMPTARGET(__fork)-1b
+       al      %r1,3f-2b(%r1)
+       br      %r1
+3:
+       .long   HIDDEN_JUMPTARGET(__fork)-2b
+4:
+#ifdef SHARED
+       .long   __libc_pthread_functions-0b
+#else
+       .weak   pthread_create
+       .long   pthread_create
+#endif
 PSEUDO_END(__vfork)
 
 libc_hidden_def (__vfork)
index d2faaa1c6893c03a10ecb7720e2482a6b96cce99..199f0017ffbfe25906bce388767ac3bc3a6aefc9 100644 (file)
@@ -31,8 +31,8 @@ ENTRY (__vfork)
        larl    %r1,__libc_pthread_functions
        lg      %r1,0(%r1)
 #else
-       .weak   __pthread_fork
-       larl    %r1,__pthread_fork
+       .weak   pthread_create
+       larl    %r1,pthread_create
 #endif
        ltgr    %r1,%r1
        jgne    HIDDEN_JUMPTARGET(__fork)
index b118ca34d700012ecbc301ee4af3adad30a3bad7..07589c162b911d3c5f286338c89e2914a7d76f20 100644 (file)
@@ -30,7 +30,7 @@ ENTRY (__vfork)
        mov.l   .Lpthread_func, r0
        mov.l   @(r0,r12), r0
 #else
-       mov.l   .Lpthread_fork, r0
+       mov.l   .Lpthread_create, r0
 #endif
        tst     r0, r0
        bf      .Lhidden_fork
@@ -53,8 +53,9 @@ ENTRY (__vfork)
 .Lpthread_func:
        .long   __libc_pthread_functions@GOTOFF
 #else
-.Lpthread_fork:
-       .long   __pthread_fork
+.Lpthread_create:
+       .weak   pthread_create
+       .long   pthread_create
 #endif
 
 .Lhidden_fork: 
index 2da7703e3125a093a54311020c615708f97b7d4f..132da67a14cb664e4848bfe49cc451fab5ce2f1d 100644 (file)
@@ -23,7 +23,7 @@
 #ifdef SHARED
 .LLGETPC0:
        retl
-        addl   %o7, %o0, %o0
+        add    %o7, %o0, %o0
 #endif
 ENTRY(__vfork)
 #ifdef SHARED
@@ -38,9 +38,9 @@ ENTRY(__vfork)
        ld      [%o2], %o2
        cmp     %o2, 0
 #else
-       .weak   __pthread_fork
-       sethi   %hi(__pthread_fork), %o0
-       orcc    %o0, %lo(__pthread_fork), %o0
+       .weak   pthread_create
+       sethi   %hi(pthread_create), %o0
+       orcc    %o0, %lo(pthread_create), %o0
 #endif
 #if defined SHARED && !defined BROKEN_SPARC_WDISP22
        bne     HIDDEN_JUMPTARGET(__fork)
@@ -48,7 +48,7 @@ ENTRY(__vfork)
        bne     1f
 #endif
         mov    __NR_vfork, %g1
-       ta 0x10;
+       ta      0x10
        bcs     __syscall_error_handler
         nop
        sub     %o1, 1, %o1
index 8b85d763d4c4840e4a59ed6457af8c9b2922dfbd..f7edf44678c1078ac02589163a75dc77bb937966 100644 (file)
@@ -22,7 +22,7 @@
 #ifdef SHARED
 .LLGETPC0:
        retl
-        addl   %o7, %o0, %o0
+        add    %o7, %o0, %o0
 #endif
 ENTRY(__vfork)
 #ifdef SHARED
@@ -38,9 +38,9 @@ ENTRY(__vfork)
        cmp     %o2, 0
        bne     HIDDEN_JUMPTARGET(__fork)
 #else
-       .weak   __pthread_fork
-       sethi   %hi(__pthread_fork), %o0
-       or      %o0, %lo(__pthread_fork), %o0
+       .weak   pthread_create
+       sethi   %hi(pthread_create), %o0
+       or      %o0, %lo(pthread_create), %o0
        brnz,pn %o0, 1f
 #endif
         mov    __NR_vfork, %g1
index 22e2d86d9798daf03325fe1babe6010738a1b37e..9198c514d93eeba918ffa38461f317b68892e900 100644 (file)
@@ -30,8 +30,8 @@ ENTRY (__vfork)
 #ifdef SHARED
        cmpq    $0, __libc_pthread_functions(%rip)
 #else
-       .weak   __pthread_fork
-       movq    $__pthread_fork, %rax
+       .weak   pthread_create
+       movq    $pthread_create, %rax
        testq   %rax, %rax
 #endif
        jne     HIDDEN_JUMPTARGET (__fork)
index 47324447617498754b0411d53c196663ad2bbd72..7f022b3fd81602c389d8928ca45bba69bb369cbb 100644 (file)
@@ -1 +1 @@
-NPTL 0.20 by Ulrich Drepper
+NPTL 0.21 by Ulrich Drepper