조웅석/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
Woongsuk Cho [Tue, 26 Apr 2022 00:17:52 +0000 (09:17 +0900)]
Set collect delay when profile data does not exist
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
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
이형주/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>
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.
Hyungju Lee [Tue, 12 Apr 2022 06:53:47 +0000 (15:53 +0900)]
Add `metadata-profile.xml`
최종헌/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
조웅석/Common Platform Lab(SR)/삼성전자 [Mon, 7 Mar 2022 23:51:15 +0000 (08:51 +0900)]
Bug-fix: fix path for pdb file copying (#392)
이형주/Common Platform Lab(SR)/삼성전자 [Thu, 24 Feb 2022 03:31:35 +0000 (12:31 +0900)]
Remove ICULoadDisable support from platform image. (#391)
이형주/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>
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
이형주/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>
이형주/Common Platform Lab(SR)/삼성전자 [Fri, 18 Feb 2022 02:23:35 +0000 (11:23 +0900)]
print HW clock log (#385)
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
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.
조웅석/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.
최종헌/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
조웅석/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.
최종헌/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
최종헌/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
조웅석/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.
최종헌/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
Woongsuk Cho [Tue, 25 Jan 2022 00:47:37 +0000 (09:47 +0900)]
Enable MCJ & BTJ by loader script
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
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.
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
Woongsuk Cho [Fri, 14 Jan 2022 05:14:35 +0000 (14:14 +0900)]
Update Unit TC for support crossgen2
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).
j-h.choi [Tue, 11 Jan 2022 08:13:48 +0000 (17:13 +0900)]
Modify 10.Dotnet.Launcher.preload file
Change-Id: I6c7a3d8b1789547a3231e4f97d8249f7dd8695eb
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 .
최종헌/Common Platform Lab(SR)/Engineer/삼성전자 [Thu, 6 Jan 2022 07:39:21 +0000 (16:39 +0900)]
Remove unused old ibcdata (#361)
Change-Id: I563bd1ade521dfb1ee6fb3d6befdac0a6130a85f
Add null check to solve svace issue (#362)
최종헌/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
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.
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.
최종헌/Common Platform Lab(SR)/Engineer/삼성전자 [Mon, 3 Jan 2022 03:33:52 +0000 (12:33 +0900)]
Fixed build error (#359)
Change-Id: I3b4fc97e57e2c20436e5866f3188b2c241d4eb72
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.
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".
최종헌/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
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>
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
Woongsuk Cho [Wed, 6 Oct 2021 05:48:28 +0000 (14:48 +0900)]
use corerun for crossgen2
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.
Disable config cache to set environment (#350)
To set environment after coreclr_initialize, disable config cache
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.
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
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
j-h.choi [Mon, 5 Jul 2021 04:26:23 +0000 (13:26 +0900)]
Fix build warning. Replace strncpy with memcpy
Change-Id: Ic9f239132fd1a2793176cd85ba00b8c553bd056a
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
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.
Gleb Balykov [Tue, 6 Jul 2021 12:32:47 +0000 (15:32 +0300)]
Update MulticoreJit setup: disable profile gathering if profile already exists
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
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
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
j-h.choi [Thu, 10 Jun 2021 06:10:02 +0000 (15:10 +0900)]
Added missing exception handling for boost_filesystem
Change-Id: Ief5956ffa9683c5f4047f3abfcb0ba44513c401b
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
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.
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
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>
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>
Woongsuk Cho [Wed, 9 Jun 2021 06:24:29 +0000 (15:24 +0900)]
change fprintf to _SERR and _SOUT
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
j-h.choi [Wed, 9 Jun 2021 05:00:44 +0000 (14:00 +0900)]
Fixed typo in launcher_TC
Change-Id: Ic44ca7c3af9ab5503809127c7c6501086806c293
Hyungju Lee [Mon, 5 Apr 2021 21:49:30 +0000 (06:49 +0900)]
Remove log_manager (dlog redirects stdout and stderr by itself)
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
j-h.choi [Wed, 10 Feb 2021 02:06:54 +0000 (11:06 +0900)]
Add line number to extractor tool
Change-Id: I5da17e91d8d5bc59a5e59e5385ae413ef93ac178
j-h.choi [Fri, 22 Jan 2021 07:10:39 +0000 (16:10 +0900)]
Add dotnet-stack tool
Change-Id: I38574798f50bbe1a288d55fe9a04ff203a1f1c97
최종헌/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>
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
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
j-h.choi [Wed, 13 Jan 2021 08:38:06 +0000 (17:38 +0900)]
Add null check in preload
Change-Id: I51fa05c104c40d3a539ed07ff87912857ea3d4f8
최종헌/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
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
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
j-h.choi [Wed, 6 Jan 2021 00:51:56 +0000 (09:51 +0900)]
Add '--ni-ro-pkg' option to dotnettool
Change-Id: I0eea9ca9ef583374d9c8195360a6add733c7581d
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
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
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
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
j-h.choi [Tue, 29 Dec 2020 05:47:20 +0000 (14:47 +0900)]
[TC Fixed] Change the 'find' command
Change-Id: I2e5dee3f79ef4ba012ed741057f004b4319c8a57
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
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
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
j-h.choi [Thu, 24 Dec 2020 04:22:42 +0000 (13:22 +0900)]
[TC Fixed] Index out of range
Change-Id: I8737f068f8bb59f00278f13be2dd31cd783cd2f9
j-h.choi [Thu, 24 Dec 2020 02:20:27 +0000 (11:20 +0900)]
[Fixed] TC_TLC_03 app crash
Change-Id: I1a4a934d4d7f11b9d3181093dafc8231f4f737f7
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.
j-h.choi [Wed, 2 Dec 2020 08:25:52 +0000 (17:25 +0900)]
Add dotnet-launcher test case - Apps
Change-Id: If85502bb88b3f72274b0a618c3f82aad9c67f3d7
j-h.choi [Tue, 1 Dec 2020 07:40:12 +0000 (16:40 +0900)]
Add dotnet-launcher test case - Script
Change-Id: Ief02095307e51f8237c34e818bc7697cdecf5319
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.
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
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
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.
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
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
Regenerate native image for TAC at FOTA (#298)
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.
fix typo : path --> patch (#295)
add rw update script to support FOTA (#294)
regenerate application's native image when FOTA done
Woongsuk Cho [Tue, 6 Oct 2020 00:56:54 +0000 (09:56 +0900)]
Use multi-user support pkgmgrinfo API
pkgmgrinfo API provides an API set that considers multi-user.
This patch is for clean-up multi-user related API.