Message ID | 1415301783-5342-4-git-send-email-gary.robertson@linaro.org |
---|---|
State | New |
Headers | show |
As per the other patches sent in this series, please ignore for now... looks like it may be better to update the version of libhugetlbfs used in the recipe after these patches are accepted there. On Thu, Nov 6, 2014 at 1:23 PM, Gary S. Robertson <gary.robertson@linaro.org > wrote: > From: "Gary S. Robertson" <gary.robertson@linaro.org> > > Fixed computation of page size and text segment offset for various arm > architectures - including both LE and BE variants of armv7 as well as > aarch64 > > Signed-off-by: Gary S. Robertson <gary.robertson@linaro.org> > --- > ...rch64-fix-page-size-not-properly-computed.patch | 32 ----------- > ...s-arm-arches-fix-page-size-and-text-offse.patch | 57 > ++++++++++++++++++++ > .../libhugetlbfs/libhugetlbfs_git.bb | 1 + > 3 files changed, 58 insertions(+), 32 deletions(-) > delete mode 100644 > meta-oe/recipes-benchmark/libhugetlbfs/files/0001-aarch64-fix-page-size-not-properly-computed.patch > create mode 100644 > meta-oe/recipes-benchmark/libhugetlbfs/files/0001-ld.hugetlbfs-arm-arches-fix-page-size-and-text-offse.patch > > diff --git > a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-aarch64-fix-page-size-not-properly-computed.patch > b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-aarch64-fix-page-size-not-properly-computed.patch > deleted file mode 100644 > index da60ba0..0000000 > --- > a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-aarch64-fix-page-size-not-properly-computed.patch > +++ /dev/null > @@ -1,32 +0,0 @@ > -Subject: [PATCH] aarch64: fix page size not properly computed > - > -There's 2 issues fixed: > -* typo on MB variable (MB -> $MB) > -* some linker variants are missing (linux and big endian) > - - aarch64elfb > - - aarch64linux > - - aarch64linuxb > - > -Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org> > - > -Upstream-Status: Submitted > ---- > - ld.hugetlbfs | 2 +- > - 1 file changed, 1 insertion(+), 1 deletion(-) > - > -diff --git a/ld.hugetlbfs b/ld.hugetlbfs > -index df446dd..6553547 100755 > ---- a/ld.hugetlbfs > -+++ b/ld.hugetlbfs > -@@ -87,7 +87,7 @@ elf32ppclinux|elf64ppc) HPAGE_SIZE=$((16*$MB)) > SLICE_SIZE=$((256*$MB)) ;; > - elf64lppc) HPAGE_SIZE=$((16*$MB)) SLICE_SIZE=$((256*$MB)) ;; > - elf_i386|elf_x86_64) HPAGE_SIZE=$((4*$MB)) SLICE_SIZE=$HPAGE_SIZE ;; > - elf_s390|elf64_s390) HPAGE_SIZE=$((1*$MB)) SLICE_SIZE=$HPAGE_SIZE ;; > --armelf_linux_eabi|aarch64elf) HPAGE_SIZE=$((2*MB)) > SLICE_SIZE=$HPAGE_SIZE ;; > -+armelf_linux_eabi|aarch64elf*|aarch64linux*) HPAGE_SIZE=$((2*$MB)) > SLICE_SIZE=$HPAGE_SIZE ;; > - esac > - > - if [ "$HTLB_ALIGN" == "slice" ]; then > --- > -1.9.2 > - > diff --git > a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-ld.hugetlbfs-arm-arches-fix-page-size-and-text-offse.patch > b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-ld.hugetlbfs-arm-arches-fix-page-size-and-text-offse.patch > new file mode 100644 > index 0000000..68cd71b > --- /dev/null > +++ > b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-ld.hugetlbfs-arm-arches-fix-page-size-and-text-offse.patch > @@ -0,0 +1,57 @@ > +From 1ab6f7f9b34fc745451140fc21db6763dffc5785 Mon Sep 17 00:00:00 2001 > +From: "Gary S. Robertson" <gary.robertson@linaro.org> > +Date: Thu, 25 Sep 2014 14:57:06 -0500 > +Subject: [libhugetlbfs][PATCH] ld.hugetlbfs: arm arches - fix page size > and text offset > + setup > + > +There's 3 issues fixed: > +* typo on MB variable (MB -> $MB) > +* some linker variants are missing (linux and big endian) > + - armelfb_linux_eabi > + - aarch64elfb > + - aarch64linux > + - aarch64linuxb > +* text segment offset was not specified for armv7 BE > + > +NOTE: This patch replaces and makes obsolete the following previously > + submitted patch: > + > + aarch64: fix page size not properly computed > + by: Fathi Boudra <fathi.boudra@linaro.org> > + > +Upstream Status: Submitted > + > +Signed-off-by: Gary S. Robertson <gary.robertson@linaro.org> > +--- > + ld.hugetlbfs | 8 ++++---- > + 1 file changed, 4 insertions(+), 4 deletions(-) > + > +diff --git a/ld.hugetlbfs b/ld.hugetlbfs > +index df446dd..4417442 100755 > +--- a/ld.hugetlbfs > ++++ b/ld.hugetlbfs > +@@ -87,7 +87,7 @@ elf32ppclinux|elf64ppc) HPAGE_SIZE=$((16*$MB)) > SLICE_SIZE=$((256*$MB)) ;; > + elf64lppc) HPAGE_SIZE=$((16*$MB)) SLICE_SIZE=$((256*$MB)) ;; > + elf_i386|elf_x86_64) HPAGE_SIZE=$((4*$MB)) SLICE_SIZE=$HPAGE_SIZE ;; > + elf_s390|elf64_s390) HPAGE_SIZE=$((1*$MB)) SLICE_SIZE=$HPAGE_SIZE ;; > +-armelf_linux_eabi|aarch64elf) HPAGE_SIZE=$((2*MB)) > SLICE_SIZE=$HPAGE_SIZE ;; > ++armelf*_linux_eabi|aarch64elf*|aarch64linux*) HPAGE_SIZE=$((2*$MB)) > SLICE_SIZE=$HPAGE_SIZE ;; > + esac > + > + if [ "$HTLB_ALIGN" == "slice" ]; then > +@@ -96,9 +96,9 @@ if [ "$HTLB_ALIGN" == "slice" ]; then > + > + # targeting the ARM platform one needs to explicitly set the text > segment offset > + # otherwise it will be NULL. > +- if [ "$EMU" == "armelf_linux_eabi" ]; then > +- HTLBOPTS="$HTLBOPTS -Ttext-segment=$SLICE_SIZE" > +- fi > ++ case "$EMU" in > ++ armelf*_linux_eabi) HTLBOPTS="$HTLBOPTS > -Ttext-segment=$SLICE_SIZE" ;; > ++ esac > + fi > + > + ${LD} "${args[@]}" ${HTLBOPTS} > +-- > +1.7.9.5 > + > diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb > b/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb > index 0af77f1..e490848 100644 > --- a/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb > +++ b/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb > @@ -20,6 +20,7 @@ SRC_URI = "git://git.code.sf.net/p/libhugetlbfs/code \ > > file://0001-replace-lib-lib64-hardcoded-values-by-LIBDIR32-LIBDI.patch \ > file://0001-Extend-arm32-support-to-include-BE-variants.patch \ > file://0001-libhugetlbfs-Recognize-all-ix86-arches.patch \ > + > file://0001-ld.hugetlbfs-arm-arches-fix-page-size-and-text-offse.patch \ > " > > S = "${WORKDIR}/git" > -- > 1.7.9.5 > >
diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-aarch64-fix-page-size-not-properly-computed.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-aarch64-fix-page-size-not-properly-computed.patch deleted file mode 100644 index da60ba0..0000000 --- a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-aarch64-fix-page-size-not-properly-computed.patch +++ /dev/null @@ -1,32 +0,0 @@ -Subject: [PATCH] aarch64: fix page size not properly computed - -There's 2 issues fixed: -* typo on MB variable (MB -> $MB) -* some linker variants are missing (linux and big endian) - - aarch64elfb - - aarch64linux - - aarch64linuxb - -Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org> - -Upstream-Status: Submitted ---- - ld.hugetlbfs | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ld.hugetlbfs b/ld.hugetlbfs -index df446dd..6553547 100755 ---- a/ld.hugetlbfs -+++ b/ld.hugetlbfs -@@ -87,7 +87,7 @@ elf32ppclinux|elf64ppc) HPAGE_SIZE=$((16*$MB)) SLICE_SIZE=$((256*$MB)) ;; - elf64lppc) HPAGE_SIZE=$((16*$MB)) SLICE_SIZE=$((256*$MB)) ;; - elf_i386|elf_x86_64) HPAGE_SIZE=$((4*$MB)) SLICE_SIZE=$HPAGE_SIZE ;; - elf_s390|elf64_s390) HPAGE_SIZE=$((1*$MB)) SLICE_SIZE=$HPAGE_SIZE ;; --armelf_linux_eabi|aarch64elf) HPAGE_SIZE=$((2*MB)) SLICE_SIZE=$HPAGE_SIZE ;; -+armelf_linux_eabi|aarch64elf*|aarch64linux*) HPAGE_SIZE=$((2*$MB)) SLICE_SIZE=$HPAGE_SIZE ;; - esac - - if [ "$HTLB_ALIGN" == "slice" ]; then --- -1.9.2 - diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-ld.hugetlbfs-arm-arches-fix-page-size-and-text-offse.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-ld.hugetlbfs-arm-arches-fix-page-size-and-text-offse.patch new file mode 100644 index 0000000..68cd71b --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-ld.hugetlbfs-arm-arches-fix-page-size-and-text-offse.patch @@ -0,0 +1,57 @@ +From 1ab6f7f9b34fc745451140fc21db6763dffc5785 Mon Sep 17 00:00:00 2001 +From: "Gary S. Robertson" <gary.robertson@linaro.org> +Date: Thu, 25 Sep 2014 14:57:06 -0500 +Subject: [libhugetlbfs][PATCH] ld.hugetlbfs: arm arches - fix page size and text offset + setup + +There's 3 issues fixed: +* typo on MB variable (MB -> $MB) +* some linker variants are missing (linux and big endian) + - armelfb_linux_eabi + - aarch64elfb + - aarch64linux + - aarch64linuxb +* text segment offset was not specified for armv7 BE + +NOTE: This patch replaces and makes obsolete the following previously + submitted patch: + + aarch64: fix page size not properly computed + by: Fathi Boudra <fathi.boudra@linaro.org> + +Upstream Status: Submitted + +Signed-off-by: Gary S. Robertson <gary.robertson@linaro.org> +--- + ld.hugetlbfs | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/ld.hugetlbfs b/ld.hugetlbfs +index df446dd..4417442 100755 +--- a/ld.hugetlbfs ++++ b/ld.hugetlbfs +@@ -87,7 +87,7 @@ elf32ppclinux|elf64ppc) HPAGE_SIZE=$((16*$MB)) SLICE_SIZE=$((256*$MB)) ;; + elf64lppc) HPAGE_SIZE=$((16*$MB)) SLICE_SIZE=$((256*$MB)) ;; + elf_i386|elf_x86_64) HPAGE_SIZE=$((4*$MB)) SLICE_SIZE=$HPAGE_SIZE ;; + elf_s390|elf64_s390) HPAGE_SIZE=$((1*$MB)) SLICE_SIZE=$HPAGE_SIZE ;; +-armelf_linux_eabi|aarch64elf) HPAGE_SIZE=$((2*MB)) SLICE_SIZE=$HPAGE_SIZE ;; ++armelf*_linux_eabi|aarch64elf*|aarch64linux*) HPAGE_SIZE=$((2*$MB)) SLICE_SIZE=$HPAGE_SIZE ;; + esac + + if [ "$HTLB_ALIGN" == "slice" ]; then +@@ -96,9 +96,9 @@ if [ "$HTLB_ALIGN" == "slice" ]; then + + # targeting the ARM platform one needs to explicitly set the text segment offset + # otherwise it will be NULL. +- if [ "$EMU" == "armelf_linux_eabi" ]; then +- HTLBOPTS="$HTLBOPTS -Ttext-segment=$SLICE_SIZE" +- fi ++ case "$EMU" in ++ armelf*_linux_eabi) HTLBOPTS="$HTLBOPTS -Ttext-segment=$SLICE_SIZE" ;; ++ esac + fi + + ${LD} "${args[@]}" ${HTLBOPTS} +-- +1.7.9.5 + diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb b/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb index 0af77f1..e490848 100644 --- a/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb +++ b/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb @@ -20,6 +20,7 @@ SRC_URI = "git://git.code.sf.net/p/libhugetlbfs/code \ file://0001-replace-lib-lib64-hardcoded-values-by-LIBDIR32-LIBDI.patch \ file://0001-Extend-arm32-support-to-include-BE-variants.patch \ file://0001-libhugetlbfs-Recognize-all-ix86-arches.patch \ + file://0001-ld.hugetlbfs-arm-arches-fix-page-size-and-text-offse.patch \ " S = "${WORKDIR}/git"