[toybox] Disable applets to avoid a QEMU/ASAN corruption 10/209510/4
authorGeunsik Lim <geunsik.lim@samsung.com>
Mon, 8 Jul 2019 08:05:42 +0000 (17:05 +0900)
committerGeunsik Lim <geunsik.lim@samsung.com>
Tue, 9 Jul 2019 00:40:57 +0000 (09:40 +0900)
Fixed JIRA/TFDF-2712.

According to the log message of "gbs build" command, ASAN has a bug.
In case that ASAN meets an unexpected situation, QEMU (ARM emulator) is
suddenly broken because of the abnormal operations of ASAN.
As a result of that, we could not get any hints from ASAN.

In order to fix this issue, This commit is to disable the below applets
to avoid an unexpected situation that ASAN option results in a corruption
of the ARM QEMU emulator of Tizen.

* Changelog:
  1. Disbled optional applets that caused a QEMU/ASAN corruption
     - CONFIG_CP_MORE: Copy files with additional option(s) such as -adlnrsv
     - CONFIG_CP_PRESERVE: Copy files by taking a comma separated list of attributes
     - CONFIG_LS_COLOR: Display file(s) and folder(s) with a tty device
     - CONFIG_MKDIR_Z: Create one or more directories with a security context
     - CONFIG_MKFIFO_Z: Create FIFOs (named pp3s) with a security context
     - CONFIG_DECOMPRESS: Decompess (deflate) file(s).

  2. Updated the configuration file
     - Disabled SMACK
     - Disabled I18N

* Error message:
[39s] qemu: uncaught target signal 11 (Segmentation fault) - core dumped
[39s] scripts/make.sh: line 218: 29303 Segmentation fault
(core dumped) generated/config2help Config.in $KCONFIG_CONFIG > generated/help.h
[39s] Makefile:11: recipe for target 'toybox' failed

* How to reproduce:
  - {arch_name}: i586, x86_64, armv7l, and aarch64
  - u1604$ gbs build -A {arch_name} --include-all \
           --extra-packs asan-force-options,asan-build-env \
           --define 'asan 1'

Change-Id: I958e8db7b7b3b4a027ea4292388f264570eea372
Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
packaging/config-full

index f6d2507..79424e3 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # ToyBox version: KCONFIG_VERSION
-# Fri May 24 11:26:47 2019
+# Mon Jul 8 15:35:34 2019
 #
 CONFIG_TOYBOX_CONTAINER=y
 CONFIG_TOYBOX_FIFREEZE=y
@@ -18,6 +18,8 @@ CONFIG_TOYBOX_FORK=y
 CONFIG_NSLOOKUP=y
 CONFIG_PING=y
 
+
+
 #
 # Posix commands
 #
@@ -33,8 +35,8 @@ CONFIG_CKSUM=y
 CONFIG_CMP=y
 CONFIG_COMM=y
 CONFIG_CP=y
-CONFIG_CP_MORE=y
-CONFIG_CP_PRESERVE=y
+# CONFIG_CP_MORE is not set
+# CONFIG_CP_PRESERVE is not set
 CONFIG_MV=y
 CONFIG_MV_MORE=y
 CONFIG_INSTALL=y
@@ -54,6 +56,7 @@ CONFIG_EGREP=y
 CONFIG_FGREP=y
 CONFIG_HEAD=y
 CONFIG_ID=y
+
 # CONFIG_ID_Z is not set
 CONFIG_GROUPS=y
 CONFIG_LOGNAME=y
@@ -63,7 +66,7 @@ CONFIG_KILLALL5=y
 CONFIG_LINK=y
 CONFIG_LN=y
 CONFIG_LS=y
-CONFIG_LS_COLOR=y
+# CONFIG_LS_COLOR is not set
 CONFIG_MKDIR=y
 # CONFIG_MKDIR_Z is not set
 CONFIG_MKFIFO=y
@@ -114,7 +117,7 @@ CONFIG_BOOTCHARTD=y
 CONFIG_COMPRESS=y
 CONFIG_GZIP=y
 CONFIG_GZIP_D=y
-CONFIG_DECOMPRESS=y
+# CONFIG_DECOMPRESS is not set
 CONFIG_ZCAT=y
 CONFIG_GUNZIP=y
 CONFIG_CROND=y
@@ -262,6 +265,7 @@ CONFIG_WHICH=y
 CONFIG_XXD=y
 CONFIG_YES=y
 
+
 #
 # Linux Standard Base commands
 #
@@ -307,14 +311,14 @@ CONFIG_UMOUNT=y
 # Toybox global settings
 #
 CONFIG_TOYBOX=y
-CONFIG_TOYBOX_SUID=y
+# CONFIG_TOYBOX_SUID is not set
 CONFIG_TOYBOX_LSM_NONE=y
 # CONFIG_TOYBOX_SELINUX is not set
 # CONFIG_TOYBOX_SMACK is not set
-CONFIG_TOYBOX_FLOAT=y
+# CONFIG_TOYBOX_FLOAT is not set
 CONFIG_TOYBOX_HELP=y
 CONFIG_TOYBOX_HELP_DASHDASH=y
-CONFIG_TOYBOX_I18N=y
+# CONFIG_TOYBOX_I18N is not set
 # CONFIG_TOYBOX_FREE is not set
 # CONFIG_TOYBOX_NORECURSE is not set
 # CONFIG_TOYBOX_DEBUG is not set