SHA256
1
0
forked from pool/glibc

Accepting request 139246 from home:a_jaeger:my-factory-packages

Update to current 2.16 git, drop some patches

OBS-URL: https://build.opensuse.org/request/show/139246
OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=223
This commit is contained in:
Marcus Meissner 2012-10-25 16:41:15 +00:00 committed by Git OBS Bridge
parent a7d7bf3a3f
commit 44fdba1e82
6 changed files with 14 additions and 253 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e578681e4f61512a8ff4b1e1f9918e1b641e09401fdf4940a61827977fbac75f
size 10145468

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:20d50dad9b65e8ed9936825f71a5cd6dc45f5cdefecd76290b4f744a1ed1e5f1
size 10145504

View File

@ -1,157 +0,0 @@
From schwab@linux-m68k.org Wed, 02 May 2012 17:13:26 +0200
Return-Path: <libc-alpha-return-28278-aj=suse.de@sourceware.org>
Received: from imap.suse.de ([unix socket])
by imap-int (Cyrus v2.2.12) with LMTPA;
Wed, 02 May 2012 17:13:51 +0200
X-Sieve: CMU Sieve 2.2
Received: from relay2.suse.de (relay2.suse.de [149.44.160.134])
(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
(Client CN "relay.suse.de", Issuer "CAcert Class 3 Root" (verified OK))
by imap.suse.de (Postfix) with ESMTPS id F17483C5339B
for <aj@imap.suse.de>; Wed, 2 May 2012 17:13:51 +0200 (CEST)
Received: by relay2.suse.de (Postfix)
id E8E6A18552B2; Wed, 2 May 2012 17:13:51 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
by relay2.suse.de (Postfix) with ESMTP id DD16818552B4
for <aj@suse.de>; Wed, 2 May 2012 17:13:51 +0200 (CEST)
Received: from relay2.suse.de ([127.0.0.1])
by localhost (localhost [127.0.0.1]) (amavisd-new, port 10026) with ESMTP
id 02496-01 for <aj@suse.de>; Wed, 2 May 2012 17:13:49 +0200 (CEST)
Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15])
(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
(No client certificate requested)
by relay2.suse.de (Postfix) with ESMTPS id DBBF518552B2
for <aj@suse.de>; Wed, 2 May 2012 17:13:49 +0200 (CEST)
Received: from sourceware.org (server1.sourceware.org [209.132.180.131])
by mx2.suse.de (Postfix) with SMTP id 47EFA90F2E
for <aj@suse.de>; Wed, 2 May 2012 17:13:48 +0200 (CEST)
Comment: DKIM? See http://www.dkim.org
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed;
d=sourceware.org; s=default; x=1336576429; h=Comment:
DomainKey-Signature:Received:Received:From:To:Cc:Subject:
References:Date:In-Reply-To:Message-ID:User-Agent:MIME-Version:
Content-Type:Mailing-List:Precedence:List-Id:List-Unsubscribe:
List-Subscribe:List-Archive:List-Post:List-Help:Sender:
Delivered-To; bh=0y95/HSsnyw1ABh4V7CAeeORO5U=; b=scLVxQl2KjsaCsA
HlTbKP4b4DlOrh0JbNdDKP3JDs40rI/X02fBsblbArg/QrsiZO9TtF6iehIuw+Sa
/d57G5/oKoaZwV46wT3pzH6BUuKDP+BH1ZMp+TMQRYn4C0Asq5wgY+DeEZhF41gK
f7wsOFVFEQouRtp3QC3k/eN3yUSY=
Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws;
s=default; d=sourceware.org;
h=Received:Received:X-SWARE-Spam-Status:X-Spam-Check-By:From:To:Cc:Subject:References:X-Yow:Date:In-Reply-To:Message-ID:User-Agent:MIME-Version:Content-Type:Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Subscribe:List-Archive:List-Post:List-Help:Sender:Delivered-To;
b=miVyTadt4ff79bxj8elDpRttJ/wxuYnbsl6ZvownzuoJh+HWi+P3S33l/J51gL
/k0F6BLmQ0KXBE9/F8Dxpl9sgt1gBlj440D8gh/jh5cPXeP98VBe0g8f13Rz4j/8
DiRjxjzQbo8WPJlpbeWWdk/pYQSELCdRi45cxnxRItt7o=;
Received: (qmail 23763 invoked by alias); 2 May 2012 15:13:43 -0000
Received: (qmail 23753 invoked by uid 22791); 2 May 2012 15:13:41 -0000
X-SWARE-Spam-Status: No, hits=-2.0 required=5.0
tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,TW_LW
X-Spam-Check-By: sourceware.org
From: Andreas Schwab <schwab@linux-m68k.org>
To: Alan Modra <amodra@gmail.com>
Cc: libc-alpha@sourceware.org
Subject: [PATCH v2] Fix missing _mcount@GLIBC_2.0 on powerpc32
References: <m24nryrjy1.fsf@igel.home>
<20120502113123.GC635@bubble.grove.modra.org>
X-Yow: I want to read my new poem about pork brains and outer space...
Date: Wed, 02 May 2012 17:13:26 +0200
In-Reply-To: <20120502113123.GC635@bubble.grove.modra.org> (Alan Modra's
message of "Wed, 2 May 2012 21:01:23 +0930")
Message-ID: <m2ipgepqeh.fsf_-_@igel.home>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.96 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm
Precedence: bulk
List-Id: <libc-alpha.sourceware.org>
List-Unsubscribe: <mailto:libc-alpha-unsubscribe-aj=suse.de@sourceware.org>
List-Subscribe: <mailto:libc-alpha-subscribe@sourceware.org>
List-Archive: <http://sourceware.org/ml/libc-alpha/>
List-Post: <mailto:libc-alpha@sourceware.org>
List-Help: <mailto:libc-alpha-help@sourceware.org>, <http://sourceware.org/ml/#faqs>
Sender: libc-alpha-owner@sourceware.org
Delivered-To: mailing list libc-alpha@sourceware.org
X-Virus-Scanned: by amavisd-new at localhost
X-Spam-Status: No, score=-7.599 tagged_above=-20 required=5
tests=[BAYES_00=-2.599, MY_LINUX=-1, RCVD_IN_DNSWL_MED=-4]
X-Spam-Score: -7.599
X-Spam-Level:
[BZ #14042]
* sysdeps/powerpc/powerpc32/ppc-mcount.S [SHARED]: Don't use PLT
for call to __mcount_internal.
* sysdeps/powerpc/powerpc32/Makefile (sysdep_routines)
(shared-only-routines) [$(subdir) = gmon]: Add compat-ppc-mcount.
* sysdeps/powerpc/powerpc32/compat-ppc-mcount.S: New file.
---
sysdeps/powerpc/powerpc32/Makefile | 3 ++-
sysdeps/powerpc/powerpc32/compat-ppc-mcount.S | 11 +++++++++++
sysdeps/powerpc/powerpc32/ppc-mcount.S | 6 +++++-
3 files changed, 18 insertions(+), 2 deletions(-)
create mode 100644 sysdeps/powerpc/powerpc32/compat-ppc-mcount.S
diff --git a/sysdeps/powerpc/powerpc32/Makefile b/sysdeps/powerpc/powerpc32/Makefile
index aa2d0b9..64f7900 100644
--- a/sysdeps/powerpc/powerpc32/Makefile
+++ b/sysdeps/powerpc/powerpc32/Makefile
@@ -6,8 +6,9 @@ sysdep-LDFLAGS += -msoft-float
endif
ifeq ($(subdir),gmon)
-sysdep_routines += ppc-mcount
+sysdep_routines += ppc-mcount compat-ppc-mcount
static-only-routines += ppc-mcount
+shared-only-routines += compat-ppc-mcount
endif
ifeq ($(subdir),misc)
diff --git a/sysdeps/powerpc/powerpc32/compat-ppc-mcount.S b/sysdeps/powerpc/powerpc32/compat-ppc-mcount.S
new file mode 100644
index 0000000..2a9cb24
--- /dev/null
+++ b/sysdeps/powerpc/powerpc32/compat-ppc-mcount.S
@@ -0,0 +1,11 @@
+#include <shlib-compat.h>
+
+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_15)
+
+ compat_text_section
+# define _mcount __compat_mcount
+# include "ppc-mcount.S"
+# undef _mcount
+
+compat_symbol (libc, __compat_mcount, _mcount, GLIBC_2_0)
+#endif
diff --git a/sysdeps/powerpc/powerpc32/ppc-mcount.S b/sysdeps/powerpc/powerpc32/ppc-mcount.S
index 9a3c041..911638b 100644
--- a/sysdeps/powerpc/powerpc32/ppc-mcount.S
+++ b/sysdeps/powerpc/powerpc32/ppc-mcount.S
@@ -1,5 +1,5 @@
/* PowerPC-specific implementation of profiling support.
- Copyright (C) 1997, 1999, 2005, 2006 Free Software Foundation, Inc.
+ Copyright (C) 1997-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -57,7 +57,11 @@ ENTRY(_mcount)
stw r4, 44(r1)
cfi_offset (lr, -4)
stw r5, 8(r1)
+#ifndef SHARED
bl JUMPTARGET(__mcount_internal)
+#else
+ bl __mcount_internal@local
+#endif
/* Restore the registers... */
lwz r6, 8(r1)
lwz r0, 44(r1)
--
1.7.10.1
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."

View File

@ -1,83 +0,0 @@
Index: glibc-2.15.90/elf/dl-close.c
===================================================================
--- glibc-2.15.90.orig/elf/dl-close.c
+++ glibc-2.15.90/elf/dl-close.c
@@ -179,24 +179,28 @@ _dl_close_worker (struct link_map *map)
/* Signal the object is still needed. */
l->l_idx = IDX_STILL_USED;
+#define mark_used(dmap) \
+ do { \
+ if ((dmap)->l_idx != IDX_STILL_USED) \
+ { \
+ assert ((dmap)->l_idx >= 0 && (dmap)->l_idx < nloaded); \
+ \
+ if (!used[(dmap)->l_idx]) \
+ { \
+ used[(dmap)->l_idx] = 1; \
+ if ((dmap)->l_idx - 1 < done_index) \
+ done_index = (dmap)->l_idx - 1; \
+ } \
+ } \
+ } while (0)
+
/* Mark all dependencies as used. */
if (l->l_initfini != NULL)
{
struct link_map **lp = &l->l_initfini[1];
while (*lp != NULL)
{
- if ((*lp)->l_idx != IDX_STILL_USED)
- {
- assert ((*lp)->l_idx >= 0 && (*lp)->l_idx < nloaded);
-
- if (!used[(*lp)->l_idx])
- {
- used[(*lp)->l_idx] = 1;
- if ((*lp)->l_idx - 1 < done_index)
- done_index = (*lp)->l_idx - 1;
- }
- }
-
+ mark_used(*lp);
++lp;
}
}
@@ -205,19 +209,25 @@ _dl_close_worker (struct link_map *map)
for (unsigned int j = 0; j < l->l_reldeps->act; ++j)
{
struct link_map *jmap = l->l_reldeps->list[j];
-
- if (jmap->l_idx != IDX_STILL_USED)
- {
- assert (jmap->l_idx >= 0 && jmap->l_idx < nloaded);
-
- if (!used[jmap->l_idx])
- {
- used[jmap->l_idx] = 1;
- if (jmap->l_idx - 1 < done_index)
- done_index = jmap->l_idx - 1;
- }
- }
+ mark_used(jmap);
}
+ /* And the same for owners of our scopes; normally, our last
+ scope provider would render us unused, but this can be
+ prevented by the NODELETE flag. */
+ if (__builtin_expect(l->l_type == lt_loaded
+ && (l->l_flags_1 & DF_1_NODELETE), 0))
+ for (size_t cnt = 0; l->l_scope[cnt] != NULL; ++cnt)
+ /* This relies on l_scope[] entries being always set either
+ to its own l_symbolic_searchlist address, or some map's
+ l_searchlist address. */
+ if (l->l_scope[cnt] != &l->l_symbolic_searchlist)
+ {
+ struct link_map *ls = (struct link_map *)
+ ((char *) l->l_scope[cnt]
+ - offsetof (struct link_map, l_searchlist));
+ assert (ls->l_ns == nsid);
+ mark_used(ls);
+ }
}
/* Sort the entries. */

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Thu Oct 25 07:30:04 UTC 2012 - aj@suse.de
- Update to glibc 2.16 c3b96f90c9c1:
- Fix missing _mcount@GLIBC_2.0 on powerpc32 (replaces
patch glibc-2.16-ppc32-mcount.patch)
- Drop patch glibc-elf-localscope.diff, fixed upstream in 2.16
in a different way.
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Oct 9 07:15:12 UTC 2012 - aj@suse.de Tue Oct 9 07:15:12 UTC 2012 - aj@suse.de

View File

@ -122,7 +122,7 @@ Provides: ld-linux.so.3(GLIBC_2.4)
Version: 2.16 Version: 2.16
Release: 0 Release: 0
%define glibc_major_version 2.16 %define glibc_major_version 2.16
%define git_id a5cfcf08ffaa %define git_id c3b96f90c9c1
%define glibc_ports_ver 2.16 %define glibc_ports_ver 2.16
%define ports_git_id a20c2b3c87ae %define ports_git_id a20c2b3c87ae
Url: http://www.gnu.org/software/libc/libc.html Url: http://www.gnu.org/software/libc/libc.html
@ -253,8 +253,6 @@ Patch402: nscd-avoid-gcc-warning.diff
### ###
# PATCH-FIX-UPSTREAM Fix malloc_usable_size swo#1349, bnc#745247 - aj@suse.de # PATCH-FIX-UPSTREAM Fix malloc_usable_size swo#1349, bnc#745247 - aj@suse.de
Patch1001: malloc-check-size.patch Patch1001: malloc-check-size.patch
# PATCH-FIX-UPSTREAM Fix mcount on PowerPC32 - aj@suse.de
Patch1002: glibc-2.16-ppc32-mcount.patch
# PATCH-FIX-UPSTREAM Fix dns buffer - aj@suse.de # PATCH-FIX-UPSTREAM Fix dns buffer - aj@suse.de
Patch1021: glibc-2.16-getaddrinfo-buffer.patch Patch1021: glibc-2.16-getaddrinfo-buffer.patch
@ -266,8 +264,6 @@ Patch1022: sparc-bind-now.patch
### ###
# PATCH-FIX-UPSTREAM Fix assertion error in res_query.c (bso#13013) # PATCH-FIX-UPSTREAM Fix assertion error in res_query.c (bso#13013)
Patch2001: glibc-resolv-assert.diff Patch2001: glibc-resolv-assert.diff
# PATCH-FIX-OPENSUSE bnc#657627, http://sourceware.org/bugzilla/show_bug.cgi?id=12561
Patch2005: glibc-elf-localscope.diff
# PATCH-FIX-OPENSUSE Fix LD_PROFILE (glibc bug#13818) - aj@suse.de # PATCH-FIX-OPENSUSE Fix LD_PROFILE (glibc bug#13818) - aj@suse.de
Patch2008: glibc-ld-profile.patch Patch2008: glibc-ld-profile.patch
@ -502,14 +498,10 @@ rm nscd/s-stamp
%patch20 -p1 %patch20 -p1
%endif %endif
%patch1001 -p1 %patch1001 -p1
%patch1002 -p1
%patch1021 -p1 %patch1021 -p1
%patch1022 -p1 %patch1022 -p1
%patch2001 -p1 %patch2001 -p1
# XXX: Does not pass testsuite, still there's no better solution yet
# XXX: Test elf/tst-dlmodcount.out fails with patch2005
%patch2005 -p1
# XXX Disable, it breaks the testsuite, test elf/tst-audit2 # XXX Disable, it breaks the testsuite, test elf/tst-audit2
# %patch2008 -p1 # %patch2008 -p1
@ -774,7 +766,7 @@ export SUSE_ASNEEDED=0
%endif %endif
# This has to pass on all platforms! # This has to pass on all platforms!
# Exceptions: # Exceptions:
# PowerPC32: _mcount # None!
#%ifnarch ppc #%ifnarch ppc
make %{?_smp_mflags} -C cc-base check-abi make %{?_smp_mflags} -C cc-base check-abi
#%else #%else