blob: 89f6bcd65f4c72d4d322ff9ee32dd066abbe5874 [file] [log] [blame]
Andrew Geisslereff27472021-10-29 15:35:00 -05001From 42b3e19d4e584fb9b47fb471e02bb25de90ac641 Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Thu, 14 Oct 2021 15:57:36 +0800
4Subject: [PATCH] nativesdk-libcap: Raise the size of arrays containing dl
5 paths
6
7This patch puts the dynamic loader path in the binaries, SYSTEM_DIRS strings
8and lengths as well as ld.so.cache path in the dynamic loader to specific
9sections in memory. The sections that contain paths have been allocated a 4096
10byte section, which is the maximum path length in linux. This will allow the
11relocating script to parse the ELF binary, detect the section and easily replace
12the strings in a certain path.
13
14Upstream-Status: Inappropriate [SDK specific]
15
16Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
17
18---
19 libcap/execable.h | 2 +-
20 1 file changed, 1 insertion(+), 1 deletion(-)
21
22diff --git a/libcap/execable.h b/libcap/execable.h
23index 0bcc5d4..6e2a080 100644
24--- a/libcap/execable.h
25+++ b/libcap/execable.h
26@@ -23,7 +23,7 @@
27 #endif
28 #define __EXECABLE_H
29
30-const char __execable_dl_loader[] __attribute((section(".interp"))) =
31+const char __execable_dl_loader[4096] __attribute((section(".interp"))) =
32 SHARED_LOADER ;
33
34 static void __execable_parse_args(int *argc_p, char ***argv_p)