Merge pull request #61 from dotnet/use_app_ni_path
generate native image files in the .native_image folder for the pkg aot.
Merge branch 'tizen' into use_app_ni_path
Merge pull request #62 from dotnet/generate_coreLib_ni_when_install
Generate native image for System.Private.CoreLib.dll when dotnet-launcher package installed
Woongsuk Cho [Wed, 5 Jun 2019 01:58:03 +0000 (10:58 +0900)]
- generate NI for System.Private.CoreLib.dll
- add error code for ni_common
Generate native image for System.Private.CoreLib.dll when dotnet-launcher package installed.
System.Private.CoreLib.dll should be AOTed for other dll's AOTC.
Mikhail Kurinnoi [Mon, 3 Jun 2019 12:18:47 +0000 (15:18 +0300)]
Hardcode injection lib path.
Fix https://github.sec.samsung.net/dotnet/dotnet-launcher/issues/59
C# .dll with code for type preloading (#57)
* Preload common managed code
* Tizen.Init.dll for type preloading and caller code
Woongsuk Cho [Tue, 4 Jun 2019 01:54:33 +0000 (10:54 +0900)]
generate native image files in the .native_image folder for the pkg aot.
Merge pull request #56 from dotnet/donot_remove_standalone_option_from_cmdline
bug-fix: --standalone option should be remained after chanig cmdline
Woongsuk Cho [Sun, 12 May 2019 23:08:33 +0000 (08:08 +0900)]
bug-fix: --standalone option should be remained after chanig cmdline
Merge pull request #54 from dotnet/change_cmdline_standalone_mode
Set full appid string to cmdline at standalone mode
Woongsuk Cho [Tue, 23 Apr 2019 01:38:10 +0000 (10:38 +0900)]
To prevent appid from getting truncated to cmdline in standalone mode, add padding
Merge pull request #52 from dotnet/use_runtime_dir_for_crossgen
Use runtime directory to get crossgen path instead of device api directory.
Woongsuk Cho [Mon, 15 Apr 2019 02:01:40 +0000 (11:01 +0900)]
Use runtime directory to get crossgen path instead of device api directory
crossgen executable is included in the coreclr package. So, it is more natural to use the coreclr directory.
In addition, we have to eliminate unnecessary errors which occured while removing coreclr-extra packages from the image.
Woongsuk Cho [Fri, 12 Apr 2019 01:25:33 +0000 (10:25 +0900)]
Bug-fix : plugin extra directory should be added for TPA searching directory.
Woongsuk Cho [Wed, 30 Jan 2019 03:40:52 +0000 (12:40 +0900)]
Add RTLD_NODELETE option to open plugin library.
Woongsuk Cho [Wed, 13 Feb 2019 06:29:49 +0000 (15:29 +0900)]
Add TPA cache to reduce application startup time.
It takes a lot of time to configure the TPA through file I/O
in the case of an application launching as standalone while device booting (like VD CSFS application).
To avoid this kind of overhead, add tool to create TPA cache and modify path_manager to get TPA list.
Woongsuk Cho [Mon, 8 Apr 2019 04:37:49 +0000 (13:37 +0900)]
Create directories for coreclr / corefx
- /tmp/.dotnet : lockfiles for IPC is created under /tmp/.dotnet directory
- /home/owner/.dotnet : intermediate cert and temporal cert chain is stored under /home/owner/.dotnet
Merge pull request #48 from dotnet/remove_dependnecy_from_multiByteToWideChar
remove dependency from multiByteToWideChar
Woongsuk Cho [Thu, 4 Apr 2019 04:41:37 +0000 (13:41 +0900)]
bug-fix : To support backward-compatibility, add default value to regenerateAppNI().
Woongsuk Cho [Thu, 4 Apr 2019 05:01:49 +0000 (14:01 +0900)]
remove dependency from multiByteToWideChar
multiByteToWideChar() removed from unix exports from coreclr 3.0.0 prev 3
So, add char* to char16_t* API and use that
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