Brad Bishop | c342db3 | 2019-05-15 21:57:59 -0400 | [diff] [blame] | 1 | From d111fd85b25466f7829ccee34493aa0e3b551308 Mon Sep 17 00:00:00 2001 |
| 2 | From: Mingli Yu <mingli.yu@windriver.com> |
| 3 | Date: Tue, 23 Apr 2019 19:13:19 -0700 |
| 4 | Subject: [PATCH] CheckLib.pm: don't execute the binary |
| 5 | |
| 6 | Don't execute the binary in build env as the |
| 7 | binary which is generated in cross compile env |
| 8 | may fail when executed in build env. |
| 9 | |
| 10 | And it's enough to verify the libs via successully |
| 11 | generate the binary which links the libs as below. |
| 12 | $ /yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot-native/usr/bin/x86_64-poky-linux/x86_64-poky-linux-gcc \ |
| 13 | -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security \ |
| 14 | -Werror=format-security --sysroot=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot \ |
| 15 | -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/perl/5.28.1-r1=/usr/src/debug/perl/5.28.1-r1 \ |
| 16 | -fdebug-prefix-map=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/perl/5.28.1-r1=/usr/src/debug/perl/5.28.1-r1 \ |
| 17 | -fdebug-prefix-map=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot= -fdebug-prefix-map=/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot-native= -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 assertlibEhx19yuY.c -L/yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/recipe-sysroot/usr/lib -lcrypto -fstack-protector-strong -o assertlibCOw_eujb |
| 18 | |
| 19 | Execute the binary in cross compile env as below |
| 20 | and use the return status to determine the lib's |
| 21 | checking status is not appropriate in cross compile env. |
| 22 | $ /yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/git/assertlibCOw_eujb |
| 23 | |
| 24 | Upstream-Status: Inappropriate[oe specific] |
| 25 | |
| 26 | Signed-off-by: Mingli Yu <mingli.yu@windriver.com> |
| 27 | --- |
| 28 | lib/Devel/CheckLib.pm | 2 +- |
| 29 | 1 file changed, 1 insertion(+), 1 deletion(-) |
| 30 | |
| 31 | diff --git a/lib/Devel/CheckLib.pm b/lib/Devel/CheckLib.pm |
| 32 | index e45cfb4..d228bb5 100644 |
| 33 | --- a/lib/Devel/CheckLib.pm |
| 34 | +++ b/lib/Devel/CheckLib.pm |
| 35 | @@ -424,7 +424,7 @@ sub assert_lib { |
| 36 | my $absexefile = File::Spec->rel2abs($exefile); |
| 37 | $absexefile = '"'.$absexefile.'"' if $absexefile =~ m/\s/; |
| 38 | if (!$not_execute && system($absexefile) != 0) { |
| 39 | - push @wrongresult, $lib; |
| 40 | + print "Checking the lib $lib\n"; |
| 41 | } |
| 42 | else { |
| 43 | if ($analyze_binary) { |
| 44 | -- |
| 45 | 2.17.1 |
| 46 | |