Browse Source

Dpkg::Vendor::Debian: Mark more architectures as having gcc builtin PIE

Specifically kfreebsd-amd64, kfreebsd-i386, sparc and sparc64.
Guillem Jover 7 years ago
parent
commit
8e6660991e
3 changed files with 7 additions and 3 deletions
  1. 2 0
      debian/changelog
  2. 3 2
      man/dpkg-buildflags.man
  3. 2 1
      scripts/Dpkg/Vendor/Debian.pm

+ 2 - 0
debian/changelog

@@ -15,6 +15,8 @@ dpkg (1.18.23) UNRELEASED; urgency=medium
     - Add ‘.mnt-ignore’ to the default ignore lists in Dpkg::Source::Package,
       as we were already ignoring the ‘_MTN’ pathnames. Closes: #855450
       Thanks to Nicolas Boulenguez <nicolas@debian.org>.
+    - Mark kfreebsd-amd64, kfreebsd-i386, sparc and sparc64 architectures as
+      having gcc builtin PIE in Dpkg::Vendor::Debian.
   * Documentation:
     - Clarify the requirements for deb-conffile(5) pathnames. Closes: #854417
       Proposed by Dieter Adriaenssens <dieter.adriaenssens@gmail.com>.

+ 3 - 2
man/dpkg-buildflags.man

@@ -348,8 +348,9 @@ above). The option cannot become enabled if \fBrelro\fP is not enabled.
 .TP
 .B pie
 This setting (enabled by default since dpkg 1.18.11, and injected by default
-by gcc on the amd64, arm64, armel, armhf, i386, mips, mipsel, mips64el,
-ppc64el and s390x Debian architectures) adds the required options if
+by gcc on the amd64, arm64, armel, armhf, i386, kfreebsd-amd64, kfreebsd-i386,
+mips, mipsel, mips64el, ppc64el, s390x, sparc and sparc64 Debian architectures)
+adds the required options via gcc specs files if
 needed to enable or disable PIE. When enabled and injected by gcc,
 adds nothing. When enabled and not injected by gcc, adds \fB\-fPIE\fP
 to \fBCFLAGS\fP, \fBCXXFLAGS\fP, \fBOBJCFLAGS\fP, \fBOBJCXXFLAGS\fP,

+ 2 - 1
scripts/Dpkg/Vendor/Debian.pm

@@ -271,7 +271,8 @@ sub _add_hardening_flags {
     );
 
     my %builtin_pie_arch = map { $_ => 1 } qw(
-        amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el s390x
+        amd64 arm64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386
+        mips mipsel mips64el ppc64el s390x sparc sparc64
     );
 
     # Mask builtin features that are not enabled by default in the compiler.