kernel & addons: Build with the non-legacy GCC even on x86_gcc2h.
Only one code change: for some reason, GCC chokes on the cr3 functions as macros (throwing errors about invalid registers.) The BSDs have them as inline functions instead, so they are converted to that here. Tested and working. There seems to be about a 10% decrease in CPU time on some compilation benchmarks that I briefly tried. Change-Id: I31666297394d7619f83fca6ff5f933ddd6f07420 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4515 Tested-by: Commit checker robot <[email protected]> Reviewed-by: waddlesplash <[email protected]>
This commit is contained in:
committed by
waddlesplash
parent
407f08de29
commit
7aa5574713
@@ -103,7 +103,7 @@ rule TargetKernelLibsupc++ asPath
|
||||
flags += path ;
|
||||
}
|
||||
return [
|
||||
BuildFeatureAttribute gcc_syslibs_devel
|
||||
BuildFeatureAttribute QUALIFIED $(TARGET_KERNEL_ARCH):gcc_syslibs_devel
|
||||
: libsupc++-kernel.a : $(flags)
|
||||
] ;
|
||||
} else {
|
||||
@@ -215,7 +215,7 @@ rule TargetKernelLibgcc asPath
|
||||
flags += path ;
|
||||
}
|
||||
return [
|
||||
BuildFeatureAttribute gcc_syslibs_devel
|
||||
BuildFeatureAttribute QUALIFIED $(TARGET_KERNEL_ARCH):gcc_syslibs_devel
|
||||
: libgcc-kernel.a : $(flags)
|
||||
] ;
|
||||
} else {
|
||||
@@ -224,15 +224,15 @@ rule TargetKernelLibgcc asPath
|
||||
}
|
||||
|
||||
|
||||
rule TargetBootLibgcc asPath
|
||||
rule TargetBootLibgcc architecture : asPath
|
||||
{
|
||||
# TargetBootLibgcc [ <asPath> ]
|
||||
# TargetBootLibgcc [ architecture ] : [ <asPath> ]
|
||||
#
|
||||
# Returns the static bootloader libgcc for the target.
|
||||
# Invoking with <asPath> = true will return the full library path.
|
||||
|
||||
if $(TARGET_PLATFORM) = haiku {
|
||||
if $(TARGET_PACKAGING_ARCH) = x86_64 {
|
||||
if $(architecture) = x86_64 {
|
||||
# we need to use the 32-bit libgcc.a built by the cross-compiler
|
||||
return $(TARGET_BOOT_LIBGCC) ;
|
||||
|
||||
@@ -247,7 +247,7 @@ rule TargetBootLibgcc asPath
|
||||
flags += path ;
|
||||
}
|
||||
return [
|
||||
BuildFeatureAttribute gcc_syslibs_devel
|
||||
BuildFeatureAttribute QUALIFIED $(architecture):gcc_syslibs_devel
|
||||
: libgcc-kernel.a : $(flags)
|
||||
] ;
|
||||
} else {
|
||||
@@ -292,7 +292,7 @@ rule TargetKernelLibgcceh asPath
|
||||
flags += path ;
|
||||
}
|
||||
return [
|
||||
BuildFeatureAttribute gcc_syslibs_devel
|
||||
BuildFeatureAttribute QUALIFIED $(TARGET_KERNEL_ARCH):gcc_syslibs_devel
|
||||
: libgcc_eh-kernel.a : $(flags)
|
||||
] ;
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user