pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/mk/check



Module Name:    pkgsrc
Committed By:   maya
Date:           Wed Apr 24 22:56:47 UTC 2019

Modified Files:
        pkgsrc/mk/check: check-relro-elf.awk

Log Message:
Don't complain if binaries without an interpreter or .dynamic section don't
have a GNU_RELRO flag. (they won't because it doesn't do anything to them).

Should eliminate some of the need for CHECK_RELRO_SKIP, especially for some
Go binaries.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 pkgsrc/mk/check/check-relro-elf.awk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/mk/check/check-relro-elf.awk
diff -u pkgsrc/mk/check/check-relro-elf.awk:1.2 pkgsrc/mk/check/check-relro-elf.awk:1.3
--- pkgsrc/mk/check/check-relro-elf.awk:1.2     Wed Jul  5 15:24:22 2017
+++ pkgsrc/mk/check/check-relro-elf.awk Wed Apr 24 22:56:47 2019
@@ -1,4 +1,4 @@
-# $NetBSD: check-relro-elf.awk,v 1.2 2017/07/05 15:24:22 khorben Exp $
+# $NetBSD: check-relro-elf.awk,v 1.3 2019/04/24 22:56:47 maya Exp $
 #
 # Copyright (c) 2007 Joerg Sonnenberger <joerg%NetBSD.org@localhost>.
 # Copyright (c) 2017 Pierre Pronchery <khorben%NetBSD.org@localhost>.
@@ -76,9 +76,16 @@ function checkrelro(ELF, got_relro, foun
                if ($1 == "GNU_RELRO") {
                        got_relro = 1
                }
+               # PT_INTERP for executables
+               # DYNAMIC for libraries, executables
+               if (($1 == "INTERP") ||
+                   ($1 == "DYNAMIC")) {
+                       dynamic = 1
+               }
+
        }
        close(cmd)
-       if (found == 1 && got_relro != 1) {
+       if (found == 1 && dynamic == 1 && got_relro != 1) {
                print ELF ": missing RELRO"
        }
 }



Home | Main Index | Thread Index | Old Index