Dmitry Kovalenko [Tue, 15 Aug 2017 08:38:29 +0000 (11:38 +0300)]
Fix unhandled malloc errors
Change-Id: I35f09fd4aab988dbd174d079475a46ba44e27a10
Signed-off-by: Dmitry Kovalenko <d.kovalenko@samsung.com>
Vyacheslav Cherkashin [Tue, 2 May 2017 15:06:28 +0000 (18:06 +0300)]
Fix close socket (probe - manager) after stop
Change-Id: Ie95542d27fee0f8fb42c89c7d5fe00428b3ace99
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Vyacheslav Cherkashin [Mon, 21 Aug 2017 14:24:37 +0000 (17:24 +0300)]
Fix socket message handling
Change-Id: I8242a9e1b1168133ae347dc8c3d2669d78975cde
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Alexander Aksenov [Wed, 14 Jun 2017 11:34:08 +0000 (14:34 +0300)]
Fix GOT double patching
Now if entry in GOT points into SWAP libraries, it won't be
patched again.
Change-Id: I0659dd820a89f35694ab8f7108060a2f3e1085d0
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Dmitry Kovalenko [Wed, 14 Jun 2017 07:35:03 +0000 (10:35 +0300)]
Fix memory leak in screenshot feature
Change-Id: I579a2546bd7630b7b1d7b8ef65d57379e7c0568a
Dmitry Kovalenko [Thu, 25 May 2017 12:14:12 +0000 (15:14 +0300)]
Fix build warning (unnecessary escape char in awk)
Change-Id: I336a2f955584782b9741954fce906ab2b3619aa7
Alexander Aksenov [Thu, 4 May 2017 12:04:49 +0000 (15:04 +0300)]
Fix probe lib data generation
Change-Id: I1dd56e7f91525deb1acfe5e08286761a624233c4
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Tue, 7 Mar 2017 18:34:59 +0000 (21:34 +0300)]
Probe generation definitions refactor
Change-Id: Iba97cb165afe432f6f1968265e7ede4c9fbc280e
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Mon, 6 Feb 2017 12:45:10 +0000 (15:45 +0300)]
Fix probes header generation
- structure name includes full library path, not only
basename;
- pluses replaced with '_'
Change-Id: I30c9556298a9562faf48db9ddabc4b6a18cf2210
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Mon, 23 Jan 2017 18:09:28 +0000 (21:09 +0300)]
Add different handler libs handling
This commit is related with same name commits in swap-manager
and swap-modules.
Change-Id: I89e99ab1dcc8d1326c9e655c1d530960896a889f
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Mon, 23 Jan 2017 12:22:32 +0000 (15:22 +0300)]
Add preload features loading support
- libraries loading is splitted from GOT patching;
- now libraries loaded also for preload features
Change-Id: Ief02a7f0ee105d33b4f2e6ec25cd997fe4eb00e1
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Thu, 19 Jan 2017 12:24:50 +0000 (15:24 +0300)]
Support the whole 128 feature's bits in library.
It will be useful to load libraries for preload features,
because they are on the last 64 bits of features now.
Also, features are passed as integers, not as string as before.
This commit is related with swap-manager commit of the same
name.
Change-Id: I4b51dd16cff64a9bdfccc35700298f558836d71c
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Tue, 17 Jan 2017 12:48:27 +0000 (15:48 +0300)]
Change dlsym flags
RTLD_NEXT -> RTLD_DEFAULT. Library loading time is unpredictable,
so target symbol can be anywhere in linker list and this lead to
real func searching fails somethimes. Our probes
have not the same name as target functions so, it is good and
safety to use RTLD_DEFAULT instead of RTLD_NEXT.
Change-Id: I7900631e2edefc5e5e6f5bfd922e3974a7a37ac8
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Tue, 13 Dec 2016 16:59:34 +0000 (19:59 +0300)]
Cleanup code
- remove comments that were related to GOT patcher's Preload
supporting
- function isNotFiltOptionEnabled() never used
- unused _sopt variable from da_egl_tizen.cpp
- OPT_* features replaced with FL_*
- remove unused defenitions from daprobe.h
Change-Id: Ie7a17d6990f1bb1dae082164001a0067dfad5bb2
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Tue, 13 Dec 2016 12:09:54 +0000 (15:09 +0300)]
Add separated Preload features
- now all preload-related features are in feature_code_1, so
it is written after generation now;
- enable feature headers generation.
- support Preload headers generation in gen_headers
Related with swap-manager commit
Change-Id: Ieca42b27b8a1d0e71dc2eb66701c2081d35869f0
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Tue, 13 Dec 2016 10:02:25 +0000 (13:02 +0300)]
Preload: searching special wrappers for kernel calling
Now special wrappers for kernel calling are used, so their
addreeses are searched.
Change-Id: I1cb28ee6c7d465abedadf5a39c14ef10224f5f1f
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Tue, 6 Dec 2016 16:15:59 +0000 (19:15 +0300)]
Preload: Add orig field pointer passing to kernel
Since preload implementation there field with originally
called API address has arrived, it should be send in each
probe message. When probe handlers called via preload
mechanism we cannot get this information in user-space, so
this field left zero and its address is passed to kernel
for filling here.
This commit is related with swap-modules commit with the
same name.
Change-Id: I713c825070718b1c4922d4ee7e6f4f5354b381a0
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Tue, 6 Dec 2016 14:39:21 +0000 (17:39 +0300)]
Refactor probes with variable arguments
Now there is special definition for such probes wrappers
Change-Id: I8a04f49ed0f6d971b654472909b486e5cf987896
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Mon, 5 Dec 2016 11:20:47 +0000 (14:20 +0300)]
Remove dead code defenitions from da_socket.h
Change-Id: I8ad1ed463f70770f0deae7fcc94e38fbefce8cf4
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Thu, 1 Dec 2016 17:21:50 +0000 (20:21 +0300)]
Add kernel called wrappers for probes
Previously to the handler themselves data variables were passed.
It was not scalable and difficult to maintain. Now these
variables replaced with structure that contains this data. This
makes passing data more flexible and reduces stack usage on some
platforms.
Also it separates original address (address where probe has
fired) and exec address (pointer to function that should be
executed). It was done because of a great difference between
GOT patcher-based handling and Preload-based: in the second
case we have no avaliable information in user-space about
caller, call_type and original address and exec address
is the result of a dlsym() search while in the first case
we know everything in userspace.
Change-Id: Ib47fa1e655c5f820fdefacea7bd8e85765e62b8c
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Thu, 1 Dec 2016 14:41:31 +0000 (17:41 +0300)]
Preload: add support at probes saving
Now writing messages flexibly supproting both GOT patcher
and Preload
Change-Id: I7d263f1f9a7dc646fe604202e3d90fa7e2dace3f
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Thu, 1 Dec 2016 12:49:52 +0000 (15:49 +0300)]
Replace TYPE_AND_INFO with TARGET_BINS message
Now type of preload is not send
Related with swap-probe commit
Change-Id: I75953a9a9b19f78a10de5faa7a7722da89a45322
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Mon, 15 May 2017 13:10:22 +0000 (16:10 +0300)]
Code style fix
Change-Id: I0162eae75320bc265f03fd2933655ab9ca7b7ed5
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Alexander Aksenov [Wed, 31 May 2017 09:52:24 +0000 (12:52 +0300)]
Make splitted profiler's libs ignored
Change-Id: I54452384bb745e085dad52aa6d7b56ed5999a55e
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
Vyacheslav Cherkashin [Thu, 20 Apr 2017 13:52:46 +0000 (16:52 +0300)]
Move screenshot storing to manager
Change-Id: Id31ba8135075c4f265819f4ecb2f3525686f78b1
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
Alexander Aksenov [Tue, 18 Apr 2017 13:40:03 +0000 (16:40 +0300)]
Remove useless check
Change-Id: I519c0d2488325f3eee07398476b213616732a13a
Signed-off-by: Alexander Aksenov <a.aksenov@samsung.com>
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>