* Makerules (check-abi) [$(enable-check-abi) = warn]:
authorRoland McGrath <roland@gnu.org>
Thu, 27 Mar 2003 09:48:09 +0000 (09:48 +0000)
committerRoland McGrath <roland@gnu.org>
Thu, 27 Mar 2003 09:48:09 +0000 (09:48 +0000)
Ignore exit status from diff.
* configure.in (enable_check_abi): Document possible value "warn".
Change default to no for now.
* configure: Regenerated.

* sysdeps/unix/Makefile ($(objpfx)stub-syscalls.c): Emit stub_warning
macro calls and a #include <stub-tag.h> at the end.
* Makerules ($(objpfx)stubs): Tweak sed commands.

* sysdeps/unix/sysv/linux/syscalls.list: Use - rather than EXTRA in
caller column for *xattr syscalls, since they are in sysdeps/generic.

* sysdeps/unix/sysv/linux/i386/setfsuid.c: setfsgid -> setfsuid
* sysdeps/unix/sysv/linux/i386/setfsgid.c: setfsuid -> setfsgid

2003-03-26  Roland McGrath  <roland@redhat.com>

* Makerules (check-abi-config): Use /thread instead of /tls when
use-thread and not just use-tls is set.

* Makerules (update-abi): Put quotes around $(update-abi-config).

* elf/Makefile (check-abi): Depend on check-abi-ld.
(update-abi): Depend on update-abi-ld.

ChangeLog
Makerules
configure
configure.in
elf/Makefile
sysdeps/unix/sysv/linux/i386/setfsgid.c
sysdeps/unix/sysv/linux/i386/setfsuid.c
sysdeps/unix/sysv/linux/syscalls.list

index a4c2cee..c4c8902 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,31 @@
+2003-03-27  Roland McGrath  <roland@redhat.com>
+
+       * Makerules (check-abi) [$(enable-check-abi) = warn]:
+       Ignore exit status from diff.
+       * configure.in (enable_check_abi): Document possible value "warn".
+       Change default to no for now.
+       * configure: Regenerated.
+
+       * sysdeps/unix/Makefile ($(objpfx)stub-syscalls.c): Emit stub_warning
+       macro calls and a #include <stub-tag.h> at the end.
+       * Makerules ($(objpfx)stubs): Tweak sed commands.
+
+       * sysdeps/unix/sysv/linux/syscalls.list: Use - rather than EXTRA in
+       caller column for *xattr syscalls, since they are in sysdeps/generic.
+
+       * sysdeps/unix/sysv/linux/i386/setfsuid.c: setfsgid -> setfsuid
+       * sysdeps/unix/sysv/linux/i386/setfsgid.c: setfsuid -> setfsgid
+
+2003-03-26  Roland McGrath  <roland@redhat.com>
+
+       * Makerules (check-abi-config): Use /thread instead of /tls when
+       use-thread and not just use-tls is set.
+
+       * Makerules (update-abi): Put quotes around $(update-abi-config).
+
+       * elf/Makefile (check-abi): Depend on check-abi-ld.
+       (update-abi): Depend on update-abi-ld.
+
 2003-03-26  GOTO Masanori  <gotom@debian.or.jp>
 
        * sysdeps/unix/sysv/linux/i386/setfsuid.c: Use INTERNAL_SYSCALL and
index 070bff1..d8eae55 100644 (file)
--- a/Makerules
+++ b/Makerules
@@ -1190,15 +1190,23 @@ define check-abi
        LC_ALL=C \
        $(AWK) -f $< -v 'config=$(check-abi-config)' \
               $(filter %.abilist,$^) \
-       | diff -pu0 - $(filter %.symlist,$^)
+       | { diff -pu0 - $(filter %.symlist,$^) $(check-abi-warn) ; }
 endef
+ifeq ($(enable-check-abi),warn)
+check-abi-warn = || echo '*** WARNING: $*.so failed ABI check'
+endif
 
 ifeq ($(firstword $(sysd-sorted-done) f)$(firstword $(generating) f),tf)
 -include $(common-objpfx)tls.make
-config-tls-yes := tls
-config-tls-no := notls
+config-tls := notls
+ifeq ($(use-tls),yes)
+config-tls := tls
+endif
+ifeq ($(use-thread),yes)
+config-tls := thread
+endif
 check-abi-config := \
-  $(config-machine)-$(config-vendor)-$(config-os)/$(config-tls-$(use-thread))
+  $(config-machine)-$(config-vendor)-$(config-os)/$(config-tls)
 endif
 
 update-abi-%: $(..)scripts/merge-abilist.awk $(..)abilist/%.abilist \
@@ -1213,7 +1221,7 @@ define update-abi
 endef
 else
 define update-abi
-LC_ALL=C $(AWK) -v config=$(update-abi-config) -f $^ \
+LC_ALL=C $(AWK) -v config='$(update-abi-config)' -f $^ \
         > $(..)abilist/$*.abilist.new
 @if cmp -s $(..)abilist/$*.abilist.new $(..)abilist/$*.abilist 2> /dev/null; \
  then rm -f $(..)abilist/$*.abilist.new; \
@@ -1241,11 +1249,13 @@ update-abi: update-abi-libc
 common-generated += libc.symlist
 endif
 
-ifeq ($(build-shared)$(enable-check-abi),yesyes)
+ifeq ($(build-shared),yes)
+ifneq ($(enable-check-abi),no)
 ifdef subdir
 tests: check-abi
 endif
 endif
+endif
 
 endif
 
@@ -1375,14 +1385,16 @@ ifdef objpfx
 .PHONY: stubs # The parent Makefile calls this target.
 stubs: $(objpfx)stubs
 endif
-s = $(sysdep_dir)/generic
 $(objpfx)stubs: $(+depfiles)
 # Use /dev/null since `...` might expand to empty.
-       (s=`cd $s && $(PWD_P)`; \
+       (s=`cd $(sysdep_dir) && $(PWD_P)`; \
         $(patsubst %/,cd % &&,$(objpfx)) \
         sed -n 's/^stub_warning *(\([^)]*\).*$$/#define __stub_\1/p' \
-         `sed -n -e '\@ $s/[^ ]*\.c@{; s@^.* $s/\([^ ]*\.c\).*$$@'"$$s"'/\1@; h; }' \
-               -e '/stub-tag\.h/{; g; p; }' \
+         `sed -n -e 's@$(sysdep_dir)/@'"$$s"'/@g' \
+                 -e 's@\$$(common-objpfx)@$(..)@g' -e 's@\$$(objpfx)@@g' \
+                 -e '/:  *[^ ]/{s@^.*: *\([^ ]*\) .*$$@\1@; h; }' \
+                 -e '/:$$/d' \
+                 -e '/stub-tag\.h/{; g; p; }' \
                  $(patsubst $(objpfx)%,%,$^) /dev/null` \
             /dev/null) > $@T
        mv -f $@T $@
index e4795ae..2105e6c 100755 (executable)
--- a/configure
+++ b/configure
@@ -851,7 +851,8 @@ Optional Features:
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
   --disable-sanity-checks really do not use threads (should not be used except
                           in special situations) [default=yes]
-  --disable-check-abi     omit "make check-abi" from "make check"
+  --enable-check-abi      do "make check-abi" in "make check" (no/warn/yes)
+                          [default=no]
   --enable-shared         build shared library [default=yes if GNU ld &
                           ELF]
   --enable-profile        build profiled library [default=yes]
@@ -1486,7 +1487,7 @@ if test "${enable_check_abi+set}" = set; then
   enableval="$enable_check_abi"
   enable_check_abi=$enableval
 else
-  enable_check_abi=yes
+  enable_check_abi=no
 fi;
 
 static=yes
@@ -5169,7 +5170,7 @@ if test "${libc_cv_asm_underscores+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5172 "configure"
+#line 5173 "configure"
 #include "confdefs.h"
 void underscore_test(void) {
 return; }
@@ -5495,7 +5496,7 @@ if test "${libc_cv_gcc_dwarf2_unwind_info+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat > conftest.c <<EOF
-#line 5498 "configure"
+#line 5499 "configure"
 static char *__EH_FRAME_BEGIN__;
 _start ()
 {
@@ -5595,7 +5596,7 @@ if test "${libc_cv_gcc_builtin_expect+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat > conftest.c <<EOF
-#line 5598 "configure"
+#line 5599 "configure"
 int foo (int a)
 {
   a = __builtin_expect (a, 10);
@@ -5663,7 +5664,7 @@ if test "${libc_cv_gcc_subtract_local_labels+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat > conftest.c <<EOF
-#line 5666 "configure"
+#line 5667 "configure"
 int foo (int a)
 {
   static const int ar[] = { &&l1 - &&l1, &&l2 - &&l1 };
index ee87699..1795a6a 100644 (file)
@@ -115,10 +115,11 @@ AC_ARG_ENABLE([sanity-checks],
 
 AC_SUBST(enable_check_abi)
 AC_ARG_ENABLE([check-abi],
-             AC_HELP_STRING([--disable-check-abi],
-                            [omit "make check-abi" from "make check"]),
+             AC_HELP_STRING([--enable-check-abi],
+                            [do "make check-abi" in "make check" (no/warn/yes)
+                             @<:@default=no@:>@]),
              [enable_check_abi=$enableval],
-             [enable_check_abi=yes])
+             [enable_check_abi=no])
 
 dnl Arguments to enable or disable building the static, shared, profiled,
 dnl and -fomit-frame-pointer libraries.
index 7c3f0f1..52732ae 100644 (file)
@@ -181,6 +181,9 @@ test-extras += $(modules-names)
 
 include ../Rules
 
+check-abi: check-abi-ld
+update-abi: update-abi-ld
+
 ifeq (yes,$(build-shared))
 # Make sure these things are built in the `make lib' pass so they can be used
 # to run programs during the `make others' pass.
index e5bab90..dad61e2 100644 (file)
@@ -45,14 +45,14 @@ setfsgid (gid_t gid)
   INTERNAL_SYSCALL_DECL (err);
 # if __ASSUME_32BITUIDS > 0
   /* No error checking. */
-  return INTERNAL_SYSCALL (setfsuid32, err, 1, uid);
+  return INTERNAL_SYSCALL (setfsgid32, err, 1, gid);
 # else
 #  ifdef __NR_setfsgid32
   if (__libc_missing_32bit_uids <= 0)
     {
       int result;
 
-      result = INTERNAL_SYSCALL (setfsuid32, err, 1, uid);
+      result = INTERNAL_SYSCALL (setfsgid32, err, 1, gid);
       if (! INTERNAL_SYSCALL_ERROR_P (result, err)
          || INTERNAL_SYSCALL_ERRNO (result, err) != ENOSYS)
        return result;
@@ -67,7 +67,7 @@ setfsgid (gid_t gid)
     }
 
   /* No error checking. */
-  return INTERNAL_SYSCALL (setfsuid, err, 1, uid);
+  return INTERNAL_SYSCALL (setfsgid, err, 1, gid);
 # endif
 }
 #endif
index 9d425c0..f3d66d6 100644 (file)
@@ -45,14 +45,14 @@ setfsuid (uid_t uid)
   INTERNAL_SYSCALL_DECL (err);
 # if  __ASSUME_32BITUIDS > 0
   /* No error checking. */
-  return INTERNAL_SYSCALL (setfsgid32, err, 1, gid);
+  return INTERNAL_SYSCALL (setfsuid32, err, 1, uid);
 # else
 #  ifdef __NR_setfsuid32
   if (__libc_missing_32bit_uids <= 0)
     {
       int result;
 
-      result = INTERNAL_SYSCALL (setfsgid32, err, 1, gid);
+      result = INTERNAL_SYSCALL (setfsuid32, err, 1, uid);
       if (! INTERNAL_SYSCALL_ERROR_P (result, err)
          || INTERNAL_SYSCALL_ERRNO (result, err) != ENOSYS)
        return result;
@@ -68,7 +68,7 @@ setfsuid (uid_t uid)
     }
 
   /* No error checking. */
-  return INTERNAL_SYSCALL (setfsgid, err, 1, gid);
+  return INTERNAL_SYSCALL (setfsuid, err, 1, uid);
 # endif
 }
 #endif
index f499db7..018add2 100644 (file)
@@ -77,15 +77,15 @@ wait4               -       wait4           i:iWiP  __wait4         wait4
 chown          -       chown           i:sii   __libc_chown    __chown chown
 fcntl          -       fcntl           Ci:iiF  __libc_fcntl    __fcntl fcntl
 
-setxattr       EXTRA   setxattr        i:sspii setxattr
-lsetxattr      EXTRA   lsetxattr       i:sspii lsetxattr
-fsetxattr      EXTRA   fsetxattr       i:ispii fsetxattr
-getxattr       EXTRA   getxattr        i:sspi  getxattr
-lgetxattr      EXTRA   lgetxattr       i:sspi  lgetxattr
-fgetxattr      EXTRA   fgetxattr       i:ispi  fgetxattr
-listxattr      EXTRA   listxattr       i:ssi   listxattr
-llistxattr     EXTRA   llistxattr      i:ssi   llistxattr
-flistxattr     EXTRA   flistxattr      i:isi   flistxattr
-removexattr    EXTRA   removexattr     i:ss    removexattr
-lremovexattr   EXTRA   lremovexattr    i:ss    lremovexattr
-fremovexattr   EXTRA   fremovexattr    i:is    fremovexattr
+setxattr       -       setxattr        i:sspii setxattr
+lsetxattr      -       lsetxattr       i:sspii lsetxattr
+fsetxattr      -       fsetxattr       i:ispii fsetxattr
+getxattr       -       getxattr        i:sspi  getxattr
+lgetxattr      -       lgetxattr       i:sspi  lgetxattr
+fgetxattr      -       fgetxattr       i:ispi  fgetxattr
+listxattr      -       listxattr       i:ssi   listxattr
+llistxattr     -       llistxattr      i:ssi   llistxattr
+flistxattr     -       flistxattr      i:isi   flistxattr
+removexattr    -       removexattr     i:ss    removexattr
+lremovexattr   -       lremovexattr    i:ss    lremovexattr
+fremovexattr   -       fremovexattr    i:is    fremovexattr