Revert "filesystems: we aren't BeOS, so we can safely use -O2(+)."

This reverts commit ae495ca8fe9e48dea982cf522c5c54c56dffb9fd.

My system volume was mysteriously corrupted while booting or shutting down today,
enough to make it unbootable and KDL on attempt to mount it. I'm assuming our gcc2
still isn't safe with regard to -O2 optimization of filesystems, and revert this,
until proven wrong (eg. by running test suites and FS stress tests and finding no
issues.

Axel comented on the commit saying it probably was not a good idea, but no action was
taken. Should we setup a better commit review system?
This commit is contained in:
Adrien Destugues 2015-06-22 18:50:16 +02:00
parent 969a5d2fac
commit a558d18527
7 changed files with 59 additions and 0 deletions

View File

@ -7,6 +7,11 @@ SubDir HAIKU_TOP src add-ons kernel file_systems bfs ;
#BFS_BIG_ENDIAN_ONLY
;
if $(DEBUG) = 0 {
# the gcc on BeOS doesn't compile BFS correctly with -O2 or more
OPTIM = -O1 ;
}
defines = [ FDefines $(defines) ] ;
SubDirCcFlags $(defines) ;
SubDirC++Flags $(defines) ;

View File

@ -1,5 +1,8 @@
SubDir HAIKU_TOP src add-ons kernel file_systems udf drive_setup_addon ;
# save original optimization level
oldOPTIM = $(OPTIM) ;
# set some additional defines
{
local defines =
@ -12,6 +15,9 @@ SubDir HAIKU_TOP src add-ons kernel file_systems udf drive_setup_addon ;
if $(DEBUG) {
#defines += DEBUG ;
} else {
# the gcc on BeOS doesn't compile BFS correctly with -O2 or more
OPTIM = -O1 ;
}
defines = [ FDefines $(defines) ] ;
@ -49,3 +55,7 @@ actions ignore InstallUDFDS
}
InstallUDFDS install : i-udf-ds ;
# restore original optimization level
OPTIM = $(oldOPTIM) ;

View File

@ -2,6 +2,9 @@ SubDir HAIKU_TOP src tests add-ons kernel file_systems bfs r5 ;
SetSubDirSupportedPlatformsBeOSCompatible ;
# save original optimization level
oldOPTIM = $(OPTIM) ;
# set some additional defines
{
local defines =
@ -24,6 +27,11 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
bfsAddOnName = obfs ;
}
if $(DEBUG) = 0 {
# the gcc on BeOS doesn't compile BFS correctly with -O2 or more
OPTIM = -O1 ;
}
defines = [ FDefines $(defines) ] ;
SubDirCcFlags $(defines) ;
SubDirC++Flags $(defines) -fno-rtti ;
@ -67,3 +75,6 @@ actions ignore InstallBFS
}
InstallBFS install : obfs ;
# restore original optimization level
OPTIM = $(oldOPTIM) ;

View File

@ -3,6 +3,9 @@ SubDir HAIKU_TOP src tests add-ons kernel file_systems udf r5 ;
SetSubDirSupportedPlatformsBeOSCompatible ;
SubDirC++Flags -fno-rtti ;
# save original optimization level
oldOPTIM = $(OPTIM) ;
# set some additional defines
{
local defines =
@ -11,6 +14,11 @@ SubDirC++Flags -fno-rtti ;
defines += COMPILE_FOR_R5 ;
if $(DEBUG) = 0 {
# the gcc on BeOS doesn't compile BFS correctly with -O2 or more
OPTIM = -O1 ;
}
defines = [ FDefines $(defines) ] ;
SubDirCcFlags $(defines) ;
SubDirC++Flags $(defines) ;
@ -54,3 +62,8 @@ actions ignore InstallUDF
}
InstallUDF install : udf ;
# restore original optimization level
OPTIM = $(oldOPTIM) ;
SubInclude HAIKU_TOP src tests add-ons kernel file_systems udf r5 drive_setup_addon ;

View File

@ -2,6 +2,9 @@ SubDir HAIKU_TOP src tests add-ons kernel file_systems udf r5 drive_setup_addon
SetSubDirSupportedPlatformsBeOSCompatible ;
# save original optimization level
oldOPTIM = $(OPTIM) ;
# set some additional defines
{
local defines =
@ -14,6 +17,9 @@ SetSubDirSupportedPlatformsBeOSCompatible ;
if $(DEBUG) {
#defines += DEBUG ;
} else {
# the gcc on BeOS doesn't compile BFS correctly with -O2 or more
OPTIM = -O1 ;
}
defines = [ FDefines $(defines) ] ;
@ -51,3 +57,7 @@ actions ignore InstallUDFDS
}
InstallUDFDS install : i-udf-ds ;
# restore original optimization level
OPTIM = $(oldOPTIM) ;

View File

@ -11,6 +11,11 @@ SEARCH_SOURCE += $(bfsTop) ;
USER=1
;
if $(DEBUG) = 0 {
# the gcc on BeOS doesn't compile BFS correctly with -O2 or more
OPTIM = -O1 ;
}
defines = [ FDefines $(defines) ] ;
SubDirCcFlags $(defines) ;
SubDirC++Flags $(defines) -fno-rtti ;

View File

@ -12,6 +12,11 @@ DEFINES += HAIKU_BUILD_COMPATIBILITY_H ;
FS_SHELL
;
if $(DEBUG) = 0 {
# the gcc on BeOS doesn't compile BFS correctly with -O2 or more
OPTIM = -O1 ;
}
defines = [ FDefines $(defines) ] ;
SubDirCcFlags $(defines) -Wno-multichar ;
SubDirC++Flags $(defines) -Wno-multichar -fno-rtti ;