Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src Add a note about PIE for amd64 requiring clean objdir.
details: https://anonhg.NetBSD.org/src/rev/634df7e5bd28
branches: trunk
changeset: 344757:634df7e5bd28
user: riastradh <riastradh%NetBSD.org@localhost>
date: Sat Apr 16 18:28:22 2016 +0000
description:
Add a note about PIE for amd64 requiring clean objdir.
diffstat:
UPDATING | 21 ++++++++++++++++++++-
1 files changed, 20 insertions(+), 1 deletions(-)
diffs (35 lines):
diff -r 4397b1ca9adf -r 634df7e5bd28 UPDATING
--- a/UPDATING Sat Apr 16 16:57:06 2016 +0000
+++ b/UPDATING Sat Apr 16 18:28:22 2016 +0000
@@ -1,4 +1,4 @@
-$NetBSD: UPDATING,v 1.267 2016/04/03 06:16:02 mrg Exp $
+$NetBSD: UPDATING,v 1.268 2016/04/16 18:28:22 riastradh Exp $
This file (UPDATING) is intended to be a brief reference to recent
changes that might cause problems in the build process, and a guide for
@@ -19,6 +19,25 @@
Recent changes:
^^^^^^^^^^^^^^^
+20160410:
+
+ amd64 needs full "make cleandir" or deletion of objdir now that
+ PIE has been enabled for amd64. PIE, or position-independent
+ executables, means all code, including executables and not just
+ shared libraries, is position-independent and hence able to be
+ relocated by ASLR, address space layout randomization.
+
+ The change was made in Makefile variables for compiler and
+ linker flags, for which make(1) does not record dependencies,
+ hence it is unable to detect that all .o files need rebuilding.
+
+ Partial rebuilds with some modified source files will likely
+ fail when linking executables, since the linker refuses to mix
+ position-independent code with position-dependent code in
+ position-independent executables:
+
+ .../x86_64--netbsd/bin/ld: foo.o: relocation R_X86_64_32 against `...' cannot be used when making a shared object; recompile with -fPIC
+
20160401:
Ports switching to GCC 5.3 will need a full "make cleandir".
Home |
Main Index |
Thread Index |
Old Index