Hello community,

here is the log from the commit of package glibc for openSUSE:Factory checked 
in at 2013-08-01 17:33:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/glibc (Old)
 and      /work/SRC/openSUSE:Factory/.glibc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "glibc"

Changes:
--------
--- /work/SRC/openSUSE:Factory/glibc/glibc-testsuite.changes    2013-07-23 
20:30:55.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.glibc.new/glibc-testsuite.changes       
2013-08-01 17:33:59.000000000 +0200
@@ -1,0 +2,9 @@
+Wed Jul 31 12:20:38 UTC 2013 - sch...@suse.de
+
+- i686-strcasecmp-fallback.patch: fix fallback in i686
+  strcasecmp/strncasecmp
+- nonascii-case.patch: also test strncasecmp
+- pldd-wait-ptrace-stop.patch: fix pldd not to leave process stopped after
+  detaching (bnc#819383)
+
+-------------------------------------------------------------------
glibc-utils.changes: same change
glibc.changes: same change

New:
----
  i686-strcasecmp-fallback.patch
  pldd-wait-ptrace-stop.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ glibc-testsuite.spec ++++++
--- /var/tmp/diff_new_pack.iqt18o/_old  2013-08-01 17:34:00.000000000 +0200
+++ /var/tmp/diff_new_pack.iqt18o/_new  2013-08-01 17:34:00.000000000 +0200
@@ -277,6 +277,10 @@
 Patch2016:      aarch64-sigsetjmp.patch
 # PATCH-FIX-UPSTREAM Fix strcasecmp for tr_TR.ISO-8859-9
 Patch2017:      nonascii-case.patch
+# PATCH-FIX-UPSTREAM Fix fallback in i686 strcasecmp/strncasecmp
+Patch2018:      i686-strcasecmp-fallback.patch
+# PATCH-FIX-UPSTREAM Fix pldd not to leave process stopped after detaching
+Patch2019:      pldd-wait-ptrace-stop.patch
 
 # Non-glibc patches
 # PATCH-FIX-OPENSUSE Remove debianisms from manpages
@@ -496,6 +500,8 @@
 %patch2015 -p1
 %patch2016 -p1
 %patch2017 -p1
+%patch2018 -p1
+%patch2019 -p1
 
 %patch3000
 

glibc-utils.spec: same change
++++++ glibc.spec ++++++
--- /var/tmp/diff_new_pack.iqt18o/_old  2013-08-01 17:34:00.000000000 +0200
+++ /var/tmp/diff_new_pack.iqt18o/_new  2013-08-01 17:34:00.000000000 +0200
@@ -277,6 +277,10 @@
 Patch2016:      aarch64-sigsetjmp.patch
 # PATCH-FIX-UPSTREAM Fix strcasecmp for tr_TR.ISO-8859-9
 Patch2017:      nonascii-case.patch
+# PATCH-FIX-UPSTREAM Fix fallback in i686 strcasecmp/strncasecmp
+Patch2018:      i686-strcasecmp-fallback.patch
+# PATCH-FIX-UPSTREAM Fix pldd not to leave process stopped after detaching
+Patch2019:      pldd-wait-ptrace-stop.patch
 
 # Non-glibc patches
 # PATCH-FIX-OPENSUSE Remove debianisms from manpages
@@ -496,6 +500,8 @@
 %patch2015 -p1
 %patch2016 -p1
 %patch2017 -p1
+%patch2018 -p1
+%patch2019 -p1
 
 %patch3000
 


++++++ i686-strcasecmp-fallback.patch ++++++
        * sysdeps/i386/i686/multiarch/strcmp-sse4.S (__strcasecmp_sse4_2)
        (__strncasecmp_sse4_2) [PIC]: Restore %ebx before falling through
        to __strcasecmp_nonascii and __strncasecmp_nonascii.
        * sysdeps/i386/i686/multiarch/strcmp-ssse3.S (__strcasecmp_ssse3)
        (__strncasecmp_ssse3) [PIC]: Likewise.

Index: glibc-2.17/sysdeps/i386/i686/multiarch/strcmp-sse4.S
===================================================================
--- glibc-2.17.orig/sysdeps/i386/i686/multiarch/strcmp-sse4.S
+++ glibc-2.17/sysdeps/i386/i686/multiarch/strcmp-sse4.S
@@ -121,8 +121,14 @@ ENTRY (__strcasecmp_sse4_2)
        movl    (%eax), %eax
 # endif
        testl   $1, 
LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%eax)
+# ifdef PIC
+       je      L(ascii)
+       POP     (%ebx)
+       jmp     __strcasecmp_nonascii
+# else
        jne     __strcasecmp_nonascii
        jmp     L(ascii)
+# endif
 END (__strcasecmp_sse4_2)
 #endif
 
@@ -152,8 +158,14 @@ ENTRY (__strncasecmp_sse4_2)
        movl    (%eax), %eax
 # endif
        testl   $1, 
LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%eax)
+# ifdef PIC
+       je      L(ascii)
+       POP     (%ebx)
+       jmp     __strncasecmp_nonascii
+# else
        jne     __strncasecmp_nonascii
        jmp     L(ascii)
+# endif
 END (__strncasecmp_sse4_2)
 #endif
 
Index: glibc-2.17/sysdeps/i386/i686/multiarch/strcmp-ssse3.S
===================================================================
--- glibc-2.17.orig/sysdeps/i386/i686/multiarch/strcmp-ssse3.S
+++ glibc-2.17/sysdeps/i386/i686/multiarch/strcmp-ssse3.S
@@ -138,8 +138,14 @@ ENTRY (__strcasecmp_ssse3)
        movl    (%eax), %eax
 # endif
        testl   $1, 
LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%eax)
+# ifdef PIC
+       je      L(ascii)
+       POP     (%ebx)
+       jmp     __strcasecmp_nonascii
+# else
        jne     __strcasecmp_nonascii
        jmp     L(ascii)
+# endif
 END (__strcasecmp_ssse3)
 #endif
 
@@ -169,8 +175,14 @@ ENTRY (__strncasecmp_ssse3)
        movl    (%eax), %eax
 # endif
        testl   $1, 
LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%eax)
+# ifdef PIC
+       je      L(ascii)
+       POP     (%ebx)
+       jmp     __strncasecmp_nonascii
+# else
        jne     __strncasecmp_nonascii
        jmp     L(ascii)
+# endif
 END (__strncasecmp_ssse3)
 #endif
 
++++++ nonascii-case.patch ++++++
--- /var/tmp/diff_new_pack.iqt18o/_old  2013-08-01 17:34:01.000000000 +0200
+++ /var/tmp/diff_new_pack.iqt18o/_new  2013-08-01 17:34:01.000000000 +0200
@@ -1,9 +1,10 @@
        [BZ #15736]
        * locale/categories.def (LC_CTYPE): Add "nonascii-case" element.
-       * string/Makefile (test-strcasecmp-ENV)
-       (test-strcasecmp-ifunc-ENV): Define.
+       * string/Makefile (test-strcasecmp-ENV, test-strncasecmp-ENV)
+       (test-strcasecmp-ifunc-ENV, test-strncasecmp-ifunc-ENV): Define.
        * string/test-strcasecmp.c (test_main): Run tests in several
        locales.
+       * string/test-strncasecmp.c (test_main): Likewise.
 
 Index: glibc-2.17/locale/categories.def
 ===================================================================
@@ -21,12 +22,14 @@
 ===================================================================
 --- glibc-2.17.orig/string/Makefile
 +++ glibc-2.17/string/Makefile
-@@ -69,6 +69,8 @@ noinl-tester-ENV = LANGUAGE=C
+@@ -69,6 +69,10 @@ noinl-tester-ENV = LANGUAGE=C
  tst-strxfrm-ENV = LOCPATH=$(common-objpfx)localedata
  tst-strxfrm2-ENV = LOCPATH=$(common-objpfx)localedata
  bug-strcoll1-ENV = LOCPATH=$(common-objpfx)localedata
 +test-strcasecmp-ENV = LOCPATH=$(common-objpfx)localedata
++test-strncasecmp-ENV = LOCPATH=$(common-objpfx)localedata
 +test-strcasecmp-ifunc-ENV = LOCPATH=$(common-objpfx)localedata
++test-strncasecmp-ifunc-ENV = LOCPATH=$(common-objpfx)localedata
  CFLAGS-inl-tester.c = -fno-builtin
  CFLAGS-noinl-tester.c = -fno-builtin
  CFLAGS-tst-strlen.c = -fno-builtin
@@ -69,6 +72,64 @@
      }
  
    do_random_tests ();
++}
++
++int
++test_main (void)
++{
++  test_init ();
++
++  test_locale ("C");
++  test_locale ("en_US.ISO-8859-1");
++  test_locale ("en_US.UTF-8");
++  test_locale ("tr_TR.ISO-8859-9");
++  test_locale ("tr_TR.UTF-8");
++
+   return ret;
+ }
+ 
+Index: glibc-2.17/string/test-strncasecmp.c
+===================================================================
+--- glibc-2.17.orig/string/test-strncasecmp.c
++++ glibc-2.17/string/test-strncasecmp.c
+@@ -17,6 +17,7 @@
+    License along with the GNU C Library; if not, see
+    <http://www.gnu.org/licenses/>.  */
+ 
++#include <locale.h>
+ #include <ctype.h>
+ #define TEST_MAIN
+ #define TEST_NAME "strncasecmp"
+@@ -280,17 +281,21 @@ bz14195 (void)
+     check_result (impl, empty_string, "", 5, 0);
+ }
+ 
+-int
+-test_main (void)
++static void
++test_locale (const char *locale)
+ {
+   size_t i;
+ 
+-  test_init ();
++  if (setlocale (LC_CTYPE, locale) == NULL)
++    {
++      error (0, 0, "cannot set locale \"%s\"", locale);
++      ret = 1;
++    }
+ 
+   bz12205 ();
+   bz14195 ();
+ 
+-  printf ("%23s", "");
++  printf ("%23s", locale);
+   FOR_EACH_IMPL (impl, 0)
+     printf ("\t%s", impl->name);
+   putchar ('\n');
+@@ -353,6 +358,19 @@ test_main (void)
+     }
+ 
+   do_random_tests ();
 +}
 +
 +int

++++++ pldd-wait-ptrace-stop.patch ++++++
2013-07-31  Andreas Schwab  <sch...@suse.de>

        * elf/pldd.c (wait_for_ptrace_stop): New function.
        (main): Call it after attaching.

Index: glibc-2.17/elf/pldd.c
===================================================================
--- glibc-2.17.orig/elf/pldd.c
+++ glibc-2.17/elf/pldd.c
@@ -34,6 +34,7 @@
 #include <unistd.h>
 #include <sys/ptrace.h>
 #include <sys/stat.h>
+#include <sys/wait.h>
 
 #include <ldsodefs.h>
 #include <version.h>
@@ -85,6 +86,7 @@ static char *exe;
 
 /* Local functions.  */
 static int get_process_info (int dfd, long int pid);
+static void wait_for_ptrace_stop (long int pid);
 
 
 int
@@ -173,6 +175,8 @@ main (int argc, char *argv[])
                 tid);
        }
 
+      wait_for_ptrace_stop (tid);
+
       struct thread_list *newp = alloca (sizeof (*newp));
       newp->tid = tid;
       newp->next = thread_list;
@@ -197,6 +201,24 @@ main (int argc, char *argv[])
 }
 
 
+/* Wait for PID to enter ptrace-stop state after being attached.  */
+static void
+wait_for_ptrace_stop (long int pid)
+{
+  int status;
+
+  /* While waiting for SIGSTOP being delivered to the tracee we have to
+     reinject any other pending signal.  Ignore all other errors.  */
+  while (waitpid (pid, &status, __WALL) == pid && WIFSTOPPED (status))
+    {
+      /* The STOP signal should not be delivered to the tracee.  */
+      if (WSTOPSIG (status) == SIGSTOP)
+       return;
+      ptrace (PTRACE_CONT, pid, NULL, (void *) (uintptr_t) WSTOPSIG (status));
+    }
+}
+
+
 /* Handle program arguments.  */
 static error_t
 parse_opt (int key, char *arg, struct argp_state *state)
-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to