diff --git a/architecture/x86/gcc-options b/architecture/x86/gcc-options index 9f5a81cbc..447830a38 100644 --- a/architecture/x86/gcc-options +++ b/architecture/x86/gcc-options @@ -1,7 +1,28 @@ -if [ "$ROCKCFG_X86_BITS" = 32 ] ; then +if [ "$ROCKCFG_X86_BITS" = 32 ] +then + case "$ROCKCFG_X86_OPT" in - generic) ;; + generic) + var_append GCC4_WRAPPER_INSERT " " "-march=i486" ;; + via-c3) + var_append GCC4_WRAPPER_INSERT " " "-march=k62" ;; + via-c3-improved) + var_append GCC4_WRAPPER_INSERT " " "-march=i686" ;; + via-c3-2) + var_append GCC4_WRAPPER_INSERT " " "-march=pentium-mmx" ;; + k6*) + var_append GCC4_WRAPPER_INSERT " " "-march=$ROCKCFG_X86_OPT" + # workaround and should be removed when gcc 3.x got fixed ... + var_append GCC4_WRAPPER_INSERT " " "-fno-branch-count-reg" + ;; + *) + var_append GCC4_WRAPPER_INSERT " " "-march=$ROCKCFG_X86_OPT" ;; + esac + + case "$ROCKCFG_X86_OPT" in + generic) + var_append GCC3_WRAPPER_INSERT " " "-march=i486" ;; via-c3) var_append GCC3_WRAPPER_INSERT " " "-march=k62" ;; via-c3-improved) @@ -18,15 +39,14 @@ if [ "$ROCKCFG_X86_BITS" = 32 ] ; then esac case "$ROCKCFG_X86_OPT" in + generic) + var_append GCC2_WRAPPER_INSERT " " "-march=i486" ;; i386|i486) var_append GCC2_WRAPPER_INSERT " " "-march=$ROCKCFG_X86_OPT" ;; - pentium|pentium-mmx) var_append GCC2_WRAPPER_INSERT " " "-march=pentium" ;; - pentium*|via-c3-2) var_append GCC2_WRAPPER_INSERT " " "-march=pentiumpro" ;; - k6*|athlon*|via-c3) var_append GCC2_WRAPPER_INSERT " " "-march=k6" ;; via-c3-improved) @@ -40,10 +60,12 @@ else intel) var_append GCC2_WRAPPER_INSERT " " "-march=x86_64" var_append GCC3_WRAPPER_INSERT " " "-march=nocona" + var_append GCC4_WRAPPER_INSERT " " "-march=nocona" ;; athlon) var_append GCC2_WRAPPER_INSERT " " "-march=x86_64" var_append GCC3_WRAPPER_INSERT " " "-march=k8" + var_append GCC4_WRAPPER_INSERT " " "-march=k8" ;; esac