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
|
||||
|
||||
|
12
glibc.spec
12
glibc.spec
@ -122,7 +122,7 @@ Provides: ld-linux.so.3(GLIBC_2.4)
|
||||
Version: 2.16
|
||||
Release: 0
|
||||
%define glibc_major_version 2.16
|
||||
%define git_id a5cfcf08ffaa
|
||||
%define git_id c3b96f90c9c1
|
||||
%define glibc_ports_ver 2.16
|
||||
%define ports_git_id a20c2b3c87ae
|
||||
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
|
||||
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
|
||||
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)
|
||||
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
|
||||
Patch2008: glibc-ld-profile.patch
|
||||
|
||||
@ -502,14 +498,10 @@ rm nscd/s-stamp
|
||||
%patch20 -p1
|
||||
%endif
|
||||
%patch1001 -p1
|
||||
%patch1002 -p1
|
||||
%patch1021 -p1
|
||||
%patch1022 -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
|
||||
# %patch2008 -p1
|
||||
|
||||
@ -774,7 +766,7 @@ export SUSE_ASNEEDED=0
|
||||
%endif
|
||||
# This has to pass on all platforms!
|
||||
# Exceptions:
|
||||
# PowerPC32: _mcount
|
||||
# None!
|
||||
#%ifnarch ppc
|
||||
make %{?_smp_mflags} -C cc-base check-abi
|
||||
#%else
|
||||
|
Loading…
Reference in New Issue
Block a user