• Re: Re: Re: How to do 32-bit build in AMD64 chroot -- problem with SSE

    From Steven Robbins@21:1/5 to All on Mon Dec 13 21:06:55 2021
    Copy: debian-devel@lists.debian.org

    Thanks for the pointer to https://wiki.debian.org/ ArchitectureSpecificsMemo#Architecture_baselines.

    I read there that "Each Debian architecture has a baseline indicating the oldest or least capable CPU on which the architecture can be used. The
    baseline can change between Debian releases. The baseline is mostly defined by the gcc-N package, which is configured to produce baseline binaries when options like -march= are not used."

    Is the choice of baseline a Debian-specific configuration of GCC? Or might another OS vendor configure differently such that "gcc" running on an i386 class
    machine actually targets something newer than i686?

    -Steve

    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCAAdFiEEy89k8fa3rclNjyokyeVeL63I9LkFAmG4Ck8ACgkQyeVeL63I 9Lm1Og//c4cRGwqJkjbxZu4ZUoFSwMW7yTcwkNYgn+rMQ0VYeP43P4OQsV7iSSBs sFQJLTS9C+FQv7C/mfJLHEQ8bP/3KYafOrTmEehF9JdZXIdIHB+scR6MVUdztlAg z1tzKtuot99dNgEopkhX/uAxsvlbDeRRRW3hJ/5VOSPwzl7mgHHbB7XosI/ms30a 0SI3rCXtisBsU7ExzL+sjEYxv/ChtdSvMAvgZNMAiq1gpv1RpF2dErpC0pMArMq8 O6XCz+/s080rrPQV3mNW8Nv7zgESbeZaFwEB5JmxUsOEciuKORiviCxkVSPP8pt0 9Ps/MVxxMx+7JUpyFcG89OgQmB2aCvIEvTc003N1TwNsuuPScuQwvb9Tg0cXHg9G vR4iil85v36LYTjVE1AIybU7cxpr4d6sa/4m8PTARdFCT03renSSs1tEAMFd2iux u6C7IQ2qxD6ape3Mf7Oad1Rbac37t4HO0I5e0+mWZ9Bkagog+W1ec0WbqRCbRphW d8LtBCUIT8P8NemsWsxxaWYHllvxPUm6x85EL4WdPH2bVnJupJU1YrHibwXAfPwl 4YxIUUbuSAKSiqnBwLGckppj2rCm265zLKAc6K+v64H8luaY8YzQS0RZU/1i2hE+ mV+hbqrgAJHQxevfnY6qWlcNKR9ggZeCOvO5z/myIoM5YZkAYEc=
    =gHyY
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon McVittie@21:1/5 to Steven Robbins on Tue Dec 14 10:50:02 2021
    On Mon, 13 Dec 2021 at 21:06:55 -0600, Steven Robbins wrote:
    Is the choice of baseline a Debian-specific configuration of GCC?

    Yes, it is a Debian-specific choice. For example, Ubuntu moved from i586
    to i686 before we did. I believe Debian and Ubuntu are *currently* in sync
    on this, but there is no particular reason why we have to be.

    Technically our baseline is i686, minus one "long NOP" instruction that
    wasn't supported by a generation of AMD Geode CPUs that is otherwise i686.

    It's a tradeoff with no single correct answer: increasing the baseline
    makes the OS work better (faster and/or fewer bugs) on CPUs newer than
    the baseline, at the cost of making it completely non-functional on CPUs
    older than the baseline.

    Or might
    another OS vendor configure differently such that "gcc" running on an i386 class
    machine actually targets something newer than i686?

    Yes, they might. I'm sure several vendors with a focus on relatively
    modern mainstream consumer or server hardware are configuring their i386
    gcc to target machines with SSE and SSE2, both for better performance
    on newer CPUs and so that they don't have to deal with the historical
    oddities of the i387 FPU. The Intel-sponsored Clear Linux is notably enthusiastic about raising its baseline beyond what most vendors would consider.

    Conversely, some vendors with more focus on embedded systems (OpenWRT?) probably still target i586 or i486, like older Debian did.

    smcv

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)