platform/core/dotnet/launcher.git
2 years agoAdd log for profile data when the app runs
j-h.choi [Tue, 30 Aug 2022 23:28:58 +0000 (08:28 +0900)]
Add log for profile data when the app runs

Change-Id: Id3f6eb5559ea5c6da4efecc43315df8f1897a296

2 years agoFixed TAC_TC
j-h.choi [Fri, 26 Aug 2022 02:07:07 +0000 (11:07 +0900)]
Fixed TAC_TC

Change-Id: Id626c06a649c7903559cf8bbf43a8248f8bd148f

2 years agoAdd log when profile data is successfully loaded in candidate process
j-h.choi [Tue, 30 Aug 2022 09:31:39 +0000 (18:31 +0900)]
Add log when profile data is successfully loaded in candidate process

Change-Id: Ibceb2b5f8fb7dd0aa8b31b79759f22b98dbbb4f8

2 years agoChange the published value of metadata accepted/tizen/unified/20220826.060837 submit/tizen/20220826.015422
j-h.choi [Fri, 26 Aug 2022 01:42:25 +0000 (10:42 +0900)]
Change the published value of metadata

Change-Id: Ie0a17da992a647afa642c7a6c0b58c708c8d1010

2 years agoFixed build warning submit/tizen/20220825.083931
j-h.choi [Thu, 11 Aug 2022 05:52:04 +0000 (14:52 +0900)]
Fixed build warning

Change-Id: Iafff976b1ad4fa3556260f0709058a7fe573ffeb

2 years ago[WIP] Profile data generation tools to use in candidate process
j-h.choi [Mon, 25 Jul 2022 04:35:50 +0000 (13:35 +0900)]
[WIP] Profile data generation tools to use in candidate process

Change-Id: If92eaf2089233d65e137cd8c8b8c59f120541de1

2 years agoAdd the option to check Internet privilege in dotnettool for the FOTA
j-h.choi [Tue, 14 Jun 2022 07:13:45 +0000 (16:13 +0900)]
Add the option to check Internet privilege in dotnettool for the FOTA

Change-Id: I74604e5145519db06f8a0b6f8bd57ba69707c190

2 years agoAdd NCDB startup hook support.
Mikhail Kurinnoi [Fri, 29 Jul 2022 15:30:26 +0000 (18:30 +0300)]
Add NCDB startup hook support.

2 years agoUpgrade the nuget(Newtonsoft.Json) version of TC (#422)
최종헌/Common Platform Lab(SR)/삼성전자 [Tue, 19 Jul 2022 23:53:03 +0000 (08:53 +0900)]
Upgrade the nuget(Newtonsoft.Json) version of TC (#422)

Change-Id: I9234a89f05489a771f3ea50242d750e71d652951

2 years ago[WIP] Set the MCJ in the candidate process
j-h.choi [Sun, 8 May 2022 23:41:35 +0000 (08:41 +0900)]
[WIP] Set the MCJ in the candidate process

Change-Id: I95438e3a8ee4a4bbe5e538dc5add317d543a26f0

2 years agolink profile_common library to apptype_plugin (#421)
조웅석/Common Platform Lab(SR)/삼성전자 [Wed, 6 Jul 2022 21:39:17 +0000 (06:39 +0900)]
link profile_common library to apptype_plugin (#421)

To avoid symbol lookup error, link libprofile_common.so to libapptype_plugin.so

2 years agoSeparate the code related to the profile data into a profile_common file
j-h.choi [Tue, 14 Jun 2022 06:54:12 +0000 (15:54 +0900)]
Separate the code related to the profile data into a profile_common file

Change-Id: I6c62e7a26f502651333458473202b6d438f46261

2 years agoChange --ni-dir option operation
Woongsuk Cho [Wed, 29 Jun 2022 05:36:17 +0000 (14:36 +0900)]
Change --ni-dir option operation

if the --inputbubble option and --ni-dir option used together, all input directories must be processed as one bubble.
For this requirements, change implementation of --ni-dir option.

2 years agoRenew InputBubble Option (#416)
조웅석/Common Platform Lab(SR)/삼성전자 [Tue, 28 Jun 2022 00:01:54 +0000 (09:01 +0900)]
Renew InputBubble Option (#416)

When the native image compiled with the --inputbubble option is executed, all assemblies included in the same bubble must be compiled too.
Previous --ni-dll or --no-pipeline option can lead misusage of --inputbubble option.
For example, if the below command are executed, system libraries are compiled one by one.

$ dotnettool --inputbubble --no-pipeline --ni-dir /usr/share/dotnet.tizen/netcoreapp

In this case, a problem may occur because crossgen2 is executed with compiled native images with --inputbubble and the non-compiled assemblies

In order to prevent errors caused by such misuse, the following modifications were made.
1. When using no-pipeline mode, it was temporarily created as ni.dll.tmp and then changed to ni.dll in the last step of dotnettool.
2. if --inputbubbleref option is not set, only input file(s) of dotnettool is added to bubble

Additionally, for fine tunning, --ref and --inputbubbleref option get file path(s) ot directory path(s)

2 years agoChange update size for PBA (#419)
조웅석/Common Platform Lab(SR)/삼성전자 [Wed, 22 Jun 2022 10:34:57 +0000 (19:34 +0900)]
Change update size for PBA (#419)

When using PBA, file size was used to calculate next base address of assembly.
However, there is a problem that the file size is smaller than the image size loaded in the actual memory.
when native image files are loaded in the memory area, some native image files cannot be loaded where desired because of area overlapping.

So, get size of image from OptionalHeader, and use that value for updating next base address.

2 years agoAvoid calling storage API
Woongsuk Cho [Wed, 4 May 2022 01:41:04 +0000 (10:41 +0900)]
Avoid calling storage API

The storage API is used to get direcoty of SpecialFolder
In special case (like target booting up time), some delay can occur inside the API.

So, to avoid that kind of delay, set SpecialFolder with environment variable if that is set.

2 years agoChange the optimization options for crossgen2 (#409)
최종헌/Common Platform Lab(SR)/삼성전자 [Wed, 25 May 2022 21:36:03 +0000 (06:36 +0900)]
Change the optimization options for crossgen2 (#409)

Change-Id: Ic9588655352bc3e439e5432455e4a433d5c0ec19

2 years agoSet base address at native image (#400) accepted/tizen/unified/20220501.223640 submit/tizen/20220429.002649
조웅석/Common Platform Lab(SR)/삼성전자 [Fri, 29 Apr 2022 00:37:07 +0000 (09:37 +0900)]
Set base address at native image (#400)

--imagebase option is added to set base address at native imaage to avoid relocatoin.

Note! this feature is enabled --no-pipeline mode only

2 years agoSet collect delay when profile data does not exist
Woongsuk Cho [Tue, 26 Apr 2022 00:17:52 +0000 (09:17 +0900)]
Set collect delay when profile data does not exist

2 years agoAdd assembly to preload list in candidate process
j-h.choi [Wed, 20 Apr 2022 01:29:32 +0000 (10:29 +0900)]
Add assembly to preload list in candidate process

Change-Id: I7274a7cea59e208c66c02ea8761faec78e6223e2

2 years agoAdd additional environment for invariant mode
Woongsuk Cho [Tue, 19 Apr 2022 23:40:16 +0000 (08:40 +0900)]
Add additional environment for invariant mode

.NET 6 contains breaking change related to globalization invariant mode.
(https://docs.microsoft.com/en-us/dotnet/core/compatibility/globalization/6.0/culture-creation-invariant-mode)
For backward compatibility, add an additional environment variable to avoid breaking changes
- DOTNET_SYSTEM_GLOBALIZATION_PREDEFINED_CULTURES_ONLY=false

2 years agoFix mibc option for crossgen2 (#401)
이형주/Common Platform Lab(SR)/삼성전자 [Tue, 19 Apr 2022 22:52:20 +0000 (07:52 +0900)]
Fix mibc option for crossgen2 (#401)

`--ibc-dir $(directory path)` to `--mibc $(file path)`

Co-authored-by: 조웅석/Common Platform Lab(SR)/삼성전자 <ws77.cho@samsung.com>
2 years agoAdd --skip-ro-app option
Woongsuk Cho [Tue, 29 Mar 2022 22:34:50 +0000 (07:34 +0900)]
Add --skip-ro-app option

The "--ni-regen-all-app" option performs AOTC again for all installed apps.
If the "--ni-regen-all-app" option is performed after FOTA (OTN),
an error may occur or unnecessary AOTC may be performed by running AOTC for an app installed in the RO area.

To avoid this situation, the "--skip-ro-app" option is added.
If this option is set, native image regenration for apps installed in the RO area is skipped.

Note! this option works with "--ni-regen-all-app" option only.

2 years agoAdd `metadata-profile.xml`
Hyungju Lee [Tue, 12 Apr 2022 06:53:47 +0000 (15:53 +0900)]
Add `metadata-profile.xml`

2 years agoAdd the NI_FLAGS_EXTRA_REF flag used to create ni for app_pkg (#393) accepted/tizen/unified/20220318.132742 submit/tizen/20220318.045134
최종헌/Common Platform Lab(SR)/삼성전자 [Fri, 18 Mar 2022 04:37:57 +0000 (13:37 +0900)]
Add the NI_FLAGS_EXTRA_REF flag used to create ni for app_pkg (#393)

Change-Id: Iab85217a9a97341a99c5e2e6f6521648ddade074

2 years agoBug-fix: fix path for pdb file copying (#392)
조웅석/Common Platform Lab(SR)/삼성전자 [Mon, 7 Mar 2022 23:51:15 +0000 (08:51 +0900)]
Bug-fix: fix path for pdb file copying (#392)

2 years agoRemove ICULoadDisable support from platform image. (#391) accepted/tizen/unified/20220224.125720 submit/tizen/20220224.033231
이형주/Common Platform Lab(SR)/삼성전자 [Thu, 24 Feb 2022 03:31:35 +0000 (12:31 +0900)]
Remove ICULoadDisable support from platform image. (#391)

2 years agoFix app ni path for readonly app (#389) accepted/tizen/unified/20220223.132451 submit/tizen/20220223.002542
이형주/Common Platform Lab(SR)/삼성전자 [Wed, 23 Feb 2022 00:21:35 +0000 (09:21 +0900)]
Fix app ni path for readonly app (#389)

There was a bug in setting the app ni path when RO installed app was updated.
To fix this bug, check root path whether read-only area or not.

Co-authored-by: Woongsuk Cho <ws77.cho@samsung.com>
2 years agoCheck the SPC before creating a native image for the app accepted/tizen/unified/20220222.034344 submit/tizen/20220222.013136
j-h.choi [Mon, 21 Feb 2022 05:19:17 +0000 (14:19 +0900)]
Check the SPC before creating a native image for the app

Change-Id: I14ac5775cb5b58df00fec96134d6c3f75474d3fc

2 years agoApply ICULoadDisable option (#386)
이형주/Common Platform Lab(SR)/삼성전자 [Fri, 18 Feb 2022 02:24:17 +0000 (11:24 +0900)]
Apply ICULoadDisable option (#386)

Apply ICULoadDisable option for apps that run during cold boot

Co-authored-by: 김종민/S/W Platform Lab(VD)/Engineer/삼성전자 <jong-min.kim@samsung.com>
2 years agoprint HW clock log (#385)
이형주/Common Platform Lab(SR)/삼성전자 [Fri, 18 Feb 2022 02:23:35 +0000 (11:23 +0900)]
print HW clock log (#385)

2 years agoForked process in pipeline state can be terminated while crossgen2 is running
j-h.choi [Tue, 15 Feb 2022 04:32:56 +0000 (13:32 +0900)]
Forked process in pipeline state can be terminated while crossgen2 is running

Change-Id: Ib3a1851a7f43fedd270519c6389482c6ca9568a5

2 years agoFix app's native image existence checking code. (#376)
Woongsuk Cho [Wed, 9 Feb 2022 05:38:17 +0000 (14:38 +0900)]
Fix app's native image existence checking code. (#376)

The directory ".native_image" was not considered for app's native image existence cheching.

2 years agoRemove code that create SPC NI first (#373)
조웅석/Common Platform Lab(SR)/삼성전자 [Wed, 9 Feb 2022 05:37:26 +0000 (14:37 +0900)]
Remove code that create SPC NI first (#373)

* Add isR2RImage insteadof ildasm

Use internal API to reduce unnecessary fork

* Remove code that create SPC NI first.

crossgen2 can do AOTC without SPC native image.
So, remove unnecessary code.

2 years agoinputbubbleref option should be used with inputbubble option (#377)
최종헌/Common Platform Lab(SR)/삼성전자 [Wed, 9 Feb 2022 05:17:20 +0000 (14:17 +0900)]
inputbubbleref option should be used with inputbubble option (#377)

Change-Id: I4bb3a5063b8dcbfbd06ce3fbc3ae333aac9e13d3

2 years agoUpdate fota script for MCJ/BTP (#380)
조웅석/Common Platform Lab(SR)/삼성전자 [Wed, 9 Feb 2022 05:16:48 +0000 (14:16 +0900)]
Update fota script for MCJ/BTP (#380)

After update fota, app's profile data should be removed.

2 years ago[TC Fix/Add] dotnettool option(inputbubble, inputbubbleref, ref, print-cmd, no-pipeli...
최종헌/Common Platform Lab(SR)/삼성전자 [Wed, 9 Feb 2022 05:16:36 +0000 (14:16 +0900)]
[TC Fix/Add] dotnettool option(inputbubble, inputbubbleref, ref, print-cmd, no-pipeline) test in TOOL (#378)

Change-Id: I8c8d1305ecbc96ec19bc5e1f47e11806b2526afb

2 years ago[TC Fixed] Even without SPC.ni.dll, the application generates native image (#379)
최종헌/Common Platform Lab(SR)/삼성전자 [Wed, 9 Feb 2022 05:12:43 +0000 (14:12 +0900)]
[TC Fixed] Even without SPC.ni.dll, the application generates native image (#379)

Change-Id: I062ac6e2c57a7fc9faf45c3bc8e1315e377f9e7e

2 years agoRemove lchmod related code (#375)
조웅석/Common Platform Lab(SR)/삼성전자 [Tue, 8 Feb 2022 00:23:29 +0000 (09:23 +0900)]
Remove lchmod related code (#375)

In the linux system, permission of symlink file is meaningless.
(Also, lchmod alwasy returns -1 because it is not implemented.)

To remove unnecessary error message while installing application,
remove lchmod related code.

2 years agoAdd code to close open file stream (#374)
최종헌/Common Platform Lab(SR)/삼성전자 [Tue, 8 Feb 2022 00:23:10 +0000 (09:23 +0900)]
Add code to close open file stream (#374)

Change-Id: Ibd6ecd18c5d6ec44211aa69914e93f43699fc1fd

2 years agoEnable MCJ & BTJ by loader script accepted/tizen/unified/20220125.121609 submit/tizen/20220125.041334
Woongsuk Cho [Tue, 25 Jan 2022 00:47:37 +0000 (09:47 +0900)]
Enable MCJ & BTJ by loader script

2 years agoAdd new 'symbolicate' commands to dotnet-stack of diagnostics accepted/tizen/unified/20220124.231147 submit/tizen/20220124.030110 submit/tizen/20220125.041004
j-h.choi [Thu, 26 Aug 2021 03:46:10 +0000 (12:46 +0900)]
Add new 'symbolicate' commands to dotnet-stack of diagnostics

Change-Id: Ibc1ee9dae02eb7b1321e6970516285dd5ca5300d

2 years agoAdd switch to disable IPv6
Woongsuk Cho [Tue, 18 Jan 2022 04:37:01 +0000 (13:37 +0900)]
Add switch to disable IPv6

Due to DualMode, smack deny occurs as ipv4 mapped address is used
for communication between daemon and apps using localhost if internet privilege doesnot exist.

In order to handle the ipv4 mapped loopback in smack, it is necessary to modify the kernel side,
but we cannot know when the patch will be applied.
Also, it is not possible to disable all IPv6 for just solving this issue.

So, set switch to disable ipv6 only when there is no internet privilege.
If there is internet privilege, all works normally in dual mode,
And if there is no internet privilege, ipv6 will be diabled so that local communication can be same as before.

2 years ago[TC Added] dotnettool option(--inputbubble, --print-cmd) test in TOOL
j-h.choi [Mon, 17 Jan 2022 06:38:49 +0000 (15:38 +0900)]
[TC Added] dotnettool option(--inputbubble, --print-cmd) test in TOOL

Change-Id: I2e5b9ac79bae205b5fd430677d4c42b021d61a25

2 years agoUpdate Unit TC for support crossgen2
Woongsuk Cho [Fri, 14 Jan 2022 05:14:35 +0000 (14:14 +0900)]
Update Unit TC for support crossgen2

2 years agoAvoid OOM while compiling system libraries
Woongsuk Cho [Fri, 14 Jan 2022 05:05:17 +0000 (14:05 +0900)]
Avoid OOM while compiling system libraries

If run AOTC the system library at once, it will be terminated by the OOM killer.
To avoid this, run AOTC separately (netcoreapp and framework).

2 years agoModify 10.Dotnet.Launcher.preload file
j-h.choi [Tue, 11 Jan 2022 08:13:48 +0000 (17:13 +0900)]
Modify 10.Dotnet.Launcher.preload file

Change-Id: I6c7a3d8b1789547a3231e4f97d8249f7dd8695eb

2 years agoDisable IPv6 to solve DualMode issue accepted/tizen/unified/20220112.043624 submit/tizen/20220112.042018
Woongsuk Cho [Wed, 12 Jan 2022 04:10:50 +0000 (13:10 +0900)]
Disable IPv6 to solve DualMode issue

Due to Socket DualMode, IPv4 is converted to IPv6 socket.
So, smack deny error occurs when accessing to localhost during TCT.
It is a temporary patch that will be used until the IPv6 smack problem is fixed .

2 years agoRemove unused old ibcdata (#361) accepted/tizen/unified/20220110.054933 accepted/tizen/unified/20220111.023738 submit/tizen/20220110.045001 submit/tizen/20220111.022648
최종헌/Common Platform Lab(SR)/Engineer/삼성전자 [Thu, 6 Jan 2022 07:39:21 +0000 (16:39 +0900)]
Remove unused old ibcdata (#361)

Change-Id: I563bd1ade521dfb1ee6fb3d6befdac0a6130a85f

2 years agoAdd null check to solve svace issue (#362)
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Thu, 6 Jan 2022 07:37:59 +0000 (16:37 +0900)]
Add null check to solve svace issue (#362)

2 years agoAdd environment for mic_crossgen2 (#360)
최종헌/Common Platform Lab(SR)/Engineer/삼성전자 [Thu, 6 Jan 2022 00:51:04 +0000 (09:51 +0900)]
Add environment for mic_crossgen2 (#360)

Change-Id: I996125b985c3a1383fd3c39eded96729eed9db91

2 years agoAdd plugin API for setting extra dll path (#353)
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Wed, 5 Jan 2022 04:32:46 +0000 (13:32 +0900)]
Add plugin API for setting extra dll path (#353)

There is a requirement to add a searching path for a specific app.
For this requirement, a new plugin API is added to get the extra searching path.

2 years agoAdd options to support crossgen2 (#351)
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Wed, 5 Jan 2022 04:30:06 +0000 (13:30 +0900)]
Add options to support crossgen2 (#351)

* remove code and options for crossgen1

* clean-up code related to pre-generating native image of System.Private.CoreLib.dll

* use NIOption structure to pass option instead of flags

* support --mibc option

* add --print-cmd option

* add --ref to set reference path

* update TC for crossgen2

* check directory existance

* check dll existance for platform assembly path

* add null check for NIOption

* Create SPC native image preferentially

* Fixed option parsing of dotnettool

Resolve option parshing error by using strncmp() function.

2 years agoFixed build error (#359)
최종헌/Common Platform Lab(SR)/Engineer/삼성전자 [Mon, 3 Jan 2022 03:33:52 +0000 (12:33 +0900)]
Fixed build error (#359)

Change-Id: I3b4fc97e57e2c20436e5866f3188b2c241d4eb72

2 years agoFix build error in r2r_checker on 64 bit (#358)
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Tue, 28 Dec 2021 03:14:31 +0000 (12:14 +0900)]
Fix build error in r2r_checker on 64 bit (#358)

BIT64(for coreclr 3.1.3) and HOST_64BIT(for .NET6) should be defined for ULONG_PTR on 64 bit.

2 years agochange dll/so searching path for app (#356)
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Mon, 27 Dec 2021 08:19:11 +0000 (17:19 +0900)]
change dll/so searching path for app (#356)

Change the path "/proc/self/fd/bin" used to find dll/so for the candidate process to "/proc/[pid]/fd/bin"
When debugging, the library loaded in the location of "/proc/self/fd/bin" cannot be accessed by the debugger, so symbol loading fails.
To avoid this failure, change finding path to "/proc/[pid]/fd/bin".

2 years agoFixed build error in r2r_checker (#357)
최종헌/Common Platform Lab(SR)/Engineer/삼성전자 [Mon, 27 Dec 2021 08:13:25 +0000 (17:13 +0900)]
Fixed build error in r2r_checker (#357)

Change-Id: Ib79facf6ff87e8c6edc17d1acc300c1775236bb7

2 years agoAdd r2r checker (#355)
정동헌/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Thu, 16 Dec 2021 01:03:42 +0000 (10:03 +0900)]
Add r2r checker (#355)

* Add r2r checker

Implement a function to Identify a file is R2R image or not.
```isR2RImage(std::stringfileName)```

* Add missed endian conversion

* Add some error print codes

* Update error logs and a function name

* Update checked based on CLR headers

Co-authored-by: Dong-Heon Jung <clamp03@gmail.com>
2 years agoAdd chmod to change the permission of the file
j-h.choi [Tue, 26 Oct 2021 06:57:10 +0000 (15:57 +0900)]
Add chmod to change the permission of the file

Change-Id: I56efe62379496138d2d197d24e8b061f8ea2f91a

3 years agouse corerun for crossgen2
Woongsuk Cho [Wed, 6 Oct 2021 05:48:28 +0000 (14:48 +0900)]
use corerun for crossgen2

3 years agoModified to support crossgen2 (#330)
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Thu, 9 Sep 2021 06:34:53 +0000 (15:34 +0900)]
Modified to support crossgen2 (#330)

* support crossgen2

add --crossgen2 and --inputbubble option
By vconf setting, crossgen2 can be used from prefer_dotnet_aot_plugin.

* support crossgen2

add --crossgen2 and --inputbubble option
By vconf setting, crossgen2 can be used from prefer_dotnet_aot_plugin.

3 years ago Disable config cache to set environment (#350)
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Tue, 7 Sep 2021 10:16:20 +0000 (19:16 +0900)]
 Disable config cache to set environment (#350)

To set environment after coreclr_initialize, disable config cache

3 years agoAdd SetSwitch API to Tizen.Runtime
Woongsuk Cho [Mon, 6 Sep 2021 00:47:49 +0000 (09:47 +0900)]
Add SetSwitch API to Tizen.Runtime

MS decided not to show ILOffset info as default in exception info.
To enable that feature, "Switch.System.Diagnostics.StackTrace.ShowILOffsets" switch should be set true.

An internal API for setting app context switch in dotnet-launcher has been added.
And, "Switch.System.Diagnostics.StackTrace.ShowILOffsets" is enabled defaultly.

3 years agoremove app profile data when app is updated
Woongsuk Cho [Thu, 19 Aug 2021 03:59:36 +0000 (12:59 +0900)]
remove app profile data when app is updated

- change implementation to remove profile data for all UIDs
- remove app profile data when app is updated
- add "--rm-all-app-profile" option to dotnettool
- change plugin name from delete_unsed_library_plugin to dotnet_apptype_plugin

3 years agoAdd a function to stop profiling after period
Woongsuk Cho [Thu, 12 Aug 2021 01:01:16 +0000 (10:01 +0900)]
Add a function to stop profiling after period

CLR environment "MultiCoreJitProfileWriteDelay" doesnot work on Linux.

In some specific cases, application is terminated without calling coreclr_shutdown() function.
As a result, MCJ profiling data is not written.
Added a function to generate profiling data after delay so that MCJ can be used even in this case.

It works by adding delay to the environment variable as follows:
 - CLR_MCJ_PROFILE_WRITE_DELAY={delay}
(The unit of delay is second)

If you want to stop profiling after 10 seconds, add environment variable like below:
 - CLR_MCJ_PROFILE_WRITE_DELAY=10

3 years agoFix build warning. Replace strncpy with memcpy
j-h.choi [Mon, 5 Jul 2021 04:26:23 +0000 (13:26 +0900)]
Fix build warning. Replace strncpy with memcpy

Change-Id: Ic9f239132fd1a2793176cd85ba00b8c553bd056a

3 years agoSkip app ni regeneration if app ni already exist (#344) submit/tizen/20210723.041054
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Fri, 23 Jul 2021 04:08:27 +0000 (13:08 +0900)]
Skip app ni regeneration if app ni already exist (#344)

To avoid multiple NI file generation for --ni-pkg, skip app ni regeneration if app ni already exist

3 years agoAdd plugin api to add native dll searching path (#343) submit/tizen/20210722.053902
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Thu, 22 Jul 2021 05:35:58 +0000 (14:35 +0900)]
Add plugin api to add native dll searching path (#343)

There are some cases to add dll and native library searching path through plugin API.
The adding dll searching path was already supported, but the adding native library searching part is missing, so this part is added.

The added searching path by plugin has the highest priority. (VD requirement)

Additionally, an environment for building simple libdotnet_plugin.so for testing was also added.

3 years agoUpdate MulticoreJit setup: disable profile gathering if profile already exists
Gleb Balykov [Tue, 6 Jul 2021 12:32:47 +0000 (15:32 +0300)]
Update MulticoreJit setup: disable profile gathering if profile already exists

3 years agoUpgrade 'launcher' version(6.0.0) in spec
j-h.choi [Tue, 29 Jun 2021 03:55:32 +0000 (12:55 +0900)]
Upgrade 'launcher' version(6.0.0) in spec

Change-Id: I7a1257423fe308bc8c28e18d6fb25d79c87e92ef

3 years agoExpand array size for null terminate character accepted/tizen/6.5/unified/20211028.102011 accepted/tizen/unified/20210629.130244 submit/tizen/20210628.235744 submit/tizen_6.5/20211028.162201 tizen_6.5.m2_release
Woongsuk Cho [Mon, 28 Jun 2021 23:05:37 +0000 (08:05 +0900)]
Expand array size for null terminate character

To avoid svace defect, expand array size.
And copy string include null terminate character

3 years agoFix for svace issue
Woongsuk Cho [Mon, 28 Jun 2021 01:03:43 +0000 (10:03 +0900)]
Fix for svace issue

- change strcpy/strcat to strncpy/strncat
- use remove function insteadof system() call

3 years agoAdded missing exception handling for boost_filesystem
j-h.choi [Thu, 10 Jun 2021 06:10:02 +0000 (15:10 +0900)]
Added missing exception handling for boost_filesystem

Change-Id: Ief5956ffa9683c5f4047f3abfcb0ba44513c401b

3 years agoAdd new TFM name scheme(net{dotnetVersion}-tizen{platformVersion})
j-h.choi [Mon, 5 Apr 2021 08:35:40 +0000 (17:35 +0900)]
Add new TFM name scheme(net{dotnetVersion}-tizen{platformVersion})

Change-Id: I66b0204e7685ba1dae4bb0870d6f173de1ef7990

3 years agoRemove --ni-ro-pkg / --ni-regen-all-ro-app options accepted/tizen/unified/20210623.125232 submit/tizen/20210623.065708
Woongsuk Cho [Mon, 21 Jun 2021 07:58:40 +0000 (16:58 +0900)]
Remove --ni-ro-pkg / --ni-regen-all-ro-app options

When creating a target image or developing platform, "/usr/apps" which is the RO area, is mounted as RW.
In this case, if we perform AOTC for apps installed under /usr/apps,
NI files should be created under /usr/apps/, not "/opt/usr/dotnet".

So, combine options into one, and create NI files under /opt/usr/dotnet only if package directory is mounted as RO.

3 years agoUpdate MulticoreJit setup
Gleb Balykov [Mon, 7 Jun 2021 19:07:40 +0000 (22:07 +0300)]
Update MulticoreJit setup

- COMPlus_MultiCoreJitNoProfileGather is not needed, because it gives no effect on updated MulticoreJit
- COMPlus_MultiCoreJitMinNumCpus is needed to enable MulticoreJit on arm with cpu hotplug

3 years agodotnettool: Add --rm-app-profile <app_id> option
Timur [Fri, 30 Apr 2021 15:06:59 +0000 (18:06 +0300)]
dotnettool: Add --rm-app-profile <app_id> option

Signed-off-by: Timur <t.mustafin@partner.samsung.com>
3 years agoCollect/use multicorejit app profile
Timur Mustafin [Thu, 22 Apr 2021 22:56:28 +0000 (01:56 +0300)]
Collect/use multicorejit app profile

Turn off --profile mode for default build

Signed-off-by: Timur Mustafin <t.mustafin@partner.samsung.com>
3 years agochange fprintf to _SERR and _SOUT
Woongsuk Cho [Wed, 9 Jun 2021 06:24:29 +0000 (15:24 +0900)]
change fprintf to _SERR and _SOUT

3 years agoChange the extension of a path or file
j-h.choi [Wed, 9 Jun 2021 01:24:38 +0000 (10:24 +0900)]
Change the extension of a path or file

Change-Id: I2b0f5d2c00d2f84b5e2af25102ba50d29b7bee74

3 years agoFixed typo in launcher_TC
j-h.choi [Wed, 9 Jun 2021 05:00:44 +0000 (14:00 +0900)]
Fixed typo in launcher_TC

Change-Id: Ic44ca7c3af9ab5503809127c7c6501086806c293

3 years agoRemove log_manager (dlog redirects stdout and stderr by itself) accepted/tizen/unified/20210406.083608 submit/tizen/20210406.003726
Hyungju Lee [Mon, 5 Apr 2021 21:49:30 +0000 (06:49 +0900)]
Remove log_manager (dlog redirects stdout and stderr by itself)

3 years ago[Tool] Added option to directly enter the log string accepted/tizen/unified/20210407.010215 submit/tizen/20210406.101617
j-h.choi [Wed, 24 Feb 2021 07:07:54 +0000 (16:07 +0900)]
[Tool] Added option to directly enter the log string

Change-Id: I7d73d17dfd7eb283675d639b7079e5d685d86196

3 years agoAdd line number to extractor tool accepted/tizen/unified/20210225.130459 submit/tizen/20210225.050444
j-h.choi [Wed, 10 Feb 2021 02:06:54 +0000 (11:06 +0900)]
Add line number to extractor tool

Change-Id: I5da17e91d8d5bc59a5e59e5385ae413ef93ac178

3 years agoAdd dotnet-stack tool
j-h.choi [Fri, 22 Jan 2021 07:10:39 +0000 (16:10 +0900)]
Add dotnet-stack tool

Change-Id: I38574798f50bbe1a288d55fe9a04ff203a1f1c97

3 years ago[TC Fixed] Added 'NONE' value to test result (#319) accepted/tizen/unified/20210125.073655 submit/tizen/20210125.003944
최종헌/Common Platform Lab(SR)/Engineer/삼성전자 [Fri, 22 Jan 2021 04:44:40 +0000 (13:44 +0900)]
[TC Fixed] Added 'NONE' value to test result (#319)

Change-Id: Id8cf0dac0e413c571dacf7daadede10dae78d886

Co-authored-by: 조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 <ws77.cho@samsung.com>
3 years ago[TC Fixed] Modify the log when the tc fails
j-h.choi [Wed, 13 Jan 2021 08:31:49 +0000 (17:31 +0900)]
[TC Fixed] Modify the log when the tc fails

Change-Id: I0a3a663e7d3865a92468509f842af400e4dbb941

3 years ago[TC Fixed] Delete the .tpk file used for the test
j-h.choi [Wed, 13 Jan 2021 04:49:01 +0000 (13:49 +0900)]
[TC Fixed] Delete the .tpk file used for the test

Change-Id: I9ff999bb3b21b702f7bfcb1179cab73074e3850c

3 years agoAdd null check in preload
j-h.choi [Wed, 13 Jan 2021 08:38:06 +0000 (17:38 +0900)]
Add null check in preload

Change-Id: I51fa05c104c40d3a539ed07ff87912857ea3d4f8

3 years ago[TC Fixed] Changed the key value to get device type (#317)
최종헌/Common Platform Lab(SR)/Engineer/삼성전자 [Tue, 12 Jan 2021 01:28:36 +0000 (10:28 +0900)]
[TC Fixed] Changed the key value to get device type (#317)

Change-Id: I2ea128f2bd9608cdfe221597bab8960a1c4b3f8f

3 years ago[TC Added] dotnettool option(--ni-ro-pkg) test in TOOL
j-h.choi [Wed, 6 Jan 2021 06:56:47 +0000 (15:56 +0900)]
[TC Added] dotnettool option(--ni-ro-pkg) test in TOOL

Change-Id: Id0f2dfe654e54c5d8f726d0485db594ecc1b3af3

3 years agoApply ownership to the newly created tac folder
j-h.choi [Wed, 6 Jan 2021 09:22:36 +0000 (18:22 +0900)]
Apply ownership to the newly created tac folder

Change-Id: Icf9c8ff08fb98a55c6ce6eaef5438896450d48c4

3 years agoAdd '--ni-ro-pkg' option to dotnettool
j-h.choi [Wed, 6 Jan 2021 00:51:56 +0000 (09:51 +0900)]
Add '--ni-ro-pkg' option to dotnettool

Change-Id: I0eea9ca9ef583374d9c8195360a6add733c7581d

3 years ago[TC Fixed] Exclude TC not supported by specific platform
j-h.choi [Tue, 5 Jan 2021 04:50:42 +0000 (13:50 +0900)]
[TC Fixed] Exclude TC not supported by specific platform

Change-Id: I845ebe415eec352e899732751e43012149ad1e26

3 years ago[TC Fixed] XSF.dll does not exist in specific target(RPI)
j-h.choi [Mon, 4 Jan 2021 05:51:18 +0000 (14:51 +0900)]
[TC Fixed] XSF.dll does not exist in specific target(RPI)

Change-Id: Idadafa7619d58986696b0e057d62c81d1d84013d

3 years ago[TC Fixed] Change the logical operator of the if statement
j-h.choi [Mon, 4 Jan 2021 01:35:24 +0000 (10:35 +0900)]
[TC Fixed] Change the logical operator of the if statement

Change-Id: Ibfea439c2c72e9783ef4bb6ebb46aed2adbad557

3 years ago[TC Added] dotnettool option(--ni-regen-all-ro-app) test in TOOL
j-h.choi [Wed, 30 Dec 2020 05:07:54 +0000 (14:07 +0900)]
[TC Added] dotnettool option(--ni-regen-all-ro-app) test in TOOL

Change-Id: Ibad71585e1fdabada656ccaac8630bd33d77af3e

3 years ago[TC Fixed] Change the 'find' command
j-h.choi [Tue, 29 Dec 2020 05:47:20 +0000 (14:47 +0900)]
[TC Fixed] Change the 'find' command

Change-Id: I2e5dee3f79ef4ba012ed741057f004b4319c8a57

3 years ago[TC Fixed] Modify clean method in LAUNCH test
j-h.choi [Wed, 30 Dec 2020 23:41:16 +0000 (08:41 +0900)]
[TC Fixed] Modify clean method in LAUNCH test

Change-Id: Ia1d1e9bf906903af35d97c92f35b1b6ff70439ae

3 years ago[TC Added] dotnettool option(--ibc-dir) test in TOOL
j-h.choi [Mon, 28 Dec 2020 08:33:21 +0000 (17:33 +0900)]
[TC Added] dotnettool option(--ibc-dir) test in TOOL

Change-Id: I0e4c4f72bc5f33492b929869109133e7cacf9492