1*6aa7eec5SAndrew GeisslerFrom 709aa8e156415215b0bb034d05b2aa2f44be044e Mon Sep 17 00:00:00 2001 2eff27476SAndrew GeisslerFrom: Hongxu Jia <hongxu.jia@windriver.com> 3eff27476SAndrew GeisslerDate: Thu, 14 Oct 2021 15:57:36 +0800 4eff27476SAndrew GeisslerSubject: [PATCH] nativesdk-libcap: Raise the size of arrays containing dl 5eff27476SAndrew Geissler paths 6eff27476SAndrew Geissler 7eff27476SAndrew GeisslerThis patch puts the dynamic loader path in the binaries, SYSTEM_DIRS strings 8eff27476SAndrew Geisslerand lengths as well as ld.so.cache path in the dynamic loader to specific 9eff27476SAndrew Geisslersections in memory. The sections that contain paths have been allocated a 4096 10eff27476SAndrew Geisslerbyte section, which is the maximum path length in linux. This will allow the 11eff27476SAndrew Geisslerrelocating script to parse the ELF binary, detect the section and easily replace 12eff27476SAndrew Geisslerthe strings in a certain path. 13eff27476SAndrew Geissler 14eff27476SAndrew GeisslerUpstream-Status: Inappropriate [SDK specific] 15eff27476SAndrew Geissler 16eff27476SAndrew GeisslerSigned-off-by: Hongxu Jia <hongxu.jia@windriver.com> 17eff27476SAndrew Geissler 18eff27476SAndrew Geissler--- 19eff27476SAndrew Geissler libcap/execable.h | 2 +- 20eff27476SAndrew Geissler 1 file changed, 1 insertion(+), 1 deletion(-) 21eff27476SAndrew Geissler 22eff27476SAndrew Geisslerdiff --git a/libcap/execable.h b/libcap/execable.h 237e0e3c0cSAndrew Geisslerindex fee17b4..5bb0c55 100644 24eff27476SAndrew Geissler--- a/libcap/execable.h 25eff27476SAndrew Geissler+++ b/libcap/execable.h 26eff27476SAndrew Geissler@@ -23,7 +23,7 @@ 27eff27476SAndrew Geissler #endif 28eff27476SAndrew Geissler #define __EXECABLE_H 29eff27476SAndrew Geissler 30eff27476SAndrew Geissler-const char __execable_dl_loader[] __attribute((section(".interp"))) = 31eff27476SAndrew Geissler+const char __execable_dl_loader[4096] __attribute((section(".interp"))) = 32eff27476SAndrew Geissler SHARED_LOADER ; 33eff27476SAndrew Geissler 34eff27476SAndrew Geissler static void __execable_parse_args(int *argc_p, char ***argv_p) 35