https://sourceware.org/bugzilla/show_bug.cgi?id=20283

            Bug ID: 20283
           Summary: Make -z relro the default if possible
           Product: binutils
           Version: 2.27 (HEAD)
            Status: NEW
          Severity: normal
          Priority: P2
         Component: ld
          Assignee: unassigned at sourceware dot org
          Reporter: hjl.tools at gmail dot com
  Target Milestone: ---

Since "-z relro" makes more pages read-only after relocation, I'd
like to make it the default if possible. The following ELF targets
don't support "-z relro":

check.arc-linux-uclibc:FAIL: strip -z relro -shared (relro1)
check.arc-linux-uclibc:FAIL: objcopy -z relro -shared (relro1)
check.arc-linux-uclibc:FAIL: objcopy -z relro (tdata1)
check.arc-linux-uclibc:FAIL: objcopy -shared -z relro (tdata1)
check.arc-linux-uclibc:FAIL: objcopy -z relro (tdata2)
check.arc-linux-uclibc:FAIL: objcopy -shared -z relro (tdata2)
check.arc-linux-uclibc:FAIL: objcopy -z relro (tdata3)
check.arc-linux-uclibc:FAIL: objcopy -shared -z relro (tdata3)
check.arc-linux-uclibc:FAIL: objcopy -shared -z relro (tbss1)
check.arc-linux-uclibc:FAIL: objcopy -shared -z relro (tbss2)
check.arc-linux-uclibc:FAIL: objcopy -shared -z relro (tbss3)
check.frv-linux:FAIL: strip -z relro (relro1)
check.frv-linux:FAIL: strip -z relro -shared (relro1)
check.frv-linux:FAIL: objcopy -z relro (relro1)
check.frv-linux:FAIL: objcopy -z relro -shared (relro1)
check.frv-linux:FAIL: objcopy -z relro (tdata1)
check.frv-linux:FAIL: objcopy -shared -z relro (tdata1)
check.frv-linux:FAIL: objcopy -z relro (tdata2)
check.frv-linux:FAIL: objcopy -shared -z relro (tdata2)
check.frv-linux:FAIL: objcopy -z relro (tdata3)
check.frv-linux:FAIL: objcopy -shared -z relro (tdata3)
check.frv-linux:FAIL: objcopy -shared -z relro (tbss1)
check.frv-linux:FAIL: objcopy -shared -z relro (tbss2)
check.frv-linux:FAIL: objcopy -shared -z relro (tbss3)
check.hppa64-linux:FAIL: strip -z relro (relro1)
check.hppa64-linux:FAIL: strip -z relro -shared (relro1)
check.hppa64-linux:FAIL: objcopy -z relro (relro1)
check.hppa64-linux:FAIL: objcopy -z relro -shared (relro1)
check.hppa64-linux:FAIL: objcopy -z relro (tdata1)
check.hppa64-linux:FAIL: objcopy -shared -z relro (tdata1)
check.hppa64-linux:FAIL: objcopy -z relro (tdata2)
check.hppa64-linux:FAIL: objcopy -shared -z relro (tdata2)
check.hppa-linux:FAIL: strip -z relro (relro1)
check.hppa-linux:FAIL: strip -z relro -shared (relro1)
check.hppa-linux:FAIL: objcopy -z relro (relro1)
check.hppa-linux:FAIL: objcopy -z relro -shared (relro1)
check.hppa-linux:FAIL: objcopy -z relro (tdata1)
check.hppa-linux:FAIL: objcopy -shared -z relro (tdata1)
check.hppa-linux:FAIL: objcopy -z relro (tdata2)
check.hppa-linux:FAIL: objcopy -shared -z relro (tdata2)
check.hppa-linux:FAIL: objcopy -z relro (tdata3)
check.hppa-linux:FAIL: objcopy -shared -z relro (tdata3)
check.hppa-linux:FAIL: objcopy -shared -z relro (tbss1)
check.hppa-linux:FAIL: objcopy -shared -z relro (tbss2)
check.hppa-linux:FAIL: objcopy -shared -z relro (tbss3)
check.ia64-linux:FAIL: strip -z relro (relro1)
check.ia64-linux:FAIL: strip -z relro -shared (relro1)
check.ia64-linux:FAIL: objcopy -z relro (relro1)
check.ia64-linux:FAIL: objcopy -z relro -shared (relro1)
check.ia64-linux:FAIL: objcopy -z relro (tdata1)
check.ia64-linux:FAIL: objcopy -shared -z relro (tdata1)
check.ia64-linux:FAIL: objcopy -z relro (tdata2)
check.ia64-linux:FAIL: objcopy -shared -z relro (tdata2)
check.ia64-linux:FAIL: objcopy -z relro (tdata3)
check.ia64-linux:FAIL: objcopy -shared -z relro (tdata3)
check.ia64-linux:FAIL: objcopy -shared -z relro (tbss1)
check.ia64-linux:FAIL: objcopy -shared -z relro (tbss2)
check.ia64-linux:FAIL: objcopy -shared -z relro (tbss3)
check.mips64-linux:FAIL: objcopy -shared -z relro (tbss1)
check.mips64-linux:FAIL: objcopy -shared -z relro (tbss2)
check.mips64-linux:FAIL: objcopy -shared -z relro (tbss3)
check.mipsel-linux-gnu:FAIL: objcopy -shared -z relro (tbss1)
check.mipsel-linux-gnu:FAIL: objcopy -shared -z relro (tbss2)
check.mipsel-linux-gnu:FAIL: objcopy -shared -z relro (tbss3)
check.mipsisa32el-linux:FAIL: objcopy -shared -z relro (tbss1)
check.mipsisa32el-linux:FAIL: objcopy -shared -z relro (tbss2)
check.mipsisa32el-linux:FAIL: objcopy -shared -z relro (tbss3)
check.mips-linux:FAIL: objcopy -shared -z relro (tbss1)
check.mips-linux:FAIL: objcopy -shared -z relro (tbss2)
check.mips-linux:FAIL: objcopy -shared -z relro (tbss3)

We can make "-z relro" opt-in or opt-out.  Since most of ELF targets
support relro, we can opt-out it for the above targets.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to