[OE-core] [PATCH V2] ltp: set -fomit-frame-pointer explicitly for x86-64

Richard Purdie richard.purdie at linuxfoundation.org
Fri Jun 15 09:16:04 UTC 2018


On Fri, 2018-06-15 at 17:01 +0800, mingli.yu at windriver.com wrote:
> From: Mingli Yu <Mingli.Yu at windriver.com>
> 
> When build ltp with -fno-omit-frame-pointer on
> x86-64, it will trigger below error:
> > cve-2015-3290.c: In function 'child_thread':
> > cve-2015-3290.c:416:1: error: bp cannot be used in asm here
> 
> And there is also some comment as below in the source
> file ltp/20180515-r0/git/testcases/cve/cve-2015-3290.c
> * Build with -O2.  Don't use -fno-omit-frame-pointer.
> 
> So explicitly set -fomit-frame-pointer on x86-64 for
> compiler to fix the above build error.
> 
> Signed-off-by: Mingli Yu <Mingli.Yu at windriver.com>
> ---
>  meta/recipes-extended/ltp/ltp_20180515.bb | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/meta/recipes-extended/ltp/ltp_20180515.bb
> b/meta/recipes-extended/ltp/ltp_20180515.bb
> index b07c1b9..7fd8565 100644
> --- a/meta/recipes-extended/ltp/ltp_20180515.bb
> +++ b/meta/recipes-extended/ltp/ltp_20180515.bb
> @@ -19,6 +19,11 @@ LIC_FILES_CHKSUM = "\
>  DEPENDS = "attr libaio libcap acl openssl zip-native"
>  DEPENDS_append_libc-musl = " fts "
>  EXTRA_OEMAKE_append_libc-musl = " LIBC=musl "
> +
> +# set -fomit-frame-pointer to handle cases where optimisation is set
> to -O0 or frame
> +# pointers have been enabled by -fno-omit-frame-pointer earlier in
> CFLAGS, etc.
> +CFLAGS_append_x86-64 = " -fomit-frame-pointer"
> +
>  CFLAGS_append_powerpc64 = " -D__SANE_USERSPACE_TYPES__"
>  CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
>  SRCREV = "96cbf48313afa65ef4d693d3441cbfd60a8d9b27"

Can you extend the comment to include:

"since ltp contains x86-64 assembler which uses the frame-pointer
register"

so that the comment doesn't just say what you're doing but why its
necessary only for x86-64

Cheers,

Richard





More information about the Openembedded-core mailing list