[haiku-commits] haiku: hrev51968 - in src: system/kernel add-ons/print/transports/lpr add-ons/print/transports/ipp

  • From: waddlesplash <waddlesplash@xxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 21 May 2018 20:52:56 -0400 (EDT)

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)


Other related posts:

  • » [haiku-commits] haiku: hrev51968 - in src: system/kernel add-ons/print/transports/lpr add-ons/print/transports/ipp - waddlesplash