On 2018年06月15日 03:20, Andre McCurdy wrote:
On Thu, Jun 14, 2018 at 9:38 AM, Khem Raj <raj.k...@gmail.com> wrote:
On 6/14/18 2:35 AM, mingli...@windriver.com wrote:
From: Mingli Yu <mingli...@windriver.com>

When build ltp with -fno-omit-frame-pointer,
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 for compiler
to fix the above build error.

Signed-off-by: Mingli Yu <mingli...@windriver.com>
---
  meta/recipes-extended/ltp/ltp_20180515.bb | 4 ++++
  1 file changed, 4 insertions(+)

diff --git a/meta/recipes-extended/ltp/ltp_20180515.bb 
b/meta/recipes-extended/ltp/ltp_20180515.bb
index b07c1b9..5ec25ed 100644
--- a/meta/recipes-extended/ltp/ltp_20180515.bb
+++ b/meta/recipes-extended/ltp/ltp_20180515.bb
@@ -19,6 +19,10 @@ LIC_FILES_CHKSUM = "\
  DEPENDS = "attr libaio libcap acl openssl zip-native"
  DEPENDS_append_libc-musl = " fts "
  EXTRA_OEMAKE_append_libc-musl = " LIBC=musl "
+
+# -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 = " ${@bb.utils.contains('SELECTED_OPTIMIZATION', 
'-fno-omit-frame-pointer', '-fomit-frame-pointer', '', d)}"

This doesn't cover all cases - there may be times when the compiler
chooses to enable frame pointers without being called with
-fno-omit-frame-pointer.

You could make the append conditional on x86 though (based on the
error message, it's the x86 frame pointer register which is being used
by inline assembler).

Thanks Khem and Andre!

Considering it's x86-64 specific(x86 actually not affected), I will update the logic unconditionally in V2 as below only for x86-64 to cover some cases when the compiler enables frame pointers without being called with -fno-omit-frame-pointer.

CFLAGS_append_x86-64 = " -fomit-frame-pointer"

Thanks,


may be just append it unconditionally, what do we lose ?
CFLAGS += "-fomit-frame-pointer"

  CFLAGS_append_powerpc64 = " -D__SANE_USERSPACE_TYPES__"
  CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
  SRCREV = "96cbf48313afa65ef4d693d3441cbfd60a8d9b27"




--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to