platform/core/dotnet/launcher.git
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

3 years ago[TC Added] dotnettool option(--verbose) test in TOOL
j-h.choi [Mon, 4 Jan 2021 01:15:59 +0000 (10:15 +0900)]
[TC Added] dotnettool option(--verbose) test in TOOL

Change-Id: I4ea2cece6457750953816e2399bc2d3cacd8cc3a

3 years ago[TC Fixed] Index out of range
j-h.choi [Thu, 24 Dec 2020 04:22:42 +0000 (13:22 +0900)]
[TC Fixed] Index out of range

Change-Id: I8737f068f8bb59f00278f13be2dd31cd783cd2f9

3 years ago[Fixed] TC_TLC_03 app crash submit/tizen/20201224.021710
j-h.choi [Thu, 24 Dec 2020 02:20:27 +0000 (11:20 +0900)]
[Fixed] TC_TLC_03 app crash

Change-Id: I1a4a934d4d7f11b9d3181093dafc8231f4f737f7

3 years agoSupport regen-app-ni for read-only app (#301)
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Thu, 24 Dec 2020 00:52:44 +0000 (09:52 +0900)]
Support regen-app-ni for read-only app (#301)

When a partial update of tizenfx occurs, native image files of application created with FNV option  must be regenerated.
However, it is not possible with the current implementation to replace the native-image files of the app installed in the read-only area like the preload app.
To solve this problem, add a functionality that creates new native images under /opt/usr/dotnet/apps, when creating a new native image files of read-only app.

3 years agoAdd dotnet-launcher test case - Apps
j-h.choi [Wed, 2 Dec 2020 08:25:52 +0000 (17:25 +0900)]
Add dotnet-launcher test case - Apps

Change-Id: If85502bb88b3f72274b0a618c3f82aad9c67f3d7

3 years agoAdd dotnet-launcher test case - Script
j-h.choi [Tue, 1 Dec 2020 07:40:12 +0000 (16:40 +0900)]
Add dotnet-launcher test case - Script

Change-Id: Ief02095307e51f8237c34e818bc7697cdecf5319

3 years agoAdd "--resolve-all-app" option to dotnettool
Woongsuk Cho [Tue, 22 Dec 2020 04:16:52 +0000 (13:16 +0900)]
Add "--resolve-all-app" option to dotnettool

A patch that resolves the "bin/runtimes" directory to support multi-targeting at the app installation time was added after Tizen 6.0.
After applying this patch, it has been changed to no longer refer to the "bin/runtimes" directory of the application.
However, if the target is upgraded by FOTA, installed applications may have "bin/runtimes" directory.

To solve this problem, "--resolve-all-app" option is added to dotnettool and the FOTA script is also updated.
When you run below command, all installed .net application's platform specific files are resolved.

3 years agoModify the ownership of TAC and Remove unnecessary logs
j-h.choi [Tue, 6 Oct 2020 05:31:35 +0000 (14:31 +0900)]
Modify the ownership of TAC and Remove unnecessary logs

Change-Id: Ie50d7d54069d4ae160ab444a8bae5260ccb9449f

3 years agoChange the logic to check the native image with ildasm
j-h.choi [Thu, 5 Nov 2020 06:45:07 +0000 (15:45 +0900)]
Change the logic to check the native image with ildasm

Change-Id: Ie6bfcf378ea4bd3edd4708ea7f6bfd2fd5d8a104

3 years agoResolve platform specific path at install time
Woongsuk Cho [Wed, 21 Oct 2020 05:12:26 +0000 (14:12 +0900)]
Resolve platform specific path at install time

If you publish .NET Application without RID designation, it is generated to cross-platform type.
If the .NET application uses a NuGet package that has platform-specific implementations,
all platforms' dependencies are copied to the publish folder along with the app.
(refer to https://docs.microsoft.com/en-us/dotnet/core/deploying)

Libraries and assemblies used for each platform are stored in different locations according to RID and TFM as follows.
(refer to https://natemcmaster.com/blog/2016/05/19/nuget3-rid-graph)

.NET Runtime finds the most suitable paths for its execution environment and uses it by setting APP_PATH and NATIVE_LIBRARY_SEASRCHING_PATH.
These path is set in the coreclr_initializae() function.

Unfortunately, in the case of the candidate process, we cannot specify these kind of paths because a application has not been fixed yet.
So, in the current implementation, all possible combinations of paths are added in priority order.
For this reason, unnecessarily long path settings are being transferred to runtime.

To solve this problem, at the time of installation, I try to change it as if the application was published with the RID setting.
In detail, find the best matched RID and TFM path in the application, and move all contents in them to the "bin" folder.
After then, we can remove runtimes foldr.

The results after resolving are the same as those performed by specifying RID during publish.

3 years agoEnable generation of .pdb file in release mode
j-h.choi [Mon, 19 Oct 2020 08:18:52 +0000 (17:18 +0900)]
Enable generation of .pdb file in release mode

Change-Id: If76917e66fd15cad0c6b9478c7814538b0a62a42

3 years agoAdd PATH setting at rw update script (#300) accepted/tizen/unified/20201204.123015 submit/tizen/20201203.065405
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Thu, 3 Dec 2020 06:41:00 +0000 (15:41 +0900)]
Add PATH setting at rw update script (#300)

Security Test return "FAIL" if shell script doesnot contain PATH setting,
even though all command line tool is executed as absolute path.
So, to avoid unnecessary failure, add PATH setting at shell script

3 years agoRegenerate native image for TAC at FOTA (#298)
조웅석/Common Platform Lab(SR)/Principal Engineer/삼성전자 [Tue, 1 Dec 2020 07:58:49 +0000 (16:58 +0900)]
Regenerate native image for TAC at FOTA (#298)

3 years agoUse _tmpfilesdir macro accepted/tizen/unified/20201201.124759 submit/tizen/20201201.001900
Woongsuk Cho [Mon, 30 Nov 2020 04:46:50 +0000 (13:46 +0900)]
Use _tmpfilesdir macro

Location of conf file to create temporary files is changed
from /etc/tmpfiles.d to /usr/lib/tmpfiles.d.
So, use macro insteadof real path.