ArchitectureRules: Clean up GCC >= 3 logic & disable -Werror for netfs.
This commit is contained in:
+14
-18
@@ -18,28 +18,24 @@ rule ArchitectureSetup architecture
|
|||||||
ccBaseFlags = -pipe ;
|
ccBaseFlags = -pipe ;
|
||||||
}
|
}
|
||||||
|
|
||||||
# disable strict aliasing on anything newer than gcc 2 as it may lead to
|
|
||||||
# unexpected results.
|
|
||||||
# TODO: remove the -fno-strict-aliasing option when all code has been
|
|
||||||
# analyzed/fixed with regard to aliasing.
|
|
||||||
if $(gccVersion[1]) >= 3 {
|
if $(gccVersion[1]) >= 3 {
|
||||||
|
# disable strict aliasing on anything newer than gcc 2 as it may lead to
|
||||||
|
# unexpected results.
|
||||||
|
# TODO: remove the -fno-strict-aliasing option when all code has been
|
||||||
|
# analyzed/fixed with regard to aliasing.
|
||||||
ccBaseFlags += -fno-strict-aliasing ;
|
ccBaseFlags += -fno-strict-aliasing ;
|
||||||
}
|
|
||||||
|
|
||||||
# Without this flag, GCC deletes many null-pointer checks that are
|
# Without this flag, GCC deletes many null-pointer checks that are
|
||||||
# technically undefined behavior (e.g. passing NULL to strdup, among
|
# technically undefined behavior (e.g. passing NULL to strdup, among
|
||||||
# others), which breaks both the kernel and various applications. See:
|
# others), which breaks both the kernel and various applications. See:
|
||||||
# - https://freelists.org/post/haiku-development/hrev45320-Yet-another-nonobvious-effect-of-ftreevrp-optimization
|
# - https://freelists.org/post/haiku-development/hrev45320-Yet-another-nonobvious-effect-of-ftreevrp-optimization
|
||||||
# - https://dev.haiku-os.org/ticket/13285#comment:8 (& subsequent comments)
|
# - https://dev.haiku-os.org/ticket/13285#comment:8 (& subsequent comments)
|
||||||
# - https://dev.haiku-os.org/ticket/10803#comment:4 (& subsequent comments)
|
# - https://dev.haiku-os.org/ticket/10803#comment:4 (& subsequent comments)
|
||||||
# Note that the Linux also does the same:
|
# Note that the Linux also does the same:
|
||||||
# - https://github.com/torvalds/linux/commit/a3ca86aea507904
|
# - https://github.com/torvalds/linux/commit/a3ca86aea507904
|
||||||
if $(gccVersion[1]) >= 3 {
|
|
||||||
ccBaseFlags += -fno-delete-null-pointer-checks ;
|
ccBaseFlags += -fno-delete-null-pointer-checks ;
|
||||||
}
|
|
||||||
|
|
||||||
# disable some builtins that are incompatible with our definitions
|
# disable some builtins that are incompatible with our definitions
|
||||||
if $(gccVersion[1]) >= 3 {
|
|
||||||
ccBaseFlags += -fno-builtin-fork -fno-builtin-vfork ;
|
ccBaseFlags += -fno-builtin-fork -fno-builtin-vfork ;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -650,7 +646,7 @@ rule ArchitectureSetupWarnings architecture
|
|||||||
# EnableWerror src add-ons kernel file_systems googlefs ;
|
# EnableWerror src add-ons kernel file_systems googlefs ;
|
||||||
EnableWerror src add-ons kernel file_systems iso9660 ;
|
EnableWerror src add-ons kernel file_systems iso9660 ;
|
||||||
EnableWerror src add-ons kernel file_systems layers ;
|
EnableWerror src add-ons kernel file_systems layers ;
|
||||||
EnableWerror src add-ons kernel file_systems netfs ;
|
# EnableWerror src add-ons kernel file_systems netfs ;
|
||||||
# EnableWerror src add-ons kernel file_systems nfs ;
|
# EnableWerror src add-ons kernel file_systems nfs ;
|
||||||
EnableWerror src add-ons kernel file_systems nfs4 ;
|
EnableWerror src add-ons kernel file_systems nfs4 ;
|
||||||
# EnableWerror src add-ons kernel file_systems ntfs ;
|
# EnableWerror src add-ons kernel file_systems ntfs ;
|
||||||
|
|||||||
Reference in New Issue
Block a user