Alexander Aksenov [Tue, 18 Apr 2017 13:10:12 +0000 (16:10 +0300)]
Add error message on libraries loading fail
Change-Id: I2a24532f5723d0af4dbb2332bd53c39e74ae0b82
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Dmitry Kovalenko [Wed, 29 Mar 2017 15:45:56 +0000 (18:45 +0300)]
Workarround hw specific screenshot issue
Qualcom devices has 16 pixel padding on right side
So display driver has screen_width+16 width
This workarround detects padding (as black pixels on the right)
Change-Id: I4aa5eea216cee561b19086ee8aa03ce6d8d5a8aa
Dmitry Kovalenko [Mon, 27 Mar 2017 07:15:57 +0000 (10:15 +0300)]
Rework license file creation for packages
Change-Id: Ia0be79eb837797f5a0e8c2206b9803aa3fcbf41a
Alexander Aksenov [Tue, 24 Jan 2017 16:38:37 +0000 (19:38 +0300)]
Fix subsequent type and info messages handling
Change-Id: I75ec9ed2c744d0a9fa1dd691e5bdbb9ee8bd6d4b
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Wed, 18 Jan 2017 13:27:19 +0000 (16:27 +0300)]
Load screenshot library on screenshot request
Previously it was loaded only on screenshot feature set.
Change-Id: Ief460da9be3d8068d110733c8139286e44db3a18
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Vyacheslav Cherkashin [Fri, 27 Jan 2017 15:00:04 +0000 (18:00 +0300)]
add test for _da_call_original()
Change-Id: Iaffa14dcdee204a0ed89aadd8c8fbd9e774eb1aa
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Thu, 26 Jan 2017 14:22:22 +0000 (17:22 +0300)]
ARM64: implement _da_call_original()
Change-Id: Ied848ffe9bce6940768f03ef47576ca535aae12f
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 16 Jan 2017 12:40:28 +0000 (15:40 +0300)]
Port da_gles30_native.cpp to aarch64
Change-Id: I375c0d35f82ec496dd6949b34cff24eb2150a65d
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 12 Dec 2016 11:33:56 +0000 (14:33 +0300)]
elf_parser: add plt support for AARCH64
Change-Id: Ie839952128c7ed10160dfe0325c8c3fd5dcd99cf
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Tue, 29 Nov 2016 15:33:56 +0000 (18:33 +0300)]
Add support 64-bits for api_names.txt
Replace hardcode "lib" path by "__lib_prefix__".
Change-Id: I645119146762e45ec3e276cf63b9949f475f7d21
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Tue, 29 Nov 2016 08:43:22 +0000 (11:43 +0300)]
Port installing dirs to 64-bit
use %{_bindir}, %{_libdir}, %{_includedir} instead of hardcode paths
Change-Id: I9da8e5eaf3a765c38ee6204ce5395f8dbdccd0bf
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 21 Nov 2016 08:31:44 +0000 (11:31 +0300)]
Add support build for AARCH64
Change-Id: I89e347b5ffd2074c11788f7fa91459ba5b0d37e1
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Tue, 29 Nov 2016 08:47:49 +0000 (11:47 +0300)]
Remove libdaprobe.so
Change-Id: If878e987f3ea8f6dddfb3bbfa5fd45a4171ed1e4
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 28 Nov 2016 15:10:24 +0000 (18:10 +0300)]
Remove unused code
Change-Id: I81499b367c81643d2a1b9dae333f79005a387629
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Wed, 16 Nov 2016 12:06:26 +0000 (15:06 +0300)]
elf_parser: redesign
Innovations:
- rewrite parsing elf file on C++
(parsing 32-bits and 64-bits have native common code)
- add 64-bits support
- new interface libparserelf.so
Update prebuild files: libparserelf_x86.so and libparserelf_x86_64.so.
To prepare ones use the following:
# patchelf --set-rpath /emul//usr/lib libparserelf_x86.so
# patchelf --set-rpath /emul//usr/lib64 libparserelf_x86_64.so
Change-Id: I034b187c1a4fdb28b132278d23d8954dc790edb1
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Tue, 15 Nov 2016 12:36:48 +0000 (15:36 +0300)]
elf_parser: add warnings flags
and fix build
Change-Id: I507e084f18b2d36c9eec71fec7e8956fce9715db
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Tue, 15 Nov 2016 12:35:34 +0000 (15:35 +0300)]
elf_parser: add Makefile
Split Makefile on Makefile and elf_parser/Makefile
Change-Id: I0fae040ceec35b3c12a005bcbc37f18f2d0e4930
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 14 Nov 2016 13:12:39 +0000 (16:12 +0300)]
Change caller type
To support ARM64
Change-Id: Id76f93a21e8e4d0d1e8bd99024bf2b6a201ed980
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 14 Nov 2016 13:08:31 +0000 (16:08 +0300)]
Port KHASH_MAP_INIT_VOIDP() to arm64
Change-Id: I7654d0b30019a3078a6471cc9b429536b08264f0
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 14 Nov 2016 12:37:35 +0000 (15:37 +0300)]
Remove unused code
Clean deadcode from:
include/dacollection.h
helper/dacollection.c
Change-Id: Ieb3c089248128329b76987e5def602b243bbc215
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 17 Oct 2016 17:02:51 +0000 (20:02 +0300)]
Fix store to unaligned address
Because "strd" and "ldrd" can works with only aligned access,
we do not allow compiler (ARM) use "strd" instructinos
for saving uint64_t values.
Change-Id: I72d0022898d1c656860d08b654232fd7edb0556e
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Alexander Aksenov [Fri, 13 Jan 2017 09:23:38 +0000 (12:23 +0300)]
Replace dlopen() with manually searching link_map
dlopen() leads to running library constructors and other related
stuff which can be undesirable. Now link_map structures are
searched by iterating list of link_maps in _r_debug
Change-Id: Ic9d626cd600fc6596f503c57a765efb7a4740dca
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Thu, 29 Dec 2016 13:17:01 +0000 (16:17 +0300)]
Screenshot feature add
Previously it was a part of da_probe_tizen.so, but it was
removed to reduce da_probe_tizen library dependencies.
Change-Id: Ib0cc057a2d6bb87d51b12042555421132b354fea
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Wed, 28 Dec 2016 12:42:19 +0000 (15:42 +0300)]
Split screenshots into separate lib
Change-Id: If2fb7b5b649e07cfb9f342b2d8b8d52586a787a6
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Thu, 29 Dec 2016 13:04:25 +0000 (16:04 +0300)]
Remove unused declarations from dacapture.h
Change-Id: I1f5403d8a20e7960756e1a082a642e876bc2cc04
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Tue, 27 Dec 2016 16:44:32 +0000 (19:44 +0300)]
Remove unused dependencies
Change-Id: Ia9b8c514bf12cd135bd06b60c8f47238c501954d
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Tue, 27 Dec 2016 11:50:09 +0000 (14:50 +0300)]
Split graphics, ui and capi probes into separate libs
Change-Id: Ib73f16b6fb2f554042bb8d377f2faa41af23ae89
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Tue, 27 Dec 2016 11:57:52 +0000 (14:57 +0300)]
Remove real_functions.c/h
It was legacy mechanism for working with native LD_PRELOAD.
Change-Id: I738cbbbc5e3ce77a3d6039341fbbb7d2745787a4
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Gihun Chang [Mon, 2 Jan 2017 07:11:07 +0000 (16:11 +0900)]
Remove the dependency to debug repository
Change-Id: I7c151372471963c70c22eaa9c8ca37f29c07f03c
Anatolii Nikulin [Tue, 27 Dec 2016 15:40:56 +0000 (18:40 +0300)]
Destroy wayland queue using for capturing screenshots
Change-Id: I9ce1f29ef8cd13e626e57cb2037e3bdd3bfd82c4
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Vitaliy Cherepanov [Tue, 27 Dec 2016 08:08:26 +0000 (11:08 +0300)]
Fix memleak in add_binary and remove_binary
Change-Id: I5ffe57492cfd6cf6b8117c9d80bac298191d51f0
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Signed-off-by: Dmitry Kovalenko <d.kovalenko@samsung.com>
Ivan Baravy [Thu, 10 Nov 2016 17:33:30 +0000 (20:33 +0300)]
Fix build with GCC6
Change-Id: Id29fed5ead8f12a8ec4b5cd0e70e9b7a39e8413d
Alexander Aksenov [Mon, 12 Dec 2016 11:49:00 +0000 (14:49 +0300)]
Remove UI callbacks from feature probes list
UI event handlers are registered as a common callbacks via
ecore event handlers mechanism. So, these probes are not
require patching their calls in .got section.
Change-Id: I24bf3bd9f96139f3a55e0411b5a7053925e9281e
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Fri, 9 Dec 2016 12:37:11 +0000 (15:37 +0300)]
Remove unused label
Change-Id: I5f8e4efa8b1bdfae88eb9d56aabad49fc94bdb59
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Thu, 8 Dec 2016 12:23:05 +0000 (15:23 +0300)]
Fix errno for pthread_exit() probe
Change-Id: I57ae484f8287180d2e6cc1460c6d59f62257dbd5
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Wed, 7 Dec 2016 18:57:04 +0000 (21:57 +0300)]
Fix memory allocation for msg data
Previously wrong message have lead to an application fail,
now it leads to error.
Svace issue.
Change-Id: Ibfb62a79df9e47f4b294e40160fb9aad342315ae
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Wed, 7 Dec 2016 14:27:04 +0000 (17:27 +0300)]
Remove gesture hash lists
Because they are useless now.
Svace issue.
Change-Id: I7a001718deb464b768249c50155d36a931d27f88
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Dmitry Kovalenko [Fri, 9 Dec 2016 07:54:51 +0000 (10:54 +0300)]
Add BSD-2.0 license
Change-Id: Iedfed71fa5db15d63292185b430060897a2a25ca
Maxim Ostapenko [Wed, 7 Dec 2016 13:18:51 +0000 (16:18 +0300)]
Revert GCC specific changes in LSan code.
Change-Id: I52e3cc2f31e3ea1b2d1da9aca6639a94cd56b42a
Signed-off-by: Maxim Ostapenko <m.ostapenko@samsung.com>
Maxim Ostapenko [Wed, 7 Dec 2016 12:39:07 +0000 (15:39 +0300)]
Add LICENSE.compiler-rt file for LSan source directory.
Change-Id: If24cd1be428ff20b3862a91dcd1ea7f2459fbece
Signed-off-by: Maxim Ostapenko <m.ostapenko@samsung.com>
Dmitry Kovalenko [Wed, 7 Dec 2016 13:29:46 +0000 (16:29 +0300)]
Add copyright about code copied from wayland
Change-Id: I6729c9fdb7e81d707e780a5b5cd32a16392f8d4b
Maxim Ostapenko [Wed, 30 Nov 2016 14:28:30 +0000 (17:28 +0300)]
Register readable anonymous mappings in root set during LSan initialization.
It appears that EFL (eo) uses anonymous mmaps to allocate internal tables.
These tables would contain pointers to user chunks thus must be added to LSan's
root set. Unfortunately, in general case we cannot identify these mapping, but
we can use heuristic: add all anonymous mappings to root set during LSan
initialization.
Change-Id: I75a43045b12edea631727e2e74be5e3e103f7590
Signed-off-by: Maxim Ostapenko <m.ostapenko@samsung.com>
Vyacheslav Cherkashin [Thu, 24 Nov 2016 16:46:46 +0000 (19:46 +0300)]
capi: fix lifecycle
Now ui_app_main() is caught for all binaries.
Change-Id: Id93a0d4cff75833456fe0727776142ffdc8a3c0b
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Dmitry Kovalenko [Thu, 24 Nov 2016 06:42:51 +0000 (09:42 +0300)]
Fix SVACE issue
- redundant NULL check
Change-Id: I660d96fb63b2d8f1ac86154da564cab6e49dc602
Signed-off-by: Dmitry Kovalenko <d.kovalenko@samsung.com>
Vyacheslav Cherkashin [Tue, 22 Nov 2016 12:32:40 +0000 (15:32 +0300)]
parse_elf: add x86_64 environment support
Change-Id: Ie153edaa89288c0f08dae80f89f45785b0f70368
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vitaliy Cherepanov [Fri, 18 Nov 2016 13:11:14 +0000 (16:11 +0300)]
GOT: Disable preload addreses search in libs.
Change-Id: Ie12407557eb5cbcce67f0790bdc107eb6a725675
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Vitaliy Cherepanov [Fri, 18 Nov 2016 07:59:16 +0000 (10:59 +0300)]
Fix probe_file probes.
add _IO_putc handler
add _IO_getc handler
add __isoc99_fscanf handler
Change-Id: I119ef385d78aeede45b192ded0a6cde682bc337d
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Vitaliy Cherepanov [Fri, 18 Nov 2016 07:55:20 +0000 (10:55 +0300)]
Fix ungetc probe.
wrong probe API id entry packed to trace
Change-Id: I9c3bee3997e86f799b0cf5c41ba428fe70ec6d9f
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Vitaliy Cherepanov [Fri, 18 Nov 2016 07:13:48 +0000 (10:13 +0300)]
Refactor PROBES_LIST x-macroses
Change-Id: Ic61ac7975d954e186d2a427159874992ffb95352
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Vitaliy Cherepanov [Thu, 10 Nov 2016 15:32:51 +0000 (18:32 +0300)]
Fix file io probes handlers
replace wrong original function calls
Change-Id: Ib9f4810034be9fbda9c56d5985fadf55128f70d4
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Alexander Aksenov [Tue, 15 Nov 2016 12:53:07 +0000 (15:53 +0300)]
GOT patcher: support data.rel.ro
Change-Id: I9b405aa27d80544edc77e688983c5211d6f40a08
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Wed, 9 Nov 2016 12:45:47 +0000 (15:45 +0300)]
GOT patcher: add profiling by apps comm
Workaround for web apps
Change-Id: I37d8d5a315da53929b77d1d63e15aaebf5044a57
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Vitaliy Cherepanov [Wed, 9 Nov 2016 12:30:44 +0000 (15:30 +0300)]
Add field with function address to MSG_PROBE_
MSG_PROBE Common columns change:
/---+-------------------+------+------------------\
| n | name | size | change |
|---+-------------------+------+------------------|
| 1 | API ID | 4 | same |
| 2 | PID | 4 | |
| 3 | TID | 4 | |
| 4 | args | var | |
| 5 | return | 8 | |
| 6 | errno | 8 | |
| 7 | Internal call | 4 | |
| 8 | Caller_PC_address | 8 | |
|---+-------------------+------+------------------|
| 9 | reserved | 4 | probe undefined |
| 10| reserved | 4 | instruction addr |
| | | | size 8 bytes |
\---+-------------------+------+------------------/
Change-Id: I290c8aff071d84d7688044686bed268fc52d40c1
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Maxim Ostapenko [Mon, 7 Nov 2016 14:29:16 +0000 (17:29 +0300)]
Add strdup probe.
Currently SWAP doesn't intercept allocation functions coming from Glibc, thus
it misses strdup. However, strdup is one of the most favourite instruments for
introducing memory leaks (developers often forgot to free memory allocated by
strdup). Although the correct fix would be handling all allocations coming from
Glibc, this change is too intrusive now. Thus, just add strdup probe to be able
catch memory leaks, introduced by strdup.
Change-Id: Ibea87ee8b05533fc7230d0d9923c214e9bd0fe97
Signed-off-by: Maxim Ostapenko <m.ostapenko@samsung.com>
Maxim Ostapenko [Mon, 7 Nov 2016 12:20:03 +0000 (15:20 +0300)]
Fix reallocation bug in LSan.
The LSan library had a bug in realloc interceptor that incorrectly tries to
reallocate LSan owned buffer to Glibc heap and fails. This scenario was
observed in libglib library. Fixing this issue allows us to remove libglib
from ignored libs.
Change-Id: Ifa195307365a1e06210da607239d2594632e0ba0
Signed-off-by: Maxim Ostapenko <m.ostapenko@samsung.com>
Maxim Ostapenko [Tue, 8 Nov 2016 08:07:27 +0000 (11:07 +0300)]
Fix warnings in LSan code.
Just a small cleanup patch to get rid of compiler warnings.
Change-Id: I3c9bf880e0abb00a884ccc51518b365a7dbf52fd
Signed-off-by: Maxim Ostapenko <m.ostapenko@samsung.com>
Alexander Aksenov [Tue, 8 Nov 2016 11:00:02 +0000 (14:00 +0300)]
Fix svace issues
Change-Id: I957fa6efaaceb9bf2b9a5ab0ba93d8ce39a077cb
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Anatolii Nikulin [Tue, 1 Nov 2016 15:40:49 +0000 (18:40 +0300)]
Fix wayland multithreaded issue
Our thread creates its own private queue for taking screenshots
instead of using wayland default queue, because it may lead to deadlocks
Change-Id: I289ccaa773f990fc8b02e1393b268becfabdb800
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Alexander Aksenov [Wed, 19 Oct 2016 09:34:18 +0000 (12:34 +0300)]
GOT patcher: add libglib to ignored
Issue:
libglib leads to a fail when LSan is using GOT patcher.
Solution:
Add libglib to ignored libraries. GOT patcher itself works ok
with this library, so this issue should be investigated in
LSan.
Change-Id: I9006109e299c18059a5a10b7f4c9fd6489a6d41b
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Thu, 13 Oct 2016 14:59:06 +0000 (17:59 +0300)]
GOT patcher: support API-by-pointer calls
Issue:
When target API function is called via pointer, not directly,
it was not handled, because symbol was stored in variables section
and not in functions.
Solution:
Patch not only function, but also variable section when variable
name is the same as a target API.
Change-Id: I3178360ddf8d1099e63ec9119d7322e70fefc5f7
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Thu, 6 Oct 2016 12:08:50 +0000 (15:08 +0300)]
GOT patcher: add LSan to ignored libs
Issue:
LSan lib as well as another profiler libs should be ignored
by GOT patcher, because their API usage is supposed to be
an auxiliary one.
Solution:
Add LSan library to ignored ones.
Change-Id: If75f79320946b162938edf2148f45eb34631cd5e
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Mon, 3 Oct 2016 14:50:07 +0000 (17:50 +0300)]
GOT patcher: fix memory probes for ARM
Issue;
When profiling ARM console apps, creating receive thread in
swap-probe leads to a fail.
Solution:
Make thread creation arch-depndent: for i386 thread attributes
are inited manually, for ARM default initialization is used.
Change-Id: I495cc21bcaa54b6a8a1956fd5843d6cd63cef7c1
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Tue, 27 Sep 2016 12:55:22 +0000 (15:55 +0300)]
GOT patcher: support null program_invocation_name
Change-Id: Iab5db29972ad2e4f698c1401d16d22e3f0f49f9d
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Mon, 26 Sep 2016 17:04:33 +0000 (20:04 +0300)]
GOT patcher: add main binary support
Change-Id: I09681f727165ccbeda199610d96136e227708097
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Wed, 21 Sep 2016 17:55:35 +0000 (20:55 +0300)]
GOT patcher: allocate system specified stack size
Change-Id: Ic6db3d50067825077847a94c47391efc27d4a52e
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Thu, 15 Sep 2016 13:03:17 +0000 (16:03 +0300)]
GOT patcher: profiling console apps
Change-Id: Ie737aa22490c5a15800e52d3b0664a589594efd6
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Wed, 14 Sep 2016 16:13:14 +0000 (19:13 +0300)]
Add initialization pthread_attr struct
Now probe library is loaded very early for common apps
and that time pthread attribute default structure is not
initialized yet, so we do it manually
Change-Id: I7bf62cf6f52b08116aca2436455bf2011ecc5690
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Tue, 13 Sep 2016 10:19:19 +0000 (13:19 +0300)]
GOT patcher: separate Event feature
Change-Id: Ibc2153566c117989e5a0a01ee4b8068c089b2bd4
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Wed, 31 Aug 2016 16:41:34 +0000 (19:41 +0300)]
GOT patcher: add UIHV lib to ignored
Change-Id: I1709a04180c073adea96a0576bd8d909501bee06
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Tue, 23 Aug 2016 13:11:26 +0000 (16:11 +0300)]
GOT patcher: improve cb GL function support
Change-Id: I25b4a9db773f2315e66069d78da3e11149b23c62
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Thu, 18 Aug 2016 14:37:20 +0000 (17:37 +0300)]
Fix GOT patcher build for TV
Change-Id: I72252710b64948d2a474f876f8b9570666c765b7
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Thu, 18 Aug 2016 13:00:34 +0000 (16:00 +0300)]
Fix patching malloc in linker on ARM device
Change-Id: Id1711815c3fb8d60d6fad70a3e4ce664ae4d947f
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Wed, 13 Apr 2016 08:42:02 +0000 (11:42 +0300)]
GOT patcher: implement intital version
Change-Id: I8a0f2a590fabcdb439b3ec19c29f269379537b53
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Maxim Ostapenko [Wed, 26 Oct 2016 07:19:07 +0000 (10:19 +0300)]
Fix CHECK failures in LSan from official repositories.
Backported from LLVM mainline: https://reviews.llvm.org/rL285177.
Change-Id: Ife24ccafe0c23379848969d967b1559554874afc
Signed-off-by: Maxim Ostapenko <m.ostapenko@samsung.com>
Maxim Ostapenko [Mon, 24 Oct 2016 14:16:21 +0000 (17:16 +0300)]
Fix missed runtime dependency from swap-probe to swap-probe-lsan.
Change-Id: Ibe632fcea77af893b80edf5e847c17da40044aff
Signed-off-by: Maxim Ostapenko <m.ostapenko@samsung.com>
Maxim Ostapenko [Tue, 27 Sep 2016 15:29:54 +0000 (18:29 +0300)]
Add posix_memalign probe.
We need to add posix_memalign probe because libglib-2.0.so uses it for
its own slab allocator. Missing this memory area would cause LSan false
positive reports.
Change-Id: I36a2cabd334d6255e4b403475f18fc991fe58511
Signed-off-by: Maxim Ostapenko <m.ostapenko@samsung.com>
Maxim Ostapenko [Tue, 27 Sep 2016 15:21:23 +0000 (18:21 +0300)]
Extract information about leaked chunks from da_swap_lsan.so.
Since we want to send information about leaked chunks to host, we need somehow
extract it from liblsan.so. LSan provides couple of hooks to achieve this:
- __lsan_get_leaked_objects_num: returns the number of leaked objects.
- __lsan_get_leaked_objects_ptr: returns a pointer to array of leaked
objects.
Just use these hooks to extract necessary information. When extraction is
completed, notify the host about this.
Change-Id: I8e779368ab440ab02a9ef0db753621720f27ec61
Signed-off-by: Maxim Ostapenko <m.ostapenko@samsung.com>
Maxim Ostapenko [Wed, 10 Aug 2016 14:43:39 +0000 (17:43 +0300)]
Support LeakSanitizer.
This commit adds support for LeakSanitizer tool spawning from the SWAP
in order to find leaks in user applications. Main changes are:
- Initialize LSan from da_probe_tizen.so constructor.
- Add and use LSan hooks if liblsan.so was successfully loadeded.
- Make evas_object_show probe nonblocking (0 -> 2). This prevents
memory corruptions when Glibc's free tries to free LSan's malloc.
- Introduce new FL_LSAN_ENABLED flag. It activates
pthread_create/pthread_join probes and works together with
FL_MEMORY_ALLOC_ALWAYS_PROBING feature.
- Call try_do_leak_check before application termination.
Change-Id: Ia81f70f666823466888d771054da228772456a62
Signed-off-by: Maxim Ostapenko <m.ostapenko@samsung.com>
Maxim Ostapenko [Wed, 14 Sep 2016 16:54:03 +0000 (19:54 +0300)]
Deliver LeakSanitizer sources.
- Add LSan sources.
- Add "lsan" target to Makefile.
- Add swap-probe-lsan rpm package.
Change-Id: I1ec597755ca5c0f4b0da43c0140fbd6165f27da1
Signed-off-by: Maxim Ostapenko <m.ostapenko@samsung.com>
Junghyun Kim [Wed, 24 Aug 2016 00:30:18 +0000 (09:30 +0900)]
Use a sorted list of files in __get_libs_in_dir_by_mask to avoid unnecessary rebuilds.
- PROBLEM
We use OBS to build packages in Tizen.
There is a mechanism not to rebuild when the result binary is the same.
For example, there is a dependency graph: A->B->C.
If A is modified, B would be built.
If the result RPM of B is not changed, OBS does not trigger a build of C.
To effectively use this mechanism, each packages make sure that
the result binary should be the same if the input source is the same.
There is a reason we found is that the file list given by
python(os.walk(), os.listdir()), widely used executable(find),
and system call(readdir()) is unordered.
In this case, different OBS workers can make different results
because of the file list in different order.
The same thing happens in swap-probe.
This package uses os.walk(os.path.dirname(path_mask))
in __get_libs_in_dir_by_mask() in scripts/gen_headers.py.
This makes a list libs_in_dir_tmp which is unordered.
- SOLUTION
Therefore, I suggest to sort this list libs_in_dir_tmp using sorted().
I tested this in my test OBS server, and I found that
the result RPMs are the same after this patch.
Change-Id: I78f2df2540b19d6665c0b3d6d6d3d41607e0f90f
Signed-off-by: Junghyun Kim <jh0822.kim@samsung.com>
Alexander Aksenov [Mon, 29 Aug 2016 10:58:38 +0000 (13:58 +0300)]
Ignore debug binaries in all libs
Change-Id: I312651d8b372559c81a9bf93b1a7f959032ef47f
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Tue, 16 Aug 2016 08:01:23 +0000 (11:01 +0300)]
Fix null pointer dereference
When parsing elf binary without any symbols previously
null pointer dereference occured.
Change-Id: I67316a8e8e9f4d4d912c518f942468974003453f
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Dmitry Kovalenko [Wed, 3 Aug 2016 11:52:01 +0000 (14:52 +0300)]
Remove unused source files
Change-Id: Ib17155e05390ee3faa248c488b6c57d2333ddb8b
Signed-off-by: Dmitry Kovalenko <d.kovalenko@samsung.com>
Dmitry Kovalenko [Tue, 12 Jul 2016 13:01:29 +0000 (16:01 +0300)]
Optimize building time
- Use parser library directly from python
- Preprocess library list to remove not libs
- Use more faster commands
- Added x86 library (binary) for using with python-accel
Change-Id: I94202468ae2d5009885b61a8302fcde71dee3e5d
Signed-off-by: Dmitry Kovalenko <d.kovalenko@samsung.com>
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Vitaliy Cherepanov [Wed, 29 Jun 2016 12:50:07 +0000 (15:50 +0300)]
[FIX] console application instrumentation
Change-Id: Ib1a96b98e0a4f0189000e7fc59082c85d09020d3
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Signed-off-by: Dmitry Kovalenko <d.kovalenko@samsung.com>
Dmitry Kovalenko [Fri, 8 Jul 2016 05:05:31 +0000 (08:05 +0300)]
Replace WAYLAND_SUPPORT by TIZEN_FEATURE_WAYLAND
Change-Id: I1de06928a013db311220617141654b4384831fa1
Signed-off-by: Dmitry Kovalenko <d.kovalenko@samsung.com>
Anatolii Nikulin [Wed, 6 Jul 2016 09:42:44 +0000 (12:42 +0300)]
fix screenshots
use tbm buffer for image instead shared memory
Change-Id: I60afc17c92adf39a8e6ef933d43e0b99a425ae93
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Anatolii Nikulin [Fri, 1 Jul 2016 11:36:45 +0000 (14:36 +0300)]
add strict dependency for capi-appfw-application
Change-Id: I739c832ff10a45c750bf9382bb0664cf6d74d55f
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Anatolii Nikulin [Thu, 23 Jun 2016 11:30:46 +0000 (14:30 +0300)]
[FIX] symbols searching
Change-Id: I4cf9c53deec67c8dab35409d9d6c7ae8ce87eb71
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Vitaliy Cherepanov [Wed, 15 Jul 2015 12:40:12 +0000 (15:40 +0300)]
[IMPROVE] add function names for LD_PRELOAD probes
Change-Id: Iccbfcb78c262cdbaee07dcece5e8c56977ab85a5
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Vyacheslav Cherkashin [Tue, 17 May 2016 16:24:50 +0000 (19:24 +0300)]
[IMPROVE] parse_elf: add symbol type to output
Change-Id: I2c124cf5de324e213dd2f97c64ac4e4d4c61b4ac
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Anatolii Nikulin [Thu, 19 May 2016 14:26:33 +0000 (17:26 +0300)]
[IMPROVE] Implement screenshot and orientation event features
We take screenshot using Wayland API,
for orientation events we use Tizen sensors API
Change-Id: Ib80b322d61d41e4f952d0d0ece513ed30e4898d2
Signed-off-by: Anatolii Nikulin <nikulin.a@samsung.com>
Dmitry Kovalenko [Tue, 17 May 2016 14:22:21 +0000 (17:22 +0300)]
Merge branch 'tizen_2.4_dev' into tizen
Change-Id: Ib4cee57f1ac18ffd2879d8f7f9abd3a34c7f0d22
Vitaliy Cherepanov [Fri, 15 Apr 2016 15:41:21 +0000 (18:41 +0300)]
[FIX] remove build warnings
Change-Id: I795b61c520063b2adb883a9daae6a4e12d96d41d
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Alexander Aksenov [Wed, 13 Apr 2016 09:19:28 +0000 (12:19 +0300)]
[REFACTOR] Place all probes macro in the same header
Change-Id: I871eae18a09275cccc3e0e62c12f7f7abebe628c
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Fri, 8 Apr 2016 09:36:31 +0000 (12:36 +0300)]
[REFACTOR] Rename recv_thread
Change-Id: Ib141bbe4b992c38ea6b4933068a344b92431bf0b
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Fri, 8 Apr 2016 09:17:28 +0000 (12:17 +0300)]
[REFACTOR] Rename createSocket
Change-Id: I574304fd4d1a98683a16bd6df3db5dbf71d3cb57
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Mon, 4 Apr 2016 15:42:24 +0000 (18:42 +0300)]
[CLEAN] Remove some more dead code
Removed:
- struct probeInfo and its interface macros;
- getCurrentTime();
- enum MonitorType;
- enum BlockLocation;
- postBlockEnd() (empty);
- gProbeDepth (unused);
- __appendTypeLog();
- getBacktraceString();
- some commented code;
- dautil.h (contains debug that is useless);
setProbePoint() replaced with inc_current_event_index(),
because it was the only usage of this function.
Change-Id: I08efc7a84a759d1585b20a8e907a851cb764e1ff
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Thu, 31 Mar 2016 13:29:07 +0000 (16:29 +0300)]
[CLEAN] Remove dead code
Removed because it is never used now:
- getting app map address;
- backtraces;
- screen capture initialization;
- symbol hash table;
- ui object hash table;
- object hash table;
- detector hash table;
- map list (used for filtering callers);
- app start time storing;
- pack uicontrol and pack scene;
- handling APP_MSG_MAPS_INST_LIST message.
Change-Id: Ie93c1ea717e6b9bf0fad6fe362264a46bdd234a0
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Vitaliy Cherepanov [Fri, 15 Apr 2016 15:41:21 +0000 (18:41 +0300)]
[FIX] remove build warnings
Change-Id: I795b61c520063b2adb883a9daae6a4e12d96d41d
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>