rpm/assumeexec.diff

28 lines
1.0 KiB
Diff

--- tools/elfdeps.c.orig 2024-10-07 09:35:46.000000000 +0000
+++ tools/elfdeps.c 2024-12-16 09:25:13.479234184 +0000
@@ -17,6 +17,7 @@ int fake_soname = 1;
int filter_soname = 1;
int require_interp = 0;
int multifile = 0;
+int assume_exec = 0;
typedef struct elfInfo_s {
Elf *elf;
@@ -302,7 +303,7 @@ static int processFile(const char *fn, i
if (ehdr->e_type == ET_DYN || ehdr->e_type == ET_EXEC) {
ei->marker = mkmarker(ehdr);
ei->isDSO = (ehdr->e_type == ET_DYN);
- ei->isExec = (st.st_mode & (S_IXUSR|S_IXGRP|S_IXOTH));
+ ei->isExec = assume_exec || (st.st_mode & (S_IXUSR|S_IXGRP|S_IXOTH));
processProgHeaders(ei, ehdr);
processSections(ei);
@@ -372,6 +373,7 @@ int main(int argc, char *argv[])
{ "no-filter-soname", 0, POPT_ARG_VAL, &filter_soname, 0, NULL, NULL },
{ "require-interp", 0, POPT_ARG_VAL, &require_interp, -1, NULL, NULL },
{ "multifile", 'm', POPT_ARG_VAL, &multifile, -1, NULL, NULL },
+ { "assume-exec", 0, POPT_ARG_VAL, &assume_exec, -1, NULL, NULL },
POPT_AUTOHELP
POPT_TABLEEND
};