is_asl handles per-file opt->o_unix.android_shlib

Also slide_sh_offset() handles so_slide.
TODO: if asl_delta, then relocate sh_offset that is above xct_off.
PT_DYNAMIC.p_offset and {.dynamic}.sh_offset must match; etc.

	modified:   p_lx_elf.cpp
	modified:   p_lx_elf.h
	modified:   p_unix.cpp
This commit is contained in:
John Reiser
2024-12-17 17:17:24 -08:00
committed by Markus F.X.J. Oberhumer
parent d00ba4b465
commit 7d907d9d65
3 changed files with 57 additions and 33 deletions
+5 -2
View File
@@ -56,9 +56,12 @@ PackUnix::PackUnix(InputFile *f) :
COMPILE_TIME_ASSERT(sizeof(l_info) == 12)
COMPILE_TIME_ASSERT(sizeof(p_info) == 12)
// Disable --android-shlib, file-by-file; undecided how to fix.
// opt->o_unix.android_shlib is global, but must be hint
// that applies only when an actual ET_DYN on EM_ARM or EM_ARM64.
// User might say "--android-shlib" but give mulitple files
// where some are ET_EXEC.
saved_opt_android_shlib = opt->o_unix.android_shlib;
opt->o_unix.android_shlib = 0;
opt->o_unix.android_shlib = 0; // Must apply selectively
}
PackUnix::~PackUnix()