[oe] [PATCH 3/3] libhugetlbfs: fix page size and text offset for arm arches

Gary Robertson gary.robertson at linaro.org
Fri Nov 7 01:38:46 UTC 2014


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 at linaro.org
> wrote:

> From: "Gary S. Robertson" <gary.robertson at 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 at 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 at 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 at 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 at linaro.org>
> +
> +Upstream Status: Submitted
> +
> +Signed-off-by: Gary S. Robertson <gary.robertson at 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
>
>



More information about the Openembedded-devel mailing list