summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Slava Barinov [Mon, 11 Sep 2023 09:17:05 +0000 (12:17 +0300)]
[ASan] Do not run post-script multiple times
If the environment tries to run the post-script multiple times, the prevention
mechanism is needed
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
[cherry picked from commit
607003abeac6199bf24ea193bfcbe38e91cc999f]
Change-Id: Ia5cf3fd4bd1fd782d64efa0eb8e6b14473dd84ff
Jaehoon Chung [Tue, 18 Jun 2024 12:00:06 +0000 (21:00 +0900)]
packaging: Add Requires(post) coreutils to use od command
The below patch needs to use 'od' command. But mic can't ensure to
install coreutils before asan-runtime-env.
So add "Requires(post) coreutils" to ensure it.
Commit:
bda0cdfad57164 "[ASan] Set reserved virtual address space for qemu-arm"
Change-Id: I55f745c7f22ecee0086946f71ea303064292eb60
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Slava Barinov [Thu, 18 Apr 2024 13:46:25 +0000 (16:46 +0300)]
Turn on full address space sanitization for 64-bit targets
Currently we have compatibility problems on kernel/qemu side for 32-bit
environment.
Change-Id: Iac14b41958c6aac1c75bda1c373c6b01c64d7f04
Slava Barinov [Thu, 30 May 2024 02:02:54 +0000 (11:02 +0900)]
[ASan] Set reserved virtual address space for qemu-arm
After this change reserved address space will be enough to handle binaries with
ASan even under 32-bit qemu-arm.
Change-Id: Ibf075c2a2dcac76778091a8bbc5c09962452fa48
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Slava Barinov [Thu, 17 Aug 2023 13:06:01 +0000 (16:06 +0300)]
[gcc-force-options] Exit early in malfunctioning environments
A sanity check added to gcc-force-options script to prevent find loops when
dirname doesn't work in build environment
Change-Id: I40bfeed676425205171a2fab461caad7b9adf251
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
Seung-Woo Kim [Tue, 14 Jun 2022 06:53:35 +0000 (15:53 +0900)]
packaging: Remove full path from ld.so.preload and add libcrypt to asan-runtime-env ld.so.preload
Do not use full path from ld.so.preload because it causes error
during build. Also set libcrypt-2.30.so to asan-runtime-env
ld.so.preload.
Change-Id: Ic0406b51976a5ed5e3c96d5103e92e831039576d
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Seung-Woo Kim [Mon, 30 May 2022 01:54:34 +0000 (10:54 +0900)]
packaging: Add libcrypt to ld.so.preload for asan environment
The libasan has crypt symbol, so almost all library only links
libasan even it uses libcrypt crypt symbol. This causes segment
fault of accessing 0x00 pc when calling libcrypt functions.
To avoid the issue, add libcrypt to ld.so.preload of asan
environment.
Change-Id: I2ac2b5c34917a120996a651ce5e2f8ccc6ea1a6b
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Seung-Woo Kim [Mon, 30 May 2022 01:49:57 +0000 (10:49 +0900)]
packaging: Set ld.so.preload with full path for asan
Non-root user process gives below warning, so use full path:
ld.so: object 'libasan.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
Change-Id: I2a4e4837d3b77db8ee1454200c486c29fa31d0c2
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Dongkyun Son [Thu, 2 Dec 2021 06:50:04 +0000 (15:50 +0900)]
packaging: update libasan version.
Change-Id: I8041e535f998df4fd216b48634dd7572ef5ab9cd
Signed-off-by: Dongkyun Son <dongkyun.s@samsung.com>
Andrey Kazmin [Tue, 7 Dec 2021 10:57:28 +0000 (13:57 +0300)]
Fixed absolute path in asan preload to avoid conflicts with qemu-accel
Change-Id: Ibdf895148ce50673ae41c678375b22089e1419d1
Signed-off-by: Andrey Kazmin <a.kazmin@partner.samsung.com>
Andrey Kazmin [Thu, 2 Sep 2021 13:27:47 +0000 (16:27 +0300)]
Move chmod of /emul dir for *-force-options package to qemu-accel
Change-Id: I39fc4e9df23da7d47f2da0e434d57e26c9668e15
Signed-off-by: Andrey Kazmin <a.kazmin@partner.samsung.com>
Dongkyun Son [Fri, 10 Sep 2021 11:59:41 +0000 (11:59 +0000)]
Merge "Remove libhwasan from build and runtime env since it doesn't touch ld preload" into tizen_base
Andrey Kazmin [Tue, 6 Jul 2021 08:00:35 +0000 (11:00 +0300)]
Remove libhwasan from build and runtime env since it doesn't touch ld preload
Change-Id: Ifc1b5896756a4be2f0c11dc07b8905d87ac5eb2c
Signed-off-by: Andrey Kazmin <a.kazmin@partner.samsung.com>
Andrey Kazmin [Fri, 9 Jul 2021 10:17:47 +0000 (13:17 +0300)]
Added exitcode=0 to ASan and HWASan options
It's needed to prevent a sanitized program exit code override
in case of ASan/HWASan error
Change-Id: I00acb504fee8bf295f581d059a907f56de9f1e63
Signed-off-by: Andrey Kazmin <a.kazmin@partner.samsung.com>
Slava Barinov [Thu, 2 Sep 2021 12:09:31 +0000 (15:09 +0300)]
packaging: Check /etc/security existence before applying sed
This prevents post-script failure in {asan,hwasan}-force-options.
Change-Id: I68e8fbdf2569b10017e484bcf3ff2f5a03219bfb
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
Andrey Kazmin [Fri, 5 Mar 2021 11:03:11 +0000 (14:03 +0300)]
Add support for HWASan force options and environment
Change-Id: Ib1775eeffd4f7a7760a8816d0b339e547b1976a6
Signed-off-by: Andrey Kazmin <a.kazmin@partner.samsung.com>
Dongkyun Son [Thu, 4 Jun 2020 08:35:43 +0000 (17:35 +0900)]
packaging: update libasan version.
Change-Id: If5af11f8b11b46357b1bb5913ff5c6da2a74f238
Signed-off-by: Dongkyun Son <dongkyun.s@samsung.com>
Dongkyun Son [Wed, 12 Feb 2020 09:03:53 +0000 (18:03 +0900)]
packaging: removed ESan from Tizen6.
Change-Id: I05e8e8d193ba2ca936b1e2c954d62a6711e0e125
Signed-off-by: Dongkyun Son <dongkyun.s@samsung.com>
Dongkyun Son [Wed, 12 Feb 2020 08:59:21 +0000 (17:59 +0900)]
packaging: removed ISan from Tizen6.
Change-Id: I9b496a754c7088838abbab8f43f5eb1cf6c4704b
Signed-off-by: Dongkyun Son <dongkyun.s@samsung.com>
Slava Barinov [Wed, 15 Jan 2020 12:52:17 +0000 (15:52 +0300)]
Switch GCC to 9.2.0 to meet Tizen 6 version
Change-Id: I83caf7523e115b3507580503bae469dabda471fd
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
Andrey Drobyshev [Tue, 27 Aug 2019 16:38:36 +0000 (19:38 +0300)]
[libasansi] Add asansi-runtime-env package.
Change-Id: I1795b258492f7fa583c8c7a9901b0abdaf28d03c
Signed-off-by: Andrey Drobyshev <a.drobyshev@samsung.com>
Pavel Kopyl [Wed, 28 Mar 2018 19:59:15 +0000 (22:59 +0300)]
[gcov] Add gcov-force-options package.
Change-Id: I48c2d7afdb7e234a77c6e6606139757dc316bb2b
Mikhail Kashkarov [Wed, 26 Jun 2019 10:41:55 +0000 (13:41 +0300)]
Do not terminate the process with ASan on allocator returning 0
ASan allocator will not crash and return 0 in case of out-of-memory.
Currently *null* will be returned for the following cases inside internal
allocator:
- Requested size is more than 3 << 30 for 32bits and 1 << 40 for 64bits.
- Requested size overflow.
- RSS limit excided
- mmap syscall returns 0
Change-Id: Iddb84e52153449965bc6de2fd33807478db50cd3
Mikhail Kashkarov [Mon, 17 Dec 2018 16:58:11 +0000 (19:58 +0300)]
Replace scripts for asan-runtime-env package with files
Mic is now supporting %prepackages section which allows rpm installation
without executing scripts.
The main problem is that we want to place the same file /etc/ld.so.preload
with different context into different packages(asan/lsan-runtime-env) and
rpm doesn't let us do this easely:
http://lists.rpm.org/pipermail/rpm-list/2011-June/000911.html
Fix only *asan-runtime-env* package for now.
Change-Id: Ibbfc3cf2ca464022f997440161aaad3f4a56ac4c
Mikhail Kashkarov [Mon, 17 Dec 2018 16:37:43 +0000 (19:37 +0300)]
Synchronize <X>SAN_OPTIONS with <x>san_runtime_env variable values
Generate XSAN_OPTIONS in %build stage, replace "cp + chmod" with install
commands.
Change-Id: Ie3fed76c658c07ff2e2569b84d070410e298add8
Oleg Ogurtsov [Mon, 5 Feb 2018 15:28:35 +0000 (18:28 +0300)]
Add gcc-warning-build-env - GCC build environment for warning logs
Change-Id: Id18859d1a3f5ff8370a59dba2f8812bc7f73d717
Oleg Ogurtsov [Mon, 5 Feb 2018 13:05:29 +0000 (16:05 +0300)]
Add GCC log wrapper
Change-Id: I304ad9af069ffe133d23e798a2ce707704ed5dd2
Dongkyun Son [Fri, 28 Dec 2018 10:42:25 +0000 (10:42 +0000)]
Merge "[Sanitizers] Add %_auxbuildinfo to mark sanitized packages" into tizen_base
Slava Barinov [Wed, 14 Nov 2018 08:58:30 +0000 (11:58 +0300)]
[Sanitizers] Add %_auxbuildinfo to mark sanitized packages
Change-Id: I631230c077267ec44a9202f10b039a004fa83f0f
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
Mikhail Kashkarov [Mon, 26 Nov 2018 16:39:23 +0000 (19:39 +0300)]
Do not apply force-options to clang++ binary
"clang++" binary matches "(..|g\+\+|..)$" regex which was not intended for this:
this allows to pass gcc-speciefic options to clang driver resulting in build
errors due to unknown flags.
Fix pattern matching and refactor a bit.
Change-Id: I3fe0cb335f118e61e08399f6bed41232a0c84e17
Signed-off-by: Mikhail Kashkarov <m.kashkarov@partner.samsung.com>
Dongkyun Son [Fri, 19 Oct 2018 03:54:58 +0000 (12:54 +0900)]
packaging: set %arm(armv7l and armv7hl) to esan_arch
Change-Id: I37194c905e1dcecb8264b4c0d449cc0575ef3f01
Signed-off-by: Dongkyun Son <dongkyun.s@samsung.com>
Denis Khalikov [Fri, 3 Aug 2018 09:54:16 +0000 (12:54 +0300)]
[Sanitizers] Enable build with thumb frame pointer.
Change-Id: Ibdd7004dcf26febe92feba75d2ed31443c0719a9
Denis Khalikov [Fri, 26 Jan 2018 10:43:17 +0000 (13:43 +0300)]
[ESan] EfficiencySanitizer support packages.
Add esan-runtime-env, esan-build-env and
esan-force-options packages.
Change-Id: Ibd4deaf217092e4c4067ec408d176e7227369680
Dongkyun Son [Tue, 17 Jul 2018 23:53:35 +0000 (08:53 +0900)]
packaging: add "fast_unwind_on_fatal=1" to asan_runtime_options
Change-Id: Ic4ce07fadd8978a329a1ea02a558852a70050c6e
Signed-off-by: Dongkyun Son <dongkyun.s@samsung.com>
Dongkyun Son [Mon, 9 Apr 2018 00:01:57 +0000 (09:01 +0900)]
packaging: add marm option to asan_force_options
Frame-pointer-based unwinding does not work on Thumb.
Note that binary size will be bigger, but backtraces will be readable.
Change-Id: I60d9bbfaaac8ed5ebe2525d5a8b99eec5139c8e6
Signed-off-by: Dongkyun Son <dongkyun.s@samsung.com>
Dongkyun Son [Tue, 24 Apr 2018 08:29:52 +0000 (17:29 +0900)]
packaging: do not registers the SEGV handler in ASan runtime.
There is "ASAN:DEADLYSIGNAL" report which is not necessary information
in Tizen. Basially, signal handler is registered and managed by
crash-manager in Tizen.
handle_segv: Controls custom tool's SEGV handler
0 - do not registers the handler,
1 - register the handler and allow user to set own,
2 - registers the handler and block user from changing it).
Change-Id: I84449c3e65a8bd7cbec82432dcbce1c749dbde3c
Signed-off-by: Dongkyun Son <dongkyun.s@samsung.com>
Chan Lee [Fri, 13 Apr 2018 07:59:42 +0000 (16:59 +0900)]
Find package name with hyphen in %asan_incompatible_pkgs
find.string fuction can not find string with hyphen
because hyphen is regarded as special character.
This commit makes find.string function check all strings as plain text.
Change-Id: I5464938953cb373135e993134aa238e1974e1ee6
Signed-off-by: Chan Lee <chan45.lee@samsung.com>
Slava Barinov [Wed, 21 Mar 2018 08:52:38 +0000 (11:52 +0300)]
[ASan] Create a blacklist for ASan build
If the package is added to %asan_incompatible_pkgs in project config, the macro
%gcc_unforce_options will be executed before build.
This approach can be applied to some of packages which are not intended to
build with ASan and disabling ASan flags is enough.
Change-Id: I12af731714768f3c207fa115fb78efec88ba177b
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
Denis Khalikov [Mon, 13 Nov 2017 17:48:14 +0000 (20:48 +0300)]
[TSan] Add new runtime flag "run_under_qemu".
This flag allows to manage cross build for
binaries with TSan instrumentation.
Change-Id: I41b1cca0506c566f2070f9c17ca68945a3d707f5
Denis Khalikov [Thu, 19 Oct 2017 09:25:31 +0000 (12:25 +0300)]
[TSan] Add tsan-force-options, tsan-runtime-env.
For this moment tsan-runtime-env works without
preloading libtsan, because of huge memory consumption
by libtsan, at least 1:4. So, adding libtsan to ld.so.preload
will require a huge VM space available, because libtsan
has interceptors for allocators as well as libasan.
In this case I see only one way to enable TSan for DSO:
Build an executable with TSan, which requires DSO we want
to execute. In this case compiler will add section .preinit with
TSan initialization and rltd will call this section early than .init
section for other DSO.
Change-Id: I0cccb8c447287731a7c2b9f09f84a4a490d52d22
Ivan Baravy [Mon, 25 Sep 2017 17:24:53 +0000 (20:24 +0300)]
Add ISan related options and isan-force-options package
Change-Id: Ibb835c856939f953e03b2f687417a861d9d9c3a7
Signed-off-by: Ivan Baravy <i.baravy@samsung.com>
Signed-off-by: Dongkyun, Son <dongkyun.s@samsung.com>
Michail Kashkarov [Wed, 20 Sep 2017 18:02:00 +0000 (21:02 +0300)]
Fix lsan-force-options, lsan-runtime-env.
Append -marm -Wa,-mimplicit-it=arm, -ldl, -lpthread to
lsan-force-options, fix lsan-runtime-env preun script.
Change-Id: If45e9337e78b87c61c308e5eb84b44e33489f868
Denis Khalikov [Tue, 22 Aug 2017 08:08:58 +0000 (11:08 +0300)]
[TTC-6] packaging: Enable gcc-contrib package
All scripts related to toolchain moved from
gcc package to gcc-contrib package.
Change-Id: I52019814fe8c4173241d91982e3200da88918593
Signed-off-by: Denis Khalikov <d.khalikov@partner.samsung.com>
Signed-off-by: Dongkyun, Son <dongkyun.s@samsung.com>
Tizen Infrastructure [Tue, 22 Aug 2017 00:02:17 +0000 (00:02 +0000)]
Initial empty repository