This commit is contained in:
parent
6c9379761a
commit
973e01c990
@ -1,3 +1,8 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 21 14:24:22 CEST 2008 - olh@suse.de
|
||||
|
||||
- handle older binutils versions in elf32ppclinux.xBDT (bnc#436451 - LTC49076)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 27 18:33:12 CEST 2008 - olh@suse.de
|
||||
|
||||
|
61
libhugetlbfs.linkerscript.patch
Normal file
61
libhugetlbfs.linkerscript.patch
Normal file
@ -0,0 +1,61 @@
|
||||
ADAM G. LITKE <agl@us.ibm.com> -
|
||||
Libhugetlbfs ships a set of linker scripts which can be used to enable ELF
|
||||
segment remapping into huge pages. These linker scripts
|
||||
no longer work with the version of binutils shipped with SLES11.
|
||||
|
||||
This has been a known problem. Linker scripts are essentially tied to specific
|
||||
versions of binutils but libhugetlbfs only ships a single
|
||||
set. To avoid maintaining and shipping an ever-growing number of linker
|
||||
scripts, a new method of linking binaries for use with huge
|
||||
pages was developed in libhugetlbfs-2.0. Unfortunately, some customers will
|
||||
likely continue to use the old method of linking
|
||||
binaries (with the shipped linker scripts) and will experience problems. The
|
||||
solution to this problem is either to fix the linker scripts
|
||||
for SLES11 by supplying a distro-specific patch, or strip out the deprecated
|
||||
linker scripts so they cannot be used at all. I would prefer
|
||||
to fix the linker scripts (if possible) to allow customers more time to switch
|
||||
to the new linking method.
|
||||
|
||||
Fix for ppc32 BDT script
|
||||
|
||||
The only linker script that is known to have problems is the script used to
|
||||
place text, data, and bss into huge pages on 32bit
|
||||
PowerPC. The attached patch fixes the issue by adding the 'SPECIAL' notation
|
||||
to the .plt and .got sections which is required for
|
||||
correct functioning of the dynamic linker.
|
||||
|
||||
|
||||
---
|
||||
ldscripts/elf32ppclinux.xBDT | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/ldscripts/elf32ppclinux.xBDT
|
||||
+++ b/ldscripts/elf32ppclinux.xBDT
|
||||
@@ -163,8 +163,9 @@ SECTIONS
|
||||
.got1 : { *(.got1) } :hdata
|
||||
.got2 : { *(.got2) } :hdata
|
||||
.dynamic : { *(.dynamic) } :dynamic :hdata
|
||||
- .got : { *(.got.plt .got) } :hdata
|
||||
+ .got : SPECIAL { *(.got) } :hdata
|
||||
/* . = DATA_SEGMENT_RELRO_END (0, .); */
|
||||
+ .plt : SPECIAL { *(.plt) } :hdata
|
||||
.data :
|
||||
{
|
||||
*(.data .data.* .gnu.linkonce.d.*)
|
||||
@@ -172,6 +173,7 @@ SECTIONS
|
||||
SORT(CONSTRUCTORS)
|
||||
} :hdata
|
||||
.data1 : { *(.data1) } :hdata
|
||||
+ .got : SPECIAL { *(.got) } :hdata
|
||||
/* We want the small data sections together, so single-instruction offsets
|
||||
can access them all, and initialized data all before uninitialized, so
|
||||
we can shorten the on-disk segment size. */
|
||||
@@ -190,7 +192,7 @@ SECTIONS
|
||||
*(.scommon)
|
||||
PROVIDE (__sbss_end = .); PROVIDE (___sbss_end = .);
|
||||
} :hdata
|
||||
- .plt : { *(.plt) } :hdata
|
||||
+ .plt : SPECIAL { *(.plt) } :hdata
|
||||
.bss :
|
||||
{
|
||||
*(.dynbss)
|
@ -24,7 +24,7 @@ License: LGPL v2.1 or later
|
||||
Group: Development/Libraries/Other
|
||||
Summary: hugetlbfs helper library
|
||||
Version: 2.0
|
||||
Release: 1
|
||||
Release: 7
|
||||
Url: http://libhugetlbfs.sourceforge.net/
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%define my_make_flags V=1 CFLAGS="$RPM_OPT_FLAGS -g -fPIC" BUILDTYPE=NATIVEONLY PREFIX=/usr LIBDIR32=%{_libdir} DESTDIR=$RPM_BUILD_ROOT
|
||||
@ -33,6 +33,7 @@ Patch0: libhugetlbfs.install-header.patch
|
||||
Patch1: libhugetlbfs.ia64-libdir.patch
|
||||
Patch2: libhugetlbfs.s390.patch
|
||||
Patch3: libhugetlbfs.tests-malloc.patch
|
||||
Patch4: libhugetlbfs.linkerscript.patch
|
||||
|
||||
%description
|
||||
libhugetlbfs interacts with the Linux hugetlbfs to make large pages
|
||||
@ -51,6 +52,7 @@ Authors:
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
|
||||
%build
|
||||
make %{my_make_flags} libs $tests
|
||||
@ -77,6 +79,8 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%{_libdir}/lib*
|
||||
|
||||
%changelog
|
||||
* Tue Oct 21 2008 olh@suse.de
|
||||
- handle older binutils versions in elf32ppclinux.xBDT (bnc#436451 - LTC49076)
|
||||
* Wed Aug 27 2008 olh@suse.de
|
||||
- update to version 2.0 (fate#304340)
|
||||
New Features
|
||||
|
Loading…
x
Reference in New Issue
Block a user