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