ARM hf support
cover ARM hf support
This patchset adds the newly added hard float convention for naming the dynamic linker. We have a tune feature to denote hf calling convention already therefore this patch uses that feature to decide on configuring the toolchain to be soft float or hard-float call conventions by default.
The following changes since commit e6333825c3482a559a0c0499e17f8f48d3042ddf:
tune-mips64.inc: Add new tune file for mips64 big-endian (2012-05-20 20:24:37 -0700)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib kraj/armhf
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/armhf
Khem Raj (3):
gcc-4.7: Add knowledge about arm hf dynamic loader
eglibc: Add ARM hf dynamic linker support
gcc: Grok for callconvention-hard to enable hard float
.../eglibc/eglibc-2.15/add_HAVE_ARM_PCS_VFP.patch | 28 ++ .../eglibc/eglibc-2.15/ldso_arm_hf_support.patch | 338 ++++++++++++++++++++ meta/recipes-core/eglibc/eglibc_2.15.bb | 4 +- meta/recipes-devtools/gcc/gcc-4.7.inc | 1 + .../gcc/gcc-4.7/arm-hard-float-loader.patch | 48 +++ meta/recipes-devtools/gcc/gcc-common.inc | 2 + 6 files changed, 420 insertions(+), 1 deletions(-) create mode 100644 meta/recipes-core/eglibc/eglibc-2.15/add_HAVE_ARM_PCS_VFP.patch create mode 100644 meta/recipes-core/eglibc/eglibc-2.15/ldso_arm_hf_support.patch create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/arm-hard-float-loader.patch
Signature · 1 line
1.7.5.4
PATCH 1/3 gcc-4.7: Add knowledge about arm hf dynamic loader
--- meta/recipes-devtools/gcc/gcc-4.7.inc | 1 + .../gcc/gcc-4.7/arm-hard-float-loader.patch | 48 ++++++++++++++++++++ 2 files changed, 49 insertions(+), 0 deletions(-) create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/arm-hard-float-loader.patch
meta/recipes-devtools/gcc/gcc-4.7.inc +1 -0
@@ -65,6 +65,7 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH};proto=http \ file://libgcc-sjlj-check.patch \ file://cpp-honor-sysroot.patch \ file://mips64-default-n64.patch \ + file://arm-hard-float-loader.patch \ " S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/${BRANCH}"
meta/recipes-devtools/gcc/gcc-4.7/arm-hard-float-loader.patch new file +48 -0
48 lines not on this page · raw message
Signature · 1 line
1.7.5.4
PATCH 2/3 eglibc: Add ARM hf dynamic linker support
The work is done in glibc upstream we backport
the relevant patches
--- .../eglibc/eglibc-2.15/add_HAVE_ARM_PCS_VFP.patch | 28 ++ .../eglibc/eglibc-2.15/ldso_arm_hf_support.patch | 338 ++++++++++++++++++++ meta/recipes-core/eglibc/eglibc_2.15.bb | 4 +- 3 files changed, 369 insertions(+), 1 deletions(-) create mode 100644 meta/recipes-core/eglibc/eglibc-2.15/add_HAVE_ARM_PCS_VFP.patch create mode 100644 meta/recipes-core/eglibc/eglibc-2.15/ldso_arm_hf_support.patch
meta/recipes-core/eglibc/eglibc-2.15/add_HAVE_ARM_PCS_VFP.patch new file +28 -0
@@ -0,0 +1,28 @@ +From: Carlos O'Donell <[email protected]> +Date: Mon, 7 May 2012 20:04:41 +0000 (-0400) +Subject: ARM: Define HAVE_ARM_PCS_VFP in config.h. +X-Git-Url: http://sourceware.org/git/?p=glibc.git;a=commitdiff_plain;h=6a43ec980c5a0500149ef37d4854eac0e270da6f;hp=05c2c9618f583ea4acd69b3fe5ae2a2922dd2ddc + +ARM: Define HAVE_ARM_PCS_VFP in config.h. + +If the compiler and flags would select the hard-float ABI +then the ARM configure fragment will set HAVE_ARM_PCS_VFP. +This is later used by the ARM shlib-versions to select +the appropriately named dynamic linker. +--- + +Upstream-Status: Backport +-Khem + +Index: libc/config.h.in +=================================================================== +--- libc.orig/config.h.in 2012-01-04 22:06:28.000000000 -0800 ++++ libc/config.h.in 2012-05-08 11:25:56.581079069 -0700 +@@ -233,4 +233,7 @@ + + #define HAVE_REGEX 1 + ++/* The ARM hard-float ABI is being used. */ ++#undef HAVE_ARM_PCS_VFP ++ + #endif
meta/recipes-core/eglibc/eglibc-2.15/ldso_arm_hf_support.patch new file +338 -0
338 lines not on this page · raw message
meta/recipes-core/eglibc/eglibc_2.15.bb +3 -1
@@ -3,7 +3,7 @@ require eglibc.inc SRCREV = "17386" DEPENDS += "gperf-native" -PR = "r10" +PR = "r11" PR_append = "+svnr${SRCPV}" EGLIBC_BRANCH="eglibc-2_15"
@@ -25,6 +25,8 @@ SRC_URI = "svn://www.eglibc.org/svn/branches/;module=${EGLIBC_BRANCH};proto=http file://initgroups_keys.patch \ file://use-localstatedir-for-vardbdir.patch \ file://eglibc_fix_findidx_parameters.patch \ + file://add_HAVE_ARM_PCS_VFP.patch \ + file://ldso_arm_hf_support.patch \ " LIC_FILES_CHKSUM = "file://LICENSES;md5=98a1128c4b58120182cbea3b1752d8b9 \ file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \
Signature · 1 line
1.7.5.4
PATCH 3/3 gcc: Grok for callconvention-hard to enable hard float
In reply to Khem RajIf callconvention-hard is set then we build gcc defaulting to hard-float ABI
--- meta/recipes-devtools/gcc/gcc-common.inc | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
meta/recipes-devtools/gcc/gcc-common.inc +2 -0
@@ -10,6 +10,8 @@ inherit autotools gettext FILESDIR = "${@os.path.dirname(d.getVar('FILE',1))}/gcc-${PV}" def get_gcc_fpu_setting(bb, d): + if d.getVar('ARMPKGSFX_EABI', True) is "hf": + return "--with-float=hard" if d.getVar('TARGET_FPU', True) in [ 'soft' ]: return "--with-float=soft" if d.getVar('TARGET_FPU', True) in [ 'ppc-efd' ]:
Signature · 1 line
1.7.5.4
Saul Wold
AppliedQuoted 26 lines · Khem Raj
This patchset adds the newly added hard float convention for naming the dynamic linker. We have a tune feature to denote hf calling convention already therefore this patch uses that feature to decide on configuring the toolchain to be soft float or hard-float call conventions by default.
The following changes since commit
e6333825c3482a559a0c0499e17f8f48d3042ddf:tune-mips64.inc: Add new tune file for mips64 big-endian (2012-05-20 20:24:37 -0700)are available in the git repository at:
git://git.openembedded.org/openembedded-core-contribkraj/armhf
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/armhfKhem Raj (3):
gcc-4.7: Add knowledge about arm hf dynamic loader
eglibc: Add ARM hf dynamic linker support
gcc: Grok for callconvention-hard to enable hard float.../eglibc/eglibc-2.15/add_HAVE_ARM_PCS_VFP.patch | 28 ++ .../eglibc/eglibc-2.15/ldso_arm_hf_support.patch | 338 ++++++++++++++++++++ meta/recipes-core/eglibc/eglibc_2.15.bb | 4 +- meta/recipes-devtools/gcc/gcc-4.7.inc | 1 + .../gcc/gcc-4.7/arm-hard-float-loader.patch | 48 +++ meta/recipes-devtools/gcc/gcc-common.inc | 2 + 6 files changed, 420 insertions(+), 1 deletions(-)
Quoted 4 lines
create mode 100644
meta/recipes-core/eglibc/eglibc-2.15/add_HAVE_ARM_PCS_VFP.patchcreate mode 100644meta/recipes-core/eglibc/eglibc-2.15/ldso_arm_hf_support.patchcreate mode 100644meta/recipes-devtools/gcc/gcc-4.7/arm-hard-float-loader.patch
Merged into OE-Core
Thanks
Sau!