From f41159a486a6da9f0f9fe8a31cb5e45a6186650f02cf4d1e80a719fccbbaf69a Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Mon, 10 Dec 2012 16:16:01 +0000 Subject: [PATCH] Accepting request 144728 from Base:System Update to current git head. (forwarded request 144726 from a_jaeger) OBS-URL: https://build.opensuse.org/request/show/144728 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/glibc?expand=0&rev=130 --- glibc-2.16.90-56e7d3ad5c2f.tar.xz | 3 + glibc-2.16.90-f638872ab422.tar.xz | 3 - glibc-revert-fseek-on-fclose.diff | 198 ------------------------------ glibc.changes | 21 ++++ glibc.spec | 30 +---- 5 files changed, 29 insertions(+), 226 deletions(-) create mode 100644 glibc-2.16.90-56e7d3ad5c2f.tar.xz delete mode 100644 glibc-2.16.90-f638872ab422.tar.xz delete mode 100644 glibc-revert-fseek-on-fclose.diff diff --git a/glibc-2.16.90-56e7d3ad5c2f.tar.xz b/glibc-2.16.90-56e7d3ad5c2f.tar.xz new file mode 100644 index 0000000..220fd19 --- /dev/null +++ b/glibc-2.16.90-56e7d3ad5c2f.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3bbe236fe37232839b0232f826b4cbadd09d688cabc63530a6d124a9039d2378 +size 11132824 diff --git a/glibc-2.16.90-f638872ab422.tar.xz b/glibc-2.16.90-f638872ab422.tar.xz deleted file mode 100644 index 797110e..0000000 --- a/glibc-2.16.90-f638872ab422.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f470c705a84e326a17e07c600897bd7ad9a5a23a7a42c8c640cf7399a35f6390 -size 11157404 diff --git a/glibc-revert-fseek-on-fclose.diff b/glibc-revert-fseek-on-fclose.diff deleted file mode 100644 index a3113c4..0000000 --- a/glibc-revert-fseek-on-fclose.diff +++ /dev/null @@ -1,198 +0,0 @@ -This reverts the following patch from upstream PR 12724, -which can cause surprising changes in fclose behaviour when multiple -file handles refer to the same file (fclose on one changes file position -on the other). -See bnc #711829. - -git diff -R 'fcabc0f8b185f9e0a9289720be5ede6c39b3bf21^!' - -2011-05-13 Ulrich Drepper - - [BZ #12724] - * libio/fileops.c (_IO_new_file_close_it): Always flush when - currently writing and seek to current position when not. - * libio/Makefile (tests): Add bug-fclose1. - * libio/bug-fclose1.c: New file. - - 2011-05-12 Ulrich Drepper - - [BZ #12511] -Index: glibc-2.16.90/libio/Makefile -=================================================================== ---- glibc-2.16.90.orig/libio/Makefile -+++ glibc-2.16.90/libio/Makefile -@@ -59,7 +59,7 @@ tests = tst_swprintf tst_wprintf tst_sws - tst-memstream1 tst-memstream2 \ - tst-wmemstream1 tst-wmemstream2 \ - bug-memstream1 bug-wmemstream1 \ -- tst-setvbuf1 tst-popen1 tst-fgetwc bug-wsetpos bug-fclose1 tst-fseek \ -+ tst-setvbuf1 tst-popen1 tst-fgetwc bug-wsetpos tst-fseek \ - tst-fwrite-error - ifeq (yes,$(build-shared)) - # Add test-fopenloc only if shared library is enabled since it depends on -Index: glibc-2.16.90/libio/bug-fclose1.c -=================================================================== ---- glibc-2.16.90.orig/libio/bug-fclose1.c -+++ /dev/null -@@ -1,132 +0,0 @@ --// BZ #12724 -- --static void do_prepare (void); --#define PREPARE(argc, argv) do_prepare () --static int do_test (void); --#define TEST_FUNCTION do_test() --#include "../test-skeleton.c" -- -- --static int fd; -- -- --static void --do_prepare (void) --{ -- fd = create_temp_file ("bug-fclose1.", NULL); -- if (fd == -1) -- { -- printf ("cannot create temporary file: %m\n"); -- exit (1); -- } --} -- -- --static int --do_test (void) --{ -- static const char pattern[] = "hello world"; -- -- /* Prepare a seekable file. */ -- if (write (fd, pattern, sizeof pattern) != sizeof pattern) -- { -- printf ("cannot write pattern: %m\n"); -- return 1; -- } -- if (lseek (fd, 1, SEEK_SET) != 1) -- { -- printf ("cannot seek after write: %m\n"); -- return 1; -- } -- -- /* Create an output stream visiting the file; when it is closed, all -- other file descriptors visiting the file must see the new file -- position. */ -- int fd2 = dup (fd); -- if (fd2 < 0) -- { -- printf ("cannot duplicate descriptor for writing: %m\n"); -- return 1; -- } -- FILE *f = fdopen (fd2, "w"); -- if (f == NULL) -- { -- printf ("first fdopen failed: %m\n"); -- return 1; -- } -- if (fputc (pattern[1], f) != pattern[1]) -- { -- printf ("fputc failed: %m\n"); -- return 1; -- } -- if (fclose (f) != 0) -- { -- printf ("first fclose failed: %m\n"); -- return 1; -- } -- errno = 0; -- if (lseek (fd2, 0, SEEK_CUR) != -1) -- { -- printf ("lseek after fclose after write did not fail\n"); -- return 1; -- } -- if (errno != EBADF) -- { -- printf ("lseek after fclose after write did not fail with EBADF: %m\n"); -- return 1; -- } -- off_t o = lseek (fd, 0, SEEK_CUR); -- if (o != 2) -- { -- printf ("\ --lseek on original descriptor after first fclose returned %ld, expected 2\n", -- (long int) o); -- return 1; -- } -- -- /* Likewise for an input stream. */ -- fd2 = dup (fd); -- if (fd2 < 0) -- { -- printf ("cannot duplicate descriptor for reading: %m\n"); -- return 1; -- } -- f = fdopen (fd2, "r"); -- if (f == NULL) -- { -- printf ("second fdopen failed: %m\n"); -- return 1; -- } -- char c = fgetc (f); -- if (c != pattern[2]) -- { -- printf ("getc returned %c, expected %c\n", c, pattern[2]); -- return 1; -- } -- if (fclose (f) != 0) -- { -- printf ("second fclose failed: %m\n"); -- return 1; -- } -- errno = 0; -- if (lseek (fd2, 0, SEEK_CUR) != -1) -- { -- printf ("lseek after fclose after read did not fail\n"); -- return 1; -- } -- if (errno != EBADF) -- { -- printf ("lseek after fclose after read did not fail with EBADF: %m\n"); -- return 1; -- } -- o = lseek (fd, 0, SEEK_CUR); -- if (o != 3) -- { -- printf ("\ --lseek on original descriptor after second fclose returned %ld, expected 3\n", -- (long int) o); -- return 1; -- } -- -- return 0; --} -Index: glibc-2.16.90/libio/fileops.c -=================================================================== ---- glibc-2.16.90.orig/libio/fileops.c -+++ glibc-2.16.90/libio/fileops.c -@@ -155,21 +155,13 @@ int - _IO_new_file_close_it (fp) - _IO_FILE *fp; - { -+ int write_status; - if (!_IO_file_is_open (fp)) - return EOF; - -- int write_status; -- if (_IO_in_put_mode (fp)) -+ if ((fp->_flags & _IO_NO_WRITES) == 0 -+ && (fp->_flags & _IO_CURRENTLY_PUTTING) != 0) - write_status = _IO_do_flush (fp); -- else if (fp->_offset != _IO_pos_BAD && fp->_IO_read_base != NULL -- && !_IO_in_backup (fp)) -- { -- off64_t o = _IO_SEEKOFF (fp, 0, _IO_seek_cur, 0); -- if (o == WEOF) -- write_status = EOF; -- else -- write_status = _IO_SYSSEEK (fp, o, SEEK_SET) < 0 ? EOF : 0; -- } - else - write_status = 0; - diff --git a/glibc.changes b/glibc.changes index d1d64f0..62c338c 100644 --- a/glibc.changes +++ b/glibc.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Sat Dec 8 18:55:53 UTC 2012 - aj@suse.de + +- Update to 56e7d3ad5c2f: + * Bugfixes + * Fix warnings building glibc +- Remove upstreamed patch glibc-revert-fseek-on-fclose.diff + +------------------------------------------------------------------- +Mon Dec 3 15:45:08 UTC 2012 - aj@suse.de + +- Remove nosegneg i686 library, it's only used for a 32-bit Xen + hypervisor (not for a 32-bit guest running under 64-bit hypervisor), + and since the 32-bit Xen hypervisor is not part of openSUSE anymore, + it is unneeded (bnc#789607). + +------------------------------------------------------------------- +Mon Dec 3 14:47:22 UTC 2012 - schwab@suse.de + +- Suppress error message from systemctl in %post -n nscd (bnc#792333) + ------------------------------------------------------------------- Sat Dec 1 08:55:05 UTC 2012 - aj@suse.de diff --git a/glibc.spec b/glibc.spec index 3369737..27ea49a 100644 --- a/glibc.spec +++ b/glibc.spec @@ -123,7 +123,7 @@ Provides: ld-linux.so.3(GLIBC_2.4) Version: 2.16.90 Release: 0 %define glibc_major_version 2.16.90 -%define git_id f638872ab422 +%define git_id 56e7d3ad5c2f Url: http://www.gnu.org/software/libc/libc.html BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: glibc-%{version}-%{git_id}.tar.xz @@ -215,8 +215,7 @@ Patch102: glibc-2.4.90-no_NO.diff Patch103: glibc-2.4-china.diff ### Broken patches in glibc that we revert for now: -# PATCH-FIX-OPENSUSE revert seeking on fclose for now bnc#711829 matz@suse.de -Patch201: glibc-revert-fseek-on-fclose.diff +# None ### Network related patches # PATCH-FIX-OPENSUSE reload /etc/resolv.conf on change @@ -451,8 +450,6 @@ rm nscd/s-stamp %patch102 -p1 %patch103 -p1 -%patch201 -p1 - %patch300 -p1 %patch301 -p1 %patch302 -p1 @@ -559,11 +556,6 @@ add_ons=",libidn" %ifarch hppa BuildFlags="$BuildFlags -mpa-risc-1-1 -fstrict-aliasing" %endif -%ifarch i386 i486 i586 -# Add this to avoid performance penalty on Xen for 32-bit x86 -# Note on i686 we build a special library - BuildFlags="$BuildFlags -mno-tls-direct-seg-refs" -%endif # Add flags for all plattforms except AXP %ifnarch alpha BuildFlags="$BuildFlags -g" @@ -634,9 +626,6 @@ configure_and_build_glibc() { # Build base glibc # configure_and_build_glibc base "$BuildFlags" "$add_ons" -%ifarch i686 - configure_and_build_glibc nosegneg "$BuildFlags -mno-tls-direct-seg-refs" "$add_ons" -%endif %else # # Build POWER-optimized glibc @@ -785,10 +774,6 @@ do done cd .. } -# Install i686 glibc for Xen -%ifarch i686 -install_optimized_variant nosegneg i686/nosegneg "../.." -%endif # Install power-optimized glibc %if %{optimize_power} @@ -994,8 +979,8 @@ done %service_add_post nscd.service mkdir -p /var/run/nscd # Previously we had nscd.socket, remove it -test -x /usr/bin/systemctl && /usr/bin/systemctl stop nscd.socket || : -test -x /usr/bin/systemctl && /usr/bin/systemctl disable nscd.socket || : +test -x /usr/bin/systemctl && /usr/bin/systemctl stop nscd.socket 2>/dev/null || : +test -x /usr/bin/systemctl && /usr/bin/systemctl disable nscd.socket 2>/dev/null || : # Hard removal in case the above did not work rm -f /etc/systemd/system/sockets.target.wants/nscd.socket exit 0 @@ -1004,6 +989,7 @@ exit 0 %service_del_postun nscd.service exit 0 +%files ####################################################################### ### ### FILES @@ -1011,8 +997,6 @@ exit 0 ####################################################################### # glibc - -%files %defattr(-,root,root) %doc LICENSES %config(noreplace) /etc/bindresvport.blacklist @@ -1114,10 +1098,6 @@ exit 0 /%{_lib}/%1/libthread_db-1.0.so\ /%{_lib}/%1/libthread_db.so.1 -%ifarch i686 -%dir %attr(0755,root,root) /%{_lib}/i686 -%{optimized_libs i686/nosegneg} -%endif %if %{optimize_power} %if %{powerpc_optimize_cpu_power4} %{optimized_libs power4}