SHA256
3
0
forked from pool/glibc

Accepting request 73727 from home:a_jaeger:branches:openSUSE:Factory

Further fixes.

OBS-URL: https://build.opensuse.org/request/show/73727
OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=59
This commit is contained in:
Andreas Jaeger 2011-06-15 12:55:16 +00:00 committed by Git OBS Bridge
parent 1010119ebc
commit 7cc4d3d8d9
8 changed files with 222 additions and 192 deletions

View File

@ -1,49 +0,0 @@
Index: sysdeps/unix/sysv/linux/tcsetattr.c
===================================================================
--- sysdeps/unix/sysv/linux/tcsetattr.c.orig
+++ sysdeps/unix/sysv/linux/tcsetattr.c
@@ -49,6 +49,7 @@ tcsetattr (fd, optional_actions, termios
{
struct __kernel_termios k_termios;
unsigned long int cmd;
+ int retval;
switch (optional_actions)
{
@@ -80,6 +81,35 @@ tcsetattr (fd, optional_actions, termios
memcpy (&k_termios.c_cc[0], &termios_p->c_cc[0],
__KERNEL_NCCS * sizeof (cc_t));
- return INLINE_SYSCALL (ioctl, 3, fd, cmd, &k_termios);
+ retval = INLINE_SYSCALL (ioctl, 3, fd, cmd, &k_termios);
+
+ if (retval == 0 && cmd == TCSETS)
+ {
+ /* The Linux kernel has a bug which silently ignore the invalid
+ c_cflag on pty. We have to check it here. */
+ int save = errno;
+ retval = INLINE_SYSCALL (ioctl, 3, fd, TCGETS, &k_termios);
+ if (retval)
+ {
+ /* We cannot verify if the setting is ok. We don't return
+ an error (?). */
+ __set_errno (save);
+ retval = 0;
+ }
+ else if ((termios_p->c_cflag & (PARENB | CREAD))
+ != (k_termios.c_cflag & (PARENB | CREAD))
+ || ((termios_p->c_cflag & CSIZE)
+ && ((termios_p->c_cflag & CSIZE)
+ != (k_termios.c_cflag & CSIZE))))
+ {
+ /* It looks like the Linux kernel silently changed the
+ PARENB/CREAD/CSIZE bits in c_cflag. Report it as an
+ error. */
+ __set_errno (EINVAL);
+ retval = -1;
+ }
+ }
+
+ return retval;
}
libc_hidden_def (tcsetattr)

View File

@ -1,46 +0,0 @@
http://sources.redhat.com/bugzilla/show_bug.cgi?id=6693
Index: sysdeps/unix/sysv/linux/x86_64/clone.S
===================================================================
--- sysdeps/unix/sysv/linux/x86_64/clone.S.orig
+++ sysdeps/unix/sysv/linux/x86_64/clone.S
@@ -89,9 +89,6 @@ L(pseudo_end):
ret
L(thread_start):
- cfi_startproc;
- /* Clearing frame pointer is insufficient, use CFI. */
- cfi_undefined (rip);
/* Clear the frame pointer. The ABI suggests this be done, to mark
the outermost frame obviously. */
xorl %ebp, %ebp
@@ -116,7 +113,6 @@ L(thread_start):
/* Call exit with return value from function call. */
movq %rax, %rdi
call HIDDEN_JUMPTARGET (_exit)
- cfi_endproc;
cfi_startproc;
PSEUDO_END (BP_SYM (__clone))
Index: sysdeps/unix/sysv/linux/i386/clone.S
===================================================================
--- sysdeps/unix/sysv/linux/i386/clone.S.orig
+++ sysdeps/unix/sysv/linux/i386/clone.S
@@ -120,9 +120,6 @@ L(pseudo_end):
ret
L(thread_start):
- cfi_startproc;
- /* Clearing frame pointer is insufficient, use CFI. */
- cfi_undefined (eip);
/* Note: %esi is zero. */
movl %esi,%ebp /* terminate the stack frame */
#ifdef RESET_PID
@@ -155,7 +152,6 @@ L(nomoregetpid):
jmp L(haspid)
.previous
#endif
- cfi_endproc;
cfi_startproc
PSEUDO_END (BP_SYM (__clone))

View File

@ -1,20 +0,0 @@
Index: nptl/pthreadP.h
===================================================================
--- nptl/pthreadP.h.orig
+++ nptl/pthreadP.h
@@ -577,15 +577,4 @@ extern void __wait_lookup_done (void) at
# define PTHREAD_STATIC_FN_REQUIRE(name) __asm (".globl " #name);
#endif
-
-#ifndef __NR_set_robust_list
-/* XXX For the time being... Once we can rely on the kernel headers
- having the definition remove these lines. */
-# if defined __i386__
-# define __NR_set_robust_list 311
-# elif defined __x86_64__
-# define __NR_set_robust_list 273
-# endif
-#endif
-
#endif /* pthreadP.h */

View File

@ -0,0 +1,87 @@
Index: elf/Makefile
===================================================================
--- elf/Makefile.orig
+++ elf/Makefile
@@ -133,6 +133,7 @@ include ../Makeconfig
ifeq ($(unwind-find-fde),yes)
routines += unwind-dw2-fde-glibc
shared-only-routines += unwind-dw2-fde-glibc
+CFLAGS-unwind-dw2-fde-glibc.c = -fno-strict-aliasing
endif
before-compile = $(objpfx)trusted-dirs.h
Index: inet/Makefile
===================================================================
--- inet/Makefile.orig
+++ inet/Makefile
@@ -57,6 +57,8 @@ tests := htontest test_ifindex tst-ntoa
include ../Rules
+CFLAGS-tst-inet6_rth.c = -fno-strict-aliasing
+
ifeq ($(have-thread-library),yes)
CFLAGS-gethstbyad_r.c = -DUSE_NSCD=1 -fexceptions
Index: nis/Makefile
===================================================================
--- nis/Makefile.orig
+++ nis/Makefile
@@ -69,6 +69,8 @@ libnss_nisplus-inhibit-o = $(filter-out
include ../Rules
+CFLAGS-nis_findserv.c = -fno-strict-aliasing
+CFLAGS-ypclnt.c = -fno-strict-aliasing
$(objpfx)libnss_compat.so: $(objpfx)libnsl.so$(libnsl.so-version)
$(objpfx)libnss_nis.so: $(objpfx)libnsl.so$(libnsl.so-version) \
Index: nss/Makefile
===================================================================
--- nss/Makefile.orig
+++ nss/Makefile
@@ -75,6 +75,7 @@ endif
include ../Rules
+CFLAGS-files-hosts.c = -fno-strict-aliasing
ifeq (yes,$(build-static-nss))
$(objpfx)getent: $(objpfx)libnss_files.a
Index: resolv/Makefile
===================================================================
--- resolv/Makefile.orig
+++ resolv/Makefile
@@ -77,6 +77,7 @@ CPPFLAGS += -Dgethostbyname=res_gethostb
-Dgetnetbyaddr=res_getnetbyaddr
CFLAGS-res_hconf.c = -fexceptions
+CFLAGS-res_send.c = -fno-strict-aliasing
# The BIND code elicits some harmless warnings.
+cflags += -Wno-strict-prototypes -Wno-write-strings
Index: sunrpc/Makefile
===================================================================
--- sunrpc/Makefile.orig
+++ sunrpc/Makefile
@@ -152,6 +152,10 @@ CFLAGS-openchild.c = -fexceptions
CPPFLAGS += -D_RPC_THREAD_SAFE_
+CFLAGS-clnt_tcp.c = -fno-strict-aliasing
+CFLAGS-clnt_udp.c = -fno-strict-aliasing
+CFLAGS-clnt_unix.c = -fno-strict-aliasing
+
$(objpfx)tst-getmyaddr: $(common-objpfx)linkobj/libc.so
$(objpfx)tst-xdrmem: $(common-objpfx)linkobj/libc.so
$(objpfx)tst-xdrmem2: $(common-objpfx)linkobj/libc.so
Index: sysdeps/powerpc/powerpc64/elf/Makefile
===================================================================
--- sysdeps/powerpc/powerpc64/elf/Makefile.orig
+++ sysdeps/powerpc/powerpc64/elf/Makefile
@@ -9,3 +9,5 @@ CFLAGS-rtld-mempcpy.os = $(no-special-re
CFLAGS-rtld-memmove.os = $(no-special-regs)
CFLAGS-rtld-memchr.os = $(no-special-regs)
CFLAGS-rtld-strnlen.os = $(no-special-regs)
+
+CFLAGS-gmon-start.c = -fno-strict-aliasing

View File

@ -4,7 +4,12 @@ Wed Jun 15 07:08:35 UTC 2011 - aj@suse.de
- Split up package glibc-utils with some debugging tools, add memusage - Split up package glibc-utils with some debugging tools, add memusage
and memusagestat programs and memusagestat programs
- Fix compile warnings. - Fix compile warnings.
- Silent some rpmlint warnings. - Silence some rpmlint warnings.
- Remove obsolete patches glibc-2.3.2-revert_tcsetattr.diff,
glibc-2.8-clone.diff, glibc-nptl-2.4-nofixsyscallnr.diff
- Cleanup spec file.
- Use new permission handling for pt_chown.
- Build without -fno-strict-aliasing.
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Jun 6 14:19:26 UTC 2011 - aj@suse.de Mon Jun 6 14:19:26 UTC 2011 - aj@suse.de

View File

@ -2,3 +2,11 @@ addFilter(".*glibc-profile.* devel-file-in-non-devel-package.*/usr/lib.*/lib.*_p
addFilter(".*glibc.* incorrect-fsf-address") addFilter(".*glibc.* incorrect-fsf-address")
# False positive - glibc implements gethostbyname # False positive - glibc implements gethostbyname
addFilter(".*binary-or-shlib-calls-gethostbyname") addFilter(".*binary-or-shlib-calls-gethostbyname")
# We do need to keep the symtab (see comments in glibc.spec), so this is intented:
addFilter(".*unstripped-binary-or-object.*")
# The duplication is intented:
addFilter(".*files-duplicate /usr/lib64/libbsd-compat.a /usr/lib.*/libg.a")
# ld.so is special:
addFilter(".*shared-lib-without-dependency-information /lib.*/ld-2.*.so")
# Handled via glibc_post_upgrade:
addFilter(".*permissions-missing-postin missing %set_permissions /usr/.*pt_chown in %post")

View File

@ -15,13 +15,15 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/ # Please submit bugfixes or comments via http://bugs.opensuse.org/
# #
# norootforbuild
Name: glibc Name: glibc
BuildRequires: gcc-c++ libstdc++-devel BuildRequires: gcc-c++
BuildRequires: gd-devel
BuildRequires: libpng-devel
BuildRequires: libselinux-devel BuildRequires: libselinux-devel
BuildRequires: gd-devel libpng-devel zlib-devel BuildRequires: libstdc++-devel
BuildRequires: zlib-devel
%define _filter_GLIBC_PRIVATE 1 %define _filter_GLIBC_PRIVATE 1
%define build_locales 1 %define build_locales 1
%define run_testsuite 0 %define run_testsuite 0
@ -43,6 +45,9 @@ BuildRequires: gd-devel libpng-devel zlib-devel
%define powerpc_optimize_cpu_power7 0 %define powerpc_optimize_cpu_power7 0
%define powerpc_optimize_cpu_cell 0 %define powerpc_optimize_cpu_cell 0
%else %else
License: GPLv2+
Summary: Standard Shared Libraries (from the GNU C Library)
Group: System/Libraries
%define optimize_power 0 %define optimize_power 0
%define powerpc_optimize_base 0 %define powerpc_optimize_base 0
%define powerpc_optimize_cpu_power4 0 %define powerpc_optimize_cpu_power4 0
@ -50,18 +55,17 @@ BuildRequires: gd-devel libpng-devel zlib-devel
%define powerpc_optimize_cpu_power7 0 %define powerpc_optimize_cpu_power7 0
%define powerpc_optimize_cpu_cell 0 %define powerpc_optimize_cpu_cell 0
%endif # ppc, ppc64 %endif # ppc, ppc64
License: GPLv2+
Summary: Standard Shared Libraries (from the GNU C Library)
Group: System/Libraries
%ifarch %ix86 x86_64 %ifarch %ix86 x86_64
%define enablekernel 2.6.32 %define enablekernel 2.6.32
%else %else
%define enablekernel 2.6.5 %define enablekernel 2.6.5
%endif %endif
Conflicts: kernel < %{enablekernel}
%define exp_malloc 1 %define exp_malloc 1
Obsoletes: ngpt < 2.2.2 ngpt-devel < 2.2.2 Obsoletes: ngpt < 2.2.2
Provides: ngpt = 2.2.2 ngpt-devel = 2.2.2 Obsoletes: ngpt-devel < 2.2.2
Provides: ngpt = 2.2.2
Provides: ngpt-devel = 2.2.2
Conflicts: kernel < %{enablekernel}
# bug437293 # bug437293
%ifarch ppc64 %ifarch ppc64
Obsoletes: glibc-64bit Obsoletes: glibc-64bit
@ -69,13 +73,9 @@ Obsoletes: glibc-64bit
%ifarch ppc %ifarch ppc
Obsoletes: glibc-32bit Obsoletes: glibc-32bit
%endif %endif
Provides: rtld(GNU_HASH)
AutoReqProv: on
Version: 2.13 Version: 2.13
Release: 1 Release: 1
Url: http://www.gnu.org/software/libc/libc.html Url: http://www.gnu.org/software/libc/libc.html
PreReq: filesystem
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: glibc-%{version}-996cf2ef0727.tar.bz2 Source: glibc-%{version}-996cf2ef0727.tar.bz2
Source2: http://ftp.gnu.org/gnu/glibc/glibc-ports-2.13.tar.bz2 Source2: http://ftp.gnu.org/gnu/glibc/glibc-ports-2.13.tar.bz2
Source3: noversion.tar.bz2 Source3: noversion.tar.bz2
@ -87,68 +87,125 @@ Source10: bindresvport.blacklist
Source12: glibc_post_upgrade.c Source12: glibc_post_upgrade.c
Source15: glibc.rpmlintrc Source15: glibc.rpmlintrc
Source16: baselibs.conf Source16: baselibs.conf
PreReq: filesystem
PreReq: permissions
Provides: rtld(GNU_HASH)
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if %_target_cpu == "i686" %if %_target_cpu == "i686"
# We need to avoid to have only the src rpm from i686 on the media, # We need to avoid to have only the src rpm from i686 on the media,
# since it does not work on other architectures. # since it does not work on other architectures.
NoSource: 0 NoSource: 0
%endif %endif
# #
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch0: glibc-2.3-SuSE.diff Patch0: glibc-2.3-SuSE.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch1: glibc-2.3.90-noversion.diff Patch1: glibc-2.3.90-noversion.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch2: glibc-fnmatch-multibyte.diff Patch2: glibc-fnmatch-multibyte.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch3: glibc-resolv-reload.diff Patch3: glibc-resolv-reload.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch4: glibc-2.3.locales.diff.bz2 Patch4: glibc-2.3.locales.diff.bz2
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch5: crypt_blowfish-1.0-suse.diff Patch5: crypt_blowfish-1.0-suse.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch7: glibc-version.diff Patch7: glibc-version.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch8: glibc-2.4.90-revert-only-euro.diff Patch8: glibc-2.4.90-revert-only-euro.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch9: glibc-2.3-regcomp.diff Patch9: glibc-2.3-regcomp.diff
Patch10: glibc-2.3.2-revert_tcsetattr.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch11: glibc-2.3.1.localedef.diff Patch11: glibc-2.3.1.localedef.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch12: glibc-2.3.2.no_archive.diff Patch12: glibc-2.3.2.no_archive.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch13: libm-x86-64.diff.bz2 Patch13: libm-x86-64.diff.bz2
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch14: glibc-2.3.90-bindresvport.blacklist.diff Patch14: glibc-2.3.90-bindresvport.blacklist.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch15: glibc-suse-note.diff Patch15: glibc-suse-note.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch16: glibc-2.4.90-no_NO.diff Patch16: glibc-2.4.90-no_NO.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch17: glibc-2.3.90-ld.so-madvise.diff Patch17: glibc-2.3.90-ld.so-madvise.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch18: glibc-2.3.3-amd64-s_ceil.diff Patch18: glibc-2.3.3-amd64-s_ceil.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch20: glibc-2.4-china.diff Patch20: glibc-2.4-china.diff
# PATCH-FIX-OPENSUSE Fix gb18030 code bnc#54080
Patch21: glibc-2.3.4-gb18030-big5hkscs.diff.bz2 Patch21: glibc-2.3.4-gb18030-big5hkscs.diff.bz2
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch22: glibc-2.4.90-nscd.diff Patch22: glibc-2.4.90-nscd.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch23: glibc-2.3.3-nscd-db-path.diff Patch23: glibc-2.3.3-nscd-db-path.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch24: glibc-2.3.5-nscd-zeronegtimeout.diff Patch24: glibc-2.3.5-nscd-zeronegtimeout.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch25: glibc-2.3.90-langpackdir.diff Patch25: glibc-2.3.90-langpackdir.diff
Patch26: glibc-nptl-2.4-nofixsyscallnr.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch27: glibc-2.6-configure.diff Patch27: glibc-2.6-configure.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch28: glibc-2.2-sunrpc.diff Patch28: glibc-2.2-sunrpc.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch29: glibc-2.8-getconf.diff Patch29: glibc-2.8-getconf.diff
# PATCH-FIX-OPENSUSE only use ipv6 if real ipv6 address exists bnc#361697
Patch30: getaddrinfo-ipv6-sanity.diff Patch30: getaddrinfo-ipv6-sanity.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch31: ppc-atomic.diff Patch31: ppc-atomic.diff
Patch32: glibc-2.8-clone.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch33: glibc-compiled-binaries.diff Patch33: glibc-compiled-binaries.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch36: glibc-no-unwind-tables.diff Patch36: glibc-no-unwind-tables.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch37: glibc-2.10-nscd-nostack.diff Patch37: glibc-2.10-nscd-nostack.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch38: glibc-cpusetsize.diff Patch38: glibc-cpusetsize.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch39: glibc-2.10.99-ia64-include.diff Patch39: glibc-2.10.99-ia64-include.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch40: libm-x86-64-exceptions.diff Patch40: libm-x86-64-exceptions.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch41: glibc-uio-cell.diff Patch41: glibc-uio-cell.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch42: glibc-statfs64-ia64.diff Patch42: glibc-statfs64-ia64.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch43: missing-include-build-fix.diff Patch43: missing-include-build-fix.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch44: glibc-ppc64-vdso-time.diff Patch44: glibc-ppc64-vdso-time.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch45: glibc-gai-private4.diff Patch45: glibc-gai-private4.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch46: glibc-resolv-mdnshint.diff Patch46: glibc-resolv-mdnshint.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch47: glibc-nscd-hconf.diff Patch47: glibc-nscd-hconf.diff
Patch48: glibc-malloc-arena-max.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch49: glibc-fini-unwind.diff Patch48: glibc-malloc-arena-max.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch49: glibc-fini-unwind.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch50: glibc-gconvcache-s390.diff Patch50: glibc-gconvcache-s390.diff
Patch51: glibc-vfprintf-positional.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch52: glibc-elf-localscope.diff Patch51: glibc-vfprintf-positional.diff
Patch53: glibc-zarch-longlong.diff # FIX-OPENSUSE bnc#657627
Patch52: glibc-elf-localscope.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch53: glibc-zarch-longlong.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch54: glibc-disable-backward-memcpy.diff Patch54: glibc-disable-backward-memcpy.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch55: glibc-bso-12454.diff Patch55: glibc-bso-12454.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch56: glibc-static-memcpy.diff Patch56: glibc-static-memcpy.diff
# FIX-OPENSUSE compile some files with -fno-strict-aliasing
Patch58: glibc-strict-aliasing.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch500: ARM_glibc-2.10.1-local-eabi-wchar.diff Patch500: ARM_glibc-2.10.1-local-eabi-wchar.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch501: ARM_glibc-2.10.1-local-hwcap-updates.diff Patch501: ARM_glibc-2.10.1-local-hwcap-updates.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch502: ARM_glibc-2.10.1-local-lowlevellock.diff Patch502: ARM_glibc-2.10.1-local-lowlevellock.diff
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch503: ARM_glibc-2.10.1-local-no-hwcap.diff Patch503: ARM_glibc-2.10.1-local-no-hwcap.diff
%description %description
@ -157,40 +214,31 @@ by nearly all programs: the standard C library, the standard math
library, and the POSIX thread library. A system is not functional library, and the POSIX thread library. A system is not functional
without these libraries. without these libraries.
%package info %package info
License: GPLv2+ License: GPLv2+
Summary: Info Files for the GNU C Library Summary: Info Files for the GNU C Library
Group: Documentation/Other Group: Documentation/Other
PreReq: %{install_info_prereq} PreReq: %{install_info_prereq}
AutoReqProv: on
%description info %description info
This package contains the documentation for the GNU C library stored as This package contains the documentation for the GNU C library stored as
info files. Due to a lack of resources, this documentation is not info files. Due to a lack of resources, this documentation is not
complete and is partially out of date. complete and is partially out of date.
%package html %package html
License: GPLv2+ ; LGPLv2.1+ License: GPLv2+ ; LGPLv2.1+
Summary: HTML Documentation for the GNU C Library Summary: HTML Documentation for the GNU C Library
Group: Documentation/HTML Group: Documentation/HTML
AutoReqProv: on
%description html %description html
This package contains the HTML documentation for the GNU C library. Due This package contains the HTML documentation for the GNU C library. Due
to a lack of resources, this documentation is not complete and is to a lack of resources, this documentation is not complete and is
partially out of date. partially out of date.
%package i18ndata %package i18ndata
License: LGPLv2.1+ License: LGPLv2.1+
Summary: Database Sources for 'locale' Summary: Database Sources for 'locale'
Group: System/Libraries Group: System/Libraries
AutoReqProv: on
%description i18ndata %description i18ndata
This package contains the data needed to build the locale data files to This package contains the data needed to build the locale data files to
@ -198,15 +246,12 @@ use the internationalization features of the GNU libc. It is normally
not necessary to install this packages, the data files are already not necessary to install this packages, the data files are already
created. created.
%package locale %package locale
License: GPLv2+ ; LGPLv2.1+ License: GPLv2+ ; LGPLv2.1+
Summary: Locale Data for Localized Programs Summary: Locale Data for Localized Programs
Group: System/Libraries Group: System/Libraries
Requires: glibc = %{version}
PreReq: /bin/cat PreReq: /bin/cat
AutoReqProv: on Requires: glibc = %{version}
# bug437293 # bug437293
%ifarch ppc64 %ifarch ppc64
Obsoletes: glibc-locale-64bit Obsoletes: glibc-locale-64bit
@ -218,21 +263,18 @@ Obsoletes: glibc-locale-32bit
%description locale %description locale
Locale data for the internationalisation features of the GNU C library. Locale data for the internationalisation features of the GNU C library.
%package -n nscd %package -n nscd
License: LGPLv2.1+ License: LGPLv2.1+
Summary: Name Service Caching Daemon Summary: Name Service Caching Daemon
Group: System/Daemons Group: System/Daemons
Provides: glibc:/usr/sbin/nscd aaa_base:/etc/init.d/nscd Provides: aaa_base:/etc/init.d/nscd
Provides: glibc:/usr/sbin/nscd
PreReq: %insserv_prereq PreReq: %insserv_prereq
%description -n nscd %description -n nscd
Nscd caches name service lookups and can dramatically improve Nscd caches name service lookups and can dramatically improve
performance with NIS, NIS+, and LDAP. performance with NIS, NIS+, and LDAP.
%package profile %package profile
License: LGPLv2.1+ License: LGPLv2.1+
Summary: Libc Profiling and Debugging Versions Summary: Libc Profiling and Debugging Versions
@ -245,14 +287,11 @@ Obsoletes: glibc-profile-64bit
%ifarch ppc %ifarch ppc
Obsoletes: glibc-profile-32bit Obsoletes: glibc-profile-32bit
%endif %endif
AutoReqProv: on
%description profile %description profile
This package contains special versions of the GNU C library which are This package contains special versions of the GNU C library which are
necessary for profiling and debugging. necessary for profiling and debugging.
%package devel %package devel
License: BSD3c(or similar) ; GPLv2+ ; LGPLv2.1+ License: BSD3c(or similar) ; GPLv2+ ; LGPLv2.1+
Summary: Include Files and Libraries Mandatory for Development Summary: Include Files and Libraries Mandatory for Development
@ -268,7 +307,6 @@ Obsoletes: glibc-devel-32bit
%endif %endif
PreReq: /bin/rm PreReq: /bin/rm
Requires: glibc = %{version}, linux-kernel-headers Requires: glibc = %{version}, linux-kernel-headers
AutoReqProv: on
%description devel %description devel
These libraries are needed to develop programs which use the standard C These libraries are needed to develop programs which use the standard C
@ -276,9 +314,9 @@ library.
%package utils %package utils
License: BSD3c(or similar) ; GPLv2+ ; LGPLv2.1+ License: BSD3c(or similar) ; GPLv2+ ; LGPLv2.1+
Summary: Development utilities from GNU C library Summary: Development utilities from GNU C library
Group: Development/Languages/C and C++ Group: Development/Languages/C and C++
Requires: glibc = %{version}-%{release} Requires: glibc = %{version}
%description utils %description utils
The glibc-utils package contains memusage, a memory usage profiler, The glibc-utils package contains memusage, a memory usage profiler,
@ -287,14 +325,12 @@ which can be helpful during program debugging.
If you are unsure if you need this, don't install this package. If you are unsure if you need this, don't install this package.
%ifarch %ix86 %ifarch %ix86
%package obsolete %package obsolete
License: BSD3c(or similar) ; GPLv2+ ; LGPLv2.1+ License: BSD3c(or similar) ; GPLv2+ ; LGPLv2.1+
Summary: Obsolete Shared Libraries from the GNU C Library Summary: Obsolete Shared Libraries from the GNU C Library
Group: System/Libraries Group: System/Libraries
Requires: glibc = %{version} Requires: glibc = %{version}
AutoReqProv: on
%description obsolete %description obsolete
This package provides some old libraries from the GNU C Library which This package provides some old libraries from the GNU C Library which
@ -330,8 +366,6 @@ versions of your software.
%patch8 %patch8
# Seems not needed anymore # Seems not needed anymore
#%patch9 #%patch9
# Seems not needed anymore
#%patch10
%patch11 %patch11
%patch12 %patch12
%patch13 -E %patch13 -E
@ -353,14 +387,11 @@ touch -r nscd/nscd_stat.c nscd/s-stamp
touch -r nscd/s-stamp nscd/nscd_stat.c touch -r nscd/s-stamp nscd/nscd_stat.c
rm nscd/s-stamp rm nscd/s-stamp
%patch25 %patch25
%patch26
%patch27 %patch27
%patch28 %patch28
%patch29 %patch29
%patch30 %patch30
%patch31 %patch31
# Seems not needed anymore
#%patch32
%patch33 %patch33
%patch36 %patch36
%patch37 %patch37
@ -385,6 +416,7 @@ rm nscd/s-stamp
%patch54 -p1 %patch54 -p1
%patch55 -p1 %patch55 -p1
%patch56 -p1 %patch56 -p1
%patch58
%ifarch %arm armv5tel armv7l %ifarch %arm armv5tel armv7l
%patch500 %patch500
%patch501 %patch501
@ -432,7 +464,7 @@ echo "#define CVSDATE \"`date -r ChangeLog +%Y%m%d`\"" >> version.h
# #
# Default CFLAGS and Compiler # Default CFLAGS and Compiler
# #
BuildFlags="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE -fno-strict-aliasing" BuildFlags="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE"
BuildFlags="$(echo $BuildFlags | sed -e 's#-fstack-protector##' -e 's#-ffortify=[0-9]*##')" BuildFlags="$(echo $BuildFlags | sed -e 's#-fstack-protector##' -e 's#-ffortify=[0-9]*##')"
BuildCC="gcc" BuildCC="gcc"
BuildCCplus="g++" BuildCCplus="g++"
@ -567,7 +599,7 @@ make -C cc-base html
# #
# Build glibc_post_upgrade binary # Build glibc_post_upgrade binary
# #
$BuildCC -static -Os -g $RPM_SOURCE_DIR/glibc_post_upgrade.c -o glibc_post_upgrade \ $BuildCC -static $RPM_OPT_FLAGS -Os $RPM_SOURCE_DIR/glibc_post_upgrade.c -o glibc_post_upgrade \
-Lcc-base -Bcc-base/csu \ -Lcc-base -Bcc-base/csu \
'-DREMOVE_TLS_DIRS' '-DREMOVE_PPC_OPTIMIZE_POWER5' \ '-DREMOVE_TLS_DIRS' '-DREMOVE_PPC_OPTIMIZE_POWER5' \
%ifarch ppc ppc64 %ifarch ppc ppc64
@ -804,6 +836,9 @@ done
%clean %clean
rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_ROOT
# Note: glibc_post_upgrade does:
# %set_permissions %{_libdir}/pt_chown
# since we cannot do it in our own post section
%post -p %{_sbindir}/glibc_post_upgrade %post -p %{_sbindir}/glibc_post_upgrade
%postun -p /sbin/ldconfig %postun -p /sbin/ldconfig
@ -827,12 +862,16 @@ done
%post -n nscd %post -n nscd
%{insserv_force_if_yast nscd} %{insserv_force_if_yast nscd}
mkdir -p /var/run/nscd
%postun -n nscd %postun -n nscd
%restart_on_update nscd %restart_on_update nscd
%insserv_cleanup %insserv_cleanup
exit 0 exit 0
%verifyscript
%verify_permissions -e %{_libdir}/pt_chown
####################################################################### #######################################################################
### ###
### FILES ### FILES
@ -949,22 +988,22 @@ exit 0
%endif # optimize_power %endif # optimize_power
%dir %attr(0700,root,root) /var/cache/ldconfig %dir %attr(0700,root,root) /var/cache/ldconfig
/sbin/ldconfig /sbin/ldconfig
/usr/bin/gencat %{_bindir}/gencat
/usr/bin/getconf %{_bindir}/getconf
/usr/bin/getent %{_bindir}/getent
/usr/bin/iconv %{_bindir}/iconv
%attr(755,root,root) /usr/bin/ldd %attr(755,root,root) %{_bindir}/ldd
%ifarch %ix86 sparc sparcv9 %ifarch %ix86 sparc sparcv9
/usr/bin/lddlibc4 %{_bindir}/lddlibc4
%endif %endif
/usr/bin/locale %{_bindir}/locale
/usr/bin/localedef %{_bindir}/localedef
%attr(4755,root,root) %{_libdir}/pt_chown %verify(not mode caps) %attr(4755,root,root) %{_libdir}/pt_chown
%dir %attr(0755,root,root) %{_libdir}/getconf %dir %attr(0755,root,root) %{_libdir}/getconf
%{_libdir}/getconf/* %{_libdir}/getconf/*
%{_sbindir}/glibc_post_upgrade %{_sbindir}/glibc_post_upgrade
%{_sbindir}/rpcinfo %{_sbindir}/rpcinfo
/usr/sbin/iconvconfig %{_sbindir}/iconvconfig
%ifarch %ix86 %ifarch %ix86
%files obsolete %files obsolete
@ -990,9 +1029,9 @@ exit 0
%doc %{_mandir}/man1/rpcgen.1.gz %doc %{_mandir}/man1/rpcgen.1.gz
%doc %{_mandir}/man1/sprof.1.gz %doc %{_mandir}/man1/sprof.1.gz
%doc %{_mandir}/man3/* %doc %{_mandir}/man3/*
/usr/bin/catchsegv %{_bindir}/catchsegv
/usr/bin/rpcgen %{_bindir}/rpcgen
/usr/bin/sprof %{_bindir}/sprof
%{_prefix}/include/* %{_prefix}/include/*
%{_libdir}/*.o %{_libdir}/*.o
%{_libdir}/*.so %{_libdir}/*.so
@ -1039,8 +1078,8 @@ exit 0
%dir /etc/apparmor.d %dir /etc/apparmor.d
%config /etc/apparmor.d/usr.sbin.nscd %config /etc/apparmor.d/usr.sbin.nscd
%config /etc/init.d/nscd %config /etc/init.d/nscd
/usr/sbin/nscd %{_sbindir}/nscd
/usr/sbin/rcnscd %{_sbindir}/rcnscd
%dir %attr(0755,root,root) %ghost /var/run/nscd %dir %attr(0755,root,root) %ghost /var/run/nscd
%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/nscd.pid %attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/nscd.pid
%attr(0666,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/socket %attr(0666,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/socket
@ -1067,10 +1106,10 @@ exit 0
%defattr(-,root,root) %defattr(-,root,root)
/%{_lib}/libmemusage.so /%{_lib}/libmemusage.so
/%{_lib}/libpcprofile.so /%{_lib}/libpcprofile.so
%{_prefix}/bin/memusage %{_bindir}/memusage
%{_prefix}/bin/memusagestat %{_bindir}/memusagestat
%{_prefix}/bin/mtrace %{_bindir}/mtrace
%{_prefix}/bin/pcprofiledump %{_bindir}/pcprofiledump
%{_prefix}/bin/xtrace %{_bindir}/xtrace
%changelog %changelog

View File

@ -128,6 +128,12 @@ main (void)
"--nostdlib", GCONV_MODULES_DIR); "--nostdlib", GCONV_MODULES_DIR);
} }
/* Implement %set_permissions %{_libdir}/pt_chown. */
if (access ("/usr/bin/chkstat", X_OK) == 0)
verbose_exec (114, "/usr/bin/chkstat", "/usr/bin/chkstat",
"-n", "--set", "--system", "/usr/lib/pt_chown",
"/usr/lib64/pt_chown");
/* Check if telinit is available and the init fifo as well. */ /* Check if telinit is available and the init fifo as well. */
if (access ("/sbin/telinit", X_OK) || access ("/dev/initctl", F_OK)) if (access ("/sbin/telinit", X_OK) || access ("/dev/initctl", F_OK))
_exit (0); _exit (0);