arch/Config.in.x86: drop BR2_x86_generic
authorPeter Korsgaard <peter@korsgaard.com>
Fri, 7 Nov 2014 18:51:06 +0000 (19:51 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Fri, 7 Nov 2014 18:51:06 +0000 (19:51 +0100)
The fuzzy generic x86 variant doesn't make much sense in the context of
Buildroot, and the recent change to use -march instead of -mtune broke it.

From the GCC manual:

https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/i386-and-x86-64-Options.html#i386-and-x86-64-Options:

-mtune=cpu-type
    Tune to cpu-type everything applicable about the generated code,
    except for the ABI and the set of available instructions. While
    picking a specific cpu-type schedules things appropriately for that
    particular chip, the compiler does not generate any code that cannot
    run on the default machine type unless you use a -march=cpu-type
    option. For example, if GCC is configured for i686-pc-linux-gnu then
    -mtune=pentium4 generates code that is tuned for Pentium 4 but still
    runs on i686 machines.

    The choices for cpu-type are the same as for -march. In addition,
    -mtune supports 2 extra choices for cpu-type:

    â€˜generic’
        Produce code optimized for the most common IA32/AMD64/EM64T
        processors. If you know the CPU on which your code will run,
        then you should use the corresponding -mtune or -march option
        instead of -mtune=generic. But, if you do not know exactly what
        CPU users of your application will have, then you should use
        this option.

        As new processors are deployed in the marketplace, the behavior
        of this option will change. Therefore, if you upgrade to a newer
        version of GCC, code generation controlled by this option will
        change to reflect the processors that are most common at the
        time that version of GCC is released.

        There is no -march=generic option because -march indicates the
        instruction set the compiler can use, and there is no generic
        instruction set applicable to all processors. In contrast,
        -mtune indicates the processor (or, in this case, collection of
        processors) for which the code is optimized.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
arch/Config.in.x86

index 0b7919b7ae89e01f304021d563b0b02f90d8dfa5..8a844dbe94ae962158fbee0c4b5e6a1152513cee 100644 (file)
@@ -18,12 +18,9 @@ choice
        prompt "Target Architecture Variant"
        depends on BR2_i386 || BR2_x86_64
        default BR2_x86_i586 if BR2_i386
-       default BR2_x86_generic if BR2_x86_64
        help
          Specific CPU variant to use
 
-config BR2_x86_generic
-       bool "generic"
 config BR2_x86_i386
        bool "i386"
        depends on !BR2_x86_64
@@ -197,7 +194,6 @@ config BR2_ARCH
        default "i686"          if BR2_x86_athlon
        default "i686"          if BR2_x86_athlon_4
        default "x86_64"        if BR2_x86_64
-       default "i386"          if BR2_x86_generic
 
 config BR2_ENDIAN
        default "LITTLE"
@@ -234,4 +230,3 @@ config BR2_GCC_TARGET_ARCH
        default "c3"            if BR2_x86_c3
        default "c3-2"          if BR2_x86_c32
        default "geode"         if BR2_x86_geode
-       default "generic"       if BR2_x86_generic