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:
parent
a7d7bf3a3f
commit
44fdba1e82
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:e578681e4f61512a8ff4b1e1f9918e1b641e09401fdf4940a61827977fbac75f
|
|
||||||
size 10145468
|
|
3
glibc-2.16-c3b96f90c9c1.tar.xz
Normal file
3
glibc-2.16-c3b96f90c9c1.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:20d50dad9b65e8ed9936825f71a5cd6dc45f5cdefecd76290b4f744a1ed1e5f1
|
||||||
|
size 10145504
|
@ -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."
|
|
||||||
|
|
@ -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. */
|
|
@ -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
|
||||||
|
|
||||||
|
12
glibc.spec
12
glibc.spec
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user