Merge pull request #45 from dotnet/update_ni_common_to_handle_exe_extension
Refactoring ni_common.cc
Woongsuk Cho [Wed, 13 Mar 2019 22:11:36 +0000 (07:11 +0900)]
Merge branch 'update_ni_common_to_handle_exe_extension' of github.sec.samsung.net:dotnet/dotnet-launcher into update_ni_common_to_handle_exe_extension
Conflicts:
NativeLauncher/installer-plugin/ni_common.cc
Woongsuk Cho [Wed, 13 Mar 2019 05:46:00 +0000 (14:46 +0900)]
Refactoring ni_common.cc
1. add /out option to crossgen to handle extension change case
2. move duplicated code
Woongsuk Cho [Wed, 13 Mar 2019 05:46:00 +0000 (14:46 +0900)]
Refactoring ni_common.cc
1. add /out option to crossgen to handle extension change case
2. move duplicated code
Woongsuk Cho [Wed, 6 Mar 2019 04:05:52 +0000 (13:05 +0900)]
Enable r2r/fnv selection for -regen-all-app option.
Previous implemenataion supports r2r mode only for --regen-all-app.
For convinence of development enable --r2r option for --regen-all-app.
ex) nitool --r2r --rege-all-app
Woongsuk Cho [Wed, 6 Mar 2019 04:05:52 +0000 (13:05 +0900)]
Enable r2r/fnv selection for -regen-all-app option.
Previous implemenataion supports r2r mode only for --regen-all-app.
For convinence of development enable --r2r option for --regen-all-app.
ex) nitool --r2r --rege-all-app
Woongsuk Cho [Mon, 25 Feb 2019 09:25:27 +0000 (18:25 +0900)]
Add COMPlus_DebugWriteToStdErr=1 to environment.
System.Diagnostics.Debug.WriteLine() function write logs to journalctl which cannot be accessed by 3rd party developer.
To show that logs to dlogutil, add environment value "COMPlus_DebugWriteToStdErr=1".
Igor Kulaychuk [Thu, 24 Jan 2019 20:21:27 +0000 (23:21 +0300)]
Call injectLibrary() after plugin initialization
Change-Id: Ief3c954196f6e41c841943f100b884d67f2a704f
Hyungju Lee [Wed, 19 Dec 2018 01:08:03 +0000 (10:08 +0900)]
Free localDataPath after done using it
Change-Id: I336bb29ed005c5a750176a064ef4e7d837c73046
Woongsuk Cho [Fri, 7 Dec 2018 02:07:04 +0000 (11:07 +0900)]
Remove dependency from Elementary
To use dotnet-launcher on the headless device (device without a graphical user interface),
remove build and runtime dependency from Elementary.
Elementary is used in ther launcher.cc file to precreate elm_window for enhancing application startup time.
To remove dependency, load elementary library with dlopen.
If libelementary.so.1 file doesnot exist, precreation is skipped.
Woongsuk Cho [Tue, 4 Dec 2018 07:17:04 +0000 (16:17 +0900)]
To support headless devices, it is necessary to remove graphics related dependencies.
This patch is the first one that uses liblaunchpad instead of launchpad which has a EFL dependency.
Woongsuk Cho [Tue, 4 Dec 2018 06:56:46 +0000 (15:56 +0900)]
Sometimes a process terminates abnormally due to a signal generated during coreclr_shutdown.
In order to handle this situation, plugin must get notification before coreclr_shutdown.
So, call pluginFinalize before coreclr_shutdown.
And unload the plugin library after coreclr_shutdown() to avoid breaking the signal chain.
박정혁/Tizen Platform Lab(SR)/Staff Engineer/삼성전자 [Mon, 26 Nov 2018 23:07:47 +0000 (08:07 +0900)]
Merge pull request #25 from dotnet/ignore_signal_when_terminate
ignore SIGABRT after starting coreclr shutdown
Woongsuk Cho [Mon, 26 Nov 2018 08:12:57 +0000 (17:12 +0900)]
If the native upcall comes after starting coreclr shutdown steps, SIGABRT is raised by the PalException.
To avoid that kind of crash, ignore SIGABRT after starting coreclr shutdown.
Woongsuk Cho [Wed, 7 Nov 2018 10:21:13 +0000 (19:21 +0900)]
Allow ni common initialization for arm architecture only.
AOTed dlls which generated under x86 architecture do not work correctly.
So, skip ni file generation except arm architecture.
NI_COMMON module can be used by other tools (for example vd-nitool)
So, add architecture checking code in the initNICommon() function
Woongsuk Cho [Thu, 4 Oct 2018 23:11:31 +0000 (08:11 +0900)]
assgin return value to unused variable to avoid build warning message
Woongsuk Cho [Tue, 2 Oct 2018 04:31:37 +0000 (13:31 +0900)]
check size before calling substr()
Woongsuk Cho [Tue, 2 Oct 2018 04:38:24 +0000 (13:38 +0900)]
add missing else
Igor Kulaychuk [Mon, 1 Oct 2018 11:19:40 +0000 (14:19 +0300)]
Move injection to realMain
Change-Id: I33a114b0d1f524b922c4dc0f81bbfaac08168f6c
Igor Kulaychuk [Mon, 1 Oct 2018 09:22:46 +0000 (12:22 +0300)]
Injection refactoring: code cleanup
Remove gotos, add comments
Change-Id: I87d7be179225c3e4ad5a28d167a862b08f1ce0fb
Signed-off-by: Igor Kulaychuk <igor.kulaychuk@gmail.com>
Merge pull request #13 from dotnet/memory_profiler_fix
Memory profiler fix for security capabilities
Petr Bred [Fri, 28 Sep 2018 10:16:34 +0000 (13:16 +0300)]
Refactoring and add detail comments
Signed-off-by: Petr Bred <p.bred@samsung.com>
Aleksei Vereshchagin [Thu, 13 Sep 2018 19:37:54 +0000 (22:37 +0300)]
Use DOTNET_LAUNCHER_INJECT instead of LD_PRELOAD for HEAPTRACK configuration
Alexey Vereschagin [Wed, 12 Sep 2018 23:35:27 +0000 (02:35 +0300)]
Implement injectLibrary() function
Aleksei Vereshchagin [Thu, 13 Sep 2018 18:37:25 +0000 (21:37 +0300)]
Implement injection logic with injectLibrary() stub
Aleksei Vereshchagin [Wed, 5 Sep 2018 16:43:30 +0000 (19:43 +0300)]
Configurations for 'unified' launch for profilers
- the same way to launch both profilers through profctl
Signed-off-by: Aleksei Vereshchagin <avereschagin@dev.rtsoft.ru>
Woongsuk Cho [Thu, 6 Sep 2018 01:31:08 +0000 (10:31 +0900)]
support tizen5 rid
Eden Lee [Fri, 24 Aug 2018 03:50:28 +0000 (12:50 +0900)]
Fix wrong arguments in corerun mode
Change-Id: I3d0bfa0cfab368d07ce85b867461d77c471d8329
Aleksei Vereshchagin [Fri, 1 Jun 2018 09:57:07 +0000 (12:57 +0300)]
Add HEAPTRACK, COREPROFILER and LIVEPROFILER configurations
Change-Id: I554dacad5b7f6f1e5b7339c60fba4c56926b147a
Signed-off-by: Petr Bred <p.bred@samsung.com>
Igor Kulaychuk [Thu, 16 Aug 2018 17:13:59 +0000 (20:13 +0300)]
Disable debug pipes and semaphores creation in case of non-standlone mode
Change-Id: I618eaa439ab7cbda7b21809ad2b4f200230292a5
Woongsuk Cho [Fri, 10 Aug 2018 04:37:01 +0000 (13:37 +0900)]
delete erroneously added code by merge
Change-Id: I19f8b1023d61b900506c33887e071987e12e4919
Woongsuk Cho [Fri, 10 Aug 2018 02:19:24 +0000 (11:19 +0900)]
create coredump for unhandled exception
Change-Id: Ic03d31c38b0c2e6626844a7707e6c9e111729791
Woongsuk Cho [Fri, 10 Aug 2018 01:19:39 +0000 (10:19 +0900)]
use write function instead of fprintf in the signal handler
Change-Id: Idb95796bc59841a3ffa325272ffe983fe893d43a
Woongsuk Cho [Fri, 10 Aug 2018 01:15:09 +0000 (10:15 +0900)]
support corerun mode
Change-Id: Ieed7de4eeec2238e02191c4669bd28aa15bde1c1
Woongsuk Cho [Wed, 8 Aug 2018 05:54:45 +0000 (14:54 +0900)]
set environment for corefx special folder
Change-Id: I80e0dafb32f1b716142c50371a1bd5779ca01559
Woongsuk Cho [Fri, 27 Jul 2018 04:34:18 +0000 (13:34 +0900)]
donot create coredump file for unhandled exception
Change-Id: I6cf6f566357250d7161effb34bbbd26d473791af
Woongsuk Cho [Fri, 27 Jul 2018 04:23:40 +0000 (13:23 +0900)]
add plugin interface to check log control
Change-Id: Ib6ad49a13b8064582d100be10d08b7f8ded8ef8d
Woongsuk Cho [Fri, 27 Jul 2018 04:17:15 +0000 (13:17 +0900)]
use proper dlog tag
Change-Id: I85a5cd0c5aec1ceb12a35edbf9d50365d7862396
Eden Lee [Thu, 26 Jul 2018 06:19:55 +0000 (06:19 +0000)]
Merge "set environment for debugging by env_list" into tizen
Woongsuk Cho [Tue, 17 Jul 2018 00:22:03 +0000 (09:22 +0900)]
set environment for debugging by env_list
Change-Id: If360563f29bb7ec6ff336d318fea2e361bfb3549
Woongsuk Cho [Tue, 24 Jul 2018 11:07:47 +0000 (20:07 +0900)]
caching tpa list for optimization
Change-Id: I7853ff5979afbfdd88bb55910ddd89087ebec1ba
Woongsuk Cho [Tue, 17 Jul 2018 07:13:28 +0000 (16:13 +0900)]
call plugin_initialize before mainloop start
Change-Id: Id493273c8e5c9cee92c77d2e8779eae9ed6030b2
Woongsuk Cho [Mon, 16 Jul 2018 10:34:59 +0000 (19:34 +0900)]
add log manager to redirect stderr to dlog
Change-Id: Ifee7e724f155897dbc92fb27e7f402e5ced6ba54
Woongsuk Cho [Wed, 11 Jul 2018 01:35:15 +0000 (10:35 +0900)]
bug-fix : support plugin path for tpa
Change-Id: I98c0f768dcc6d135cdbc6bc2b3e9682d78cbd933
Woongsuk Cho [Tue, 10 Jul 2018 01:18:40 +0000 (10:18 +0900)]
check runtime initialize before launch application to avoid crash
Change-Id: I142bd6f5ab42414d0f9183535751143a3e20d3e3
Woongsuk Cho [Tue, 10 Jul 2018 01:17:08 +0000 (10:17 +0900)]
use new operation instead of calloc to avoid crash
Change-Id: I6cc0995be7fb08737ce47aa8712f5883ae072e70
j-h.choi [Fri, 6 Jul 2018 00:49:55 +0000 (09:49 +0900)]
[Tizen] Provide a symlink to installed Microsoft.NETCore.App version
https://review.tizen.org/gerrit/#/c/183471/
Change-Id: I540c3872b640b03a6c7fc8799f4b3a8a3fc8cfb5
Woongsuk Cho [Thu, 28 Jun 2018 07:21:02 +0000 (16:21 +0900)]
remove unnecessary log
Change-Id: I1213e18d3bfb49f4969e3072b7619a5ef0918a9b
Woongsuk Cho [Thu, 28 Jun 2018 01:54:35 +0000 (10:54 +0900)]
change runtime directory from 2.0.0 to 2.1.0
Change-Id: I178702eba570cffa25a38b643d9f407b80fa7969
Woongsuk Cho [Thu, 28 Jun 2018 01:53:14 +0000 (10:53 +0900)]
ignore small value for usleep to avoid SVACE issue
Change-Id: I2012379154c5a775dc1717f5b2a8c54bb929a8aa
Woongsuk Cho [Thu, 28 Jun 2018 01:03:20 +0000 (10:03 +0900)]
add comment for header and fix some wrong return value
Change-Id: I53c885ed0f3ffbd4c95321dca57a72e92632b387
Woongsuk Cho [Wed, 27 Jun 2018 02:23:14 +0000 (11:23 +0900)]
Refactoring dotnet-launcher
- remove unused code
- use std::string instead of char* to reduce human failure
- remove LauncherInterface
- create path manager and plugin manager
- provide AOT functionality to external
- dev package support
- some AOT functionality is added (dlls under package root)
Change-Id: I26972910324b60174cc2cf3ff6ec28da4a2fcd18
Igor Kulaychuk [Mon, 16 Apr 2018 15:01:00 +0000 (18:01 +0300)]
Enable launch under netcoredbg
Change-Id: I0c856827f1daa0d0e9ef6e6534439d3766c88a51
Woongsuk Cho [Mon, 11 Jun 2018 02:25:46 +0000 (11:25 +0900)]
use lldb-mi for debugging
Change-Id: I0c4b39efffaa60804f44f343ae14d3c35e79b25d
Cho Woong Suk [Fri, 25 May 2018 03:58:52 +0000 (12:58 +0900)]
add --r2r option for nitool to test ready-to-run feature of coreclr 2.1
Change-Id: I2e5afc8cf0b64fb6627df196c0325607c22c401a
j-h.choi [Tue, 8 May 2018 03:22:47 +0000 (12:22 +0900)]
[Coverity-112249] Fixed coverity issue. (NEGATIVE_RETURNS)
Change-Id: I9810f00e9647010ee5a948ef4d07877fd8fbbdbb
Cho Woong Suk [Thu, 26 Apr 2018 05:56:22 +0000 (14:56 +0900)]
add mode variable to extend dotnet-launcher by division
Change-Id: I1317d95d234cb502fb1a616109c3346113a9fdf3
Cho Woong Suk [Thu, 26 Apr 2018 05:46:13 +0000 (14:46 +0900)]
add nitool option to regenerate all app ni files
Change-Id: I0fe1ec13358f790aa4dfac35c7760c9dbd38c2b7
Cho Woong Suk [Thu, 26 Apr 2018 05:31:38 +0000 (14:31 +0900)]
add nitool option to generate ni for directory
Change-Id: I22f41e6fbb80e91044c144dd27747a969d27dce4
Cho Woong Suk [Thu, 26 Apr 2018 05:24:09 +0000 (14:24 +0900)]
remove warning message
Change-Id: I1ef0ed82c04ee51cd99f4a4fe239f0fccb075db7
Cho Woong Suk [Thu, 26 Apr 2018 05:22:53 +0000 (14:22 +0900)]
support multiple dll path for plugin
Change-Id: Ia528f3c2daab56c7b03ca4f679028545bf62ce21
JongHeon Choi [Wed, 25 Apr 2018 05:32:51 +0000 (05:32 +0000)]
Merge "change log tag from ERR to INFO for C# log" into tizen
Cho Woong Suk [Wed, 25 Apr 2018 02:28:12 +0000 (11:28 +0900)]
change log tag from ERR to INFO for C# log
Change-Id: I99f14b4972d9c5ed815a62a0e9dd7ce0d7386751
Cho Woong Suk [Wed, 25 Apr 2018 02:28:54 +0000 (11:28 +0900)]
remove media related library from preloading to reduce crash from muse-client
Change-Id: Ib9a2c11df2c9a302202cf338ef92a9af4a54df48
Cho Woong Suk [Mon, 2 Apr 2018 11:25:56 +0000 (20:25 +0900)]
add command to nitool to remove system and app ni
Change-Id: I0b223900bfcdc708706c79920721acaa761a0aa6
Cho Woong Suk [Fri, 23 Feb 2018 02:45:10 +0000 (11:45 +0900)]
to send stdout to dlog, move logging thread creation point
Change-Id: I929a29ce4f92b547eaa74f5bdf95c5c83c202946
(cherry picked from commit
65ee437b4cf72d4e4720f5d9c7c2e1d0a0d28676)
Cho Woong Suk [Thu, 22 Feb 2018 07:45:11 +0000 (16:45 +0900)]
multi-architecture support
Change-Id: Id7e7fc24b6fa35ca547e441a297d5d6325fef41b
(cherry picked from commit
db615b8826eed0fad8ecccd687b0b77d620c8ebf)
Cho Woong Suk [Fri, 2 Feb 2018 02:57:16 +0000 (11:57 +0900)]
support multi-architecture library for lib dir
Change-Id: Id603602bf46d477f3aa57813ad2f7c19e07aad9c
(cherry picked from commit
39ed7656c266b754e71eb430c02ad60a980d869d)
JongHeon Choi [Mon, 5 Feb 2018 05:12:16 +0000 (05:12 +0000)]
Merge "Initialize coreclr in the candidate process and change ON_BOOT value to OFF" into tizen
Cho Woong Suk [Thu, 25 Jan 2018 02:37:48 +0000 (11:37 +0900)]
Initialize coreclr in the candidate process and change ON_BOOT value to OFF
Change-Id: Ia1984c310a59dc7d8d011f73c2dbd64164d8c7d1
(cherry picked from commit
43a03fd7fb4fb983f493fc42599a55950ced466c)
Cho Woong Suk [Wed, 24 Jan 2018 02:13:20 +0000 (11:13 +0900)]
add interval between each crossgen
Change-Id: I9688331704322452cebe0a454ca03cf6bcf6d9e9
(cherry picked from commit
1b1fd307e364a6a6088f0aff31158035b8d6fb85)
woongsuk cho [Tue, 2 Jan 2018 05:24:43 +0000 (05:24 +0000)]
Merge "Add option to enable clang Asan build." into tizen
Cho Woong Suk [Thu, 14 Dec 2017 23:04:23 +0000 (08:04 +0900)]
Remove code related to %caps.
caps is handled by security team.
Change-Id: I8998e71d86dc6436bcd262cde74da1a6a3cfdd76
Cho Woong Suk [Wed, 13 Dec 2017 07:30:12 +0000 (16:30 +0900)]
remove module/function name from stderr log
Change-Id: I48980d8579ed68a54460a795b550e853a80e67c5
chunseok lee [Thu, 14 Dec 2017 07:03:37 +0000 (16:03 +0900)]
Add COMPlus_ZapDisable env variable
This patch is required to enable gdbjit with NI files
Change-Id: Ic470761589480722fcae79720cd0bf6fe1004bbf
Signed-off-by: chunseok lee <chunseok.lee@samsung.com>
(cherry picked from commit
4f26ced1190958c415fadc1356e54ae19920b4ae)
Konstantin Baladurin [Wed, 6 Dec 2017 06:18:22 +0000 (09:18 +0300)]
Add option to enable clang Asan build.
Now we can add '--define "asan_enabled 1"' option for gbs to enable
Asan build.
Change-Id: Iac347386c26e3a72aa1275c312550df809aff003
Cho Woong Suk [Tue, 5 Dec 2017 05:24:53 +0000 (14:24 +0900)]
Coreclr needs original executable dll path not ni file path for dll loading.
ni file searching is automatically done in the inside of coreclr
Change-Id: I14fc7629431a3b082da06189dd2031a61b571afa
Cho Woong Suk [Tue, 28 Nov 2017 05:04:34 +0000 (14:04 +0900)]
redirect stdout and stderr to dlog
Change-Id: I4c5fe9f676e5fa3f5f8009eac910976e933acffd
Cho Woong Suk [Tue, 14 Nov 2017 06:32:31 +0000 (15:32 +0900)]
add exception handling code for null return
Change-Id: I41834f55e6d8d9e33a8d76bead8b281aec2c1a65
Cho Woong Suk [Fri, 3 Nov 2017 04:48:30 +0000 (13:48 +0900)]
add cap_sys_admin and cap_setgid to dotnet-launcher to use candidate process
Change-Id: I5034c7cca0d967708b69f3495d6665a4f49cf847
Cho Woong Suk [Fri, 3 Nov 2017 04:30:12 +0000 (13:30 +0900)]
add dotnet-launcher to files list to remove build error
Change-Id: I88b3dab1dff4a7e30bfe1e6dfaee06b2d8edaf6b
JongHeon Choi [Wed, 19 Jul 2017 05:49:39 +0000 (14:49 +0900)]
Remove caps due to security issue.
Apply caps directly in security-config
Change-Id: I476d6928065762427d360e22518bf8330266808f
Cho Woong Suk [Fri, 8 Sep 2017 02:24:07 +0000 (11:24 +0900)]
bug-patch:support -am option
Change-Id: I3e71bef55eea848e52bf4b417ddcab582b3421f0
Cho Woong Suk [Wed, 23 Aug 2017 06:24:40 +0000 (15:24 +0900)]
check return value of loaderMain to avoid crash
Change-Id: Ib5a740a34c7f8b171fb890dc1f97c51e93ad647d
Cho Woong Suk [Wed, 23 Aug 2017 02:33:23 +0000 (11:33 +0900)]
comment out unused code and change log
Change-Id: I944f7ad3320bd5a15d20332ba1934fc60b162a42
Cho Woong Suk [Thu, 2 Nov 2017 10:10:41 +0000 (19:10 +0900)]
big-fix: add reference dll for NI
Change-Id: Ia974ecd5469ff152204f6cf7c8adaa693b488088
(cherry picked from commit
195453317830e9b517950a6153e078f91f1e7500)
Inhwan Lee [Tue, 17 Oct 2017 01:45:31 +0000 (01:45 +0000)]
Merge "add plugin api to set coreclr info" into tizen
Cho Woong Suk [Tue, 17 Oct 2017 00:20:23 +0000 (09:20 +0900)]
remove unneccessary log to remove warning message
Change-Id: Icc79f0550ce69e266b00f1c95aeb029ea6579807
Cho Woong Suk [Thu, 12 Oct 2017 05:01:10 +0000 (14:01 +0900)]
add plugin api to set coreclr info
Change-Id: I83f76c7cfbb939e6b397150db1675c41e264b7fb
Youngjae Shin [Mon, 25 Sep 2017 07:15:23 +0000 (16:15 +0900)]
fix build warning
Change-Id: I67138414a61ba4594920830b4ad95e3f72b62e23
woongsuk cho [Wed, 13 Sep 2017 02:14:48 +0000 (02:14 +0000)]
Merge "Revert "temporal patch for setting LANG environment value"" into tizen
woongsuk cho [Wed, 13 Sep 2017 01:43:57 +0000 (01:43 +0000)]
Revert "temporal patch for setting LANG environment value"
This reverts commit
c9e5d8e142aa02dfeffe1d31ff819fffd899ae5a.
Change-Id: I0f09e4cedbbd0c1889d59f1d2a98c45261a7a6b8
Inhwan Lee [Thu, 7 Sep 2017 01:45:41 +0000 (01:45 +0000)]
Merge "update launching time measure tool" into tizen
Cho Woong Suk [Thu, 7 Sep 2017 01:43:51 +0000 (10:43 +0900)]
update launching time measure tool
Change-Id: Ie8c1e2ea9cb8d89f8d8ddaf2cf6485f902147a88
Cho Woong Suk [Mon, 4 Sep 2017 23:58:51 +0000 (08:58 +0900)]
bug-fix: to pass argument, change exectuable name to appid
Change-Id: I1873bec7879c97c449060b98c895d8437a3a45f4
(cherry picked from commit
8564ec92b5775026190ed190e81b272324fda4de)
Cho Woong Suk [Mon, 4 Sep 2017 23:58:51 +0000 (08:58 +0900)]
bug-fix: to pass argument, change exectuable name to appid
Change-Id: I1873bec7879c97c449060b98c895d8437a3a45f4
Cho Woong Suk [Wed, 30 Aug 2017 06:25:45 +0000 (15:25 +0900)]
change cmdline to executable path for standalone mode.
after adapting this change, crash dump will be generated with executable name not dotnet-launcher
Change-Id: I1052f2d8740f6d51dff978871252e2cbe10a1d63
JongHeon Choi [Mon, 28 Aug 2017 10:01:38 +0000 (19:01 +0900)]
Add null check
Change-Id: I94bb4d6f6a3b56e71bc25b7f2a9bf5ba6f233b2c
JongHeon Choi [Thu, 24 Aug 2017 07:17:40 +0000 (16:17 +0900)]
Add requires to launchpad
Change-Id: I69d11c13bc633e296833160cb52cf946b57778bf
Cho Woong Suk [Tue, 1 Aug 2017 09:28:14 +0000 (18:28 +0900)]
temporal patch for setting LANG environment value
Change-Id: I0999f2ef62119d9d1d6278d09be915399ba6b0a1