summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRoland McGrath <[email protected]>2008-03-26 20:51:59 +0000
committerRoland McGrath <[email protected]>2008-03-26 20:51:59 +0000
commitd11f9cbecac4a5ac3848a68597028d1924f3ff6b (patch)
treebebe015f7e02d133fa3dec01f3d34c76fdb74756 /src
parent472b20d24ffbc2485f8a5e2be208a11d77e8e846 (diff)
libdwfl/
* dwfl_module_getdwarf.c (load_symtab): Don't return success for SHT_DYNSYM, just set *SYMSCN like the comment says.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog6
-rw-r--r--src/elflint.c5
2 files changed, 9 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 0bba5ca5..37127f56 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
+2008-03-26 Roland McGrath <[email protected]>
+
+ * elflint.c (check_program_header): Accept PT_GNU_RELRO p_flags
+ that matches its PT_LOAD's p_flags &~ PF_W. On sparc, PF_X really
+ is valid in RELRO.
+
2008-02-29 Roland McGrath <[email protected]>
* readelf.c (print_attributes): Add a cast.
diff --git a/src/elflint.c b/src/elflint.c
index 54aa1114..4448eef1 100644
--- a/src/elflint.c
+++ b/src/elflint.c
@@ -4055,9 +4055,10 @@ more than one GNU_RELRO entry in program header\n"));
if ((phdr2->p_flags & PF_W) == 0)
ERROR (gettext ("\
loadable segment GNU_RELRO applies to is not writable\n"));
- if ((phdr2->p_flags & PF_X) != 0)
+ if ((phdr2->p_flags &~ PF_W) != (phdr->p_flags &~ PF_W))
ERROR (gettext ("\
-loadable segment GNU_RELRO applies to is executable\n"));
+loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n"),
+ cnt, inner);
break;
}
}