hrev51968 adds 2 changesets to branch 'master'
old head: 7f167d4f4a8c2585e9b8453e39ab2c003e362e86
new head: 3acaf25e8f5a6760f75ed95d938e4bf1d8d5f429
overview:
https://git.haiku-os.org/haiku/log/?qt=range&q=3acaf25e8f5a+%5E7f167d4f4a8c
----------------------------------------------------------------------------
c5a6b0639669: add-ons/print: Disable probably-bogus warnings on GCC 7.
3acaf25e8f5a: kernel: Disable rtl-stv1 optimization on GCC 7.
See inline comment and accompanying ticket.
[ Augustin Cavalier <waddlesplash@xxxxxxxxx> ]
----------------------------------------------------------------------------
3 files changed, 22 insertions(+), 4 deletions(-)
src/add-ons/print/transports/ipp/Jamfile | 4 +++-
src/add-ons/print/transports/lpr/Jamfile | 8 +++++---
src/system/kernel/Jamfile | 14 ++++++++++++++
############################################################################
Commit: c5a6b0639669543c67f0df6231a290c076f1af64
URL: https://git.haiku-os.org/haiku/commit/?id=c5a6b0639669
Author: Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date: Tue May 22 00:51:23 2018 UTC
add-ons/print: Disable probably-bogus warnings on GCC 7.
----------------------------------------------------------------------------
diff --git a/src/add-ons/print/transports/ipp/Jamfile
b/src/add-ons/print/transports/ipp/Jamfile
index d5e7aecae7..948eaac064 100644
--- a/src/add-ons/print/transports/ipp/Jamfile
+++ b/src/add-ons/print/transports/ipp/Jamfile
@@ -6,7 +6,9 @@ SubDirHdrs [ FDirName $(HAIKU_TOP) src add-ons print transports
shared ] ;
UsePrivateHeaders shared print ;
-Addon IPP :
+SubDirC++Flags -Wno-format-overflow ;
+
+Addon IPP :
Ipp.cpp
IppSetupDlg.cpp
IppTransport.cpp
diff --git a/src/add-ons/print/transports/lpr/Jamfile
b/src/add-ons/print/transports/lpr/Jamfile
index 02dd898726..66bdabac93 100644
--- a/src/add-ons/print/transports/lpr/Jamfile
+++ b/src/add-ons/print/transports/lpr/Jamfile
@@ -5,6 +5,8 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
SubDirHdrs [ FDirName $(HAIKU_TOP) headers libs print libprint ] ;
SubDirHdrs [ FDirName $(HAIKU_TOP) src add-ons print transports shared ] ;
+SubDirC++Flags -Wno-format-overflow ;
+
Addon LPR :
Lpr.cpp
LprSetupDlg.cpp
@@ -14,10 +16,10 @@ Addon LPR :
Socket.o
SocketStream.o
DbgMsg.o
- :
- be
+ :
+ be
libprint.a
- $(TARGET_NETWORK_LIBS)
+ $(TARGET_NETWORK_LIBS)
[ TargetLibstdc++ ]
;
############################################################################
Revision: hrev51968
Commit: 3acaf25e8f5a6760f75ed95d938e4bf1d8d5f429
URL: https://git.haiku-os.org/haiku/commit/?id=3acaf25e8f5a
Author: Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date: Tue May 22 00:52:11 2018 UTC
kernel: Disable rtl-stv1 optimization on GCC 7.
See inline comment and accompanying ticket.
----------------------------------------------------------------------------
diff --git a/src/system/kernel/Jamfile b/src/system/kernel/Jamfile
index 7964320883..687ab529e6 100644
--- a/src/system/kernel/Jamfile
+++ b/src/system/kernel/Jamfile
@@ -75,6 +75,20 @@ KernelMergeObject kernel_core.o :
: $(TARGET_KERNEL_PIC_CCFLAGS)
;
+if $(HAIKU_GCC_VERSION_$(HAIKU_ARCH)[1]) >= 7 {
+ # With the rtl-stv1 pass on these files, the kernel panics towards the
end
+ # of the boot process with a "General Protection Exception", see
+ # https://dev.haiku-os.org/ticket/14160. The pass itself vectorizes
+ # a significant number of otherwise-scalar operations, which may be why
+ # disabling it fixes the problem.
+ #
+ # At time of writing, GCC does not seem to have a way to disable
+ # vectorization as a result of optimization without disabling
+ # FPU usage altogether, which of course is not what we want and
+ # breaks when using libstdc++'s headers anyway.
+ ObjectC++Flags commpage.o signal.o thread.o : -fdisable-rtl-stv1 ;
+}
+
# Generate the header defining macros for C++ structure sizes.
local kernelC++StructSizesHeader = [ FGristFiles kernel_c++_struct_sizes.h ] ;
TARGET_HDRS_$(TARGET_PACKAGING_ARCH) on $(kernelC++StructSizesHeader)