Hi,

This is about commit
https://git.savannah.gnu.org/cgit/config.git/commit/config.guess?id=9e4c79f5fc4ef734b2f3115ab9184b70789e21a3
which introduced the -m64 option to Solaris i86pc compiler detection
code.

@@ -437,7 +437,7 @@ case 
$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
        # This test works for both compilers.
        if test "$CC_FOR_BUILD" != no_compiler_found; then
            if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
-               (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+               (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \
                grep IS_64BIT_ARCH >/dev/null
            then
                SUN_ARCH=x86_64

I am updating autotools on Solaris and one of the issues I have met is
that that libtheora 32bit build is now failing. Reason is that before
the change mentioned above it used

$ CC='gcc -m32' libtheora-1.2.0/config.guess
i386-pc-solaris2.11

With the change (because -m64 is after $CC_FOR_BUILD) we have

$ CC='gcc -m32' ./config.guess
x86_64-pc-solaris2.11

What architecture should config.guess return? It would make sense to me
to have it return the architecture of the binaries the compiler will
produce.


For sparc the config.guess behaves differently to what I would suppose
too.

$ CC='gcc -m32' ./config.guess
sparc-sun-solaris2.11

$ CC='gcc -m64' ./config.guess
sparc-sun-solaris2.11

I would suppose to see 'sparc64-...' in 64bit build. I can see
workaround for that in Firefox shipped in Solaris (that workaround
forces it to be 64bit, which works fine as we do not build 32bit
firefox).
https://github.com/oracle/solaris-userland/blob/master/components/desktop/firefox/patches/Bug1391072.patch

And similarly in mozjs
https://github.com/oracle/solaris-userland/blob/master/components/desktop/mozjs-78/patches/02-sparc.patch

And also ruby (although it returns "amd64-..." which I'm not sure is
correct.
https://github.com/oracle/solaris-userland/blob/master/components/ruby/ruby-33/patches/02-config.patch


I'm happy to create a patch and test it if my theory is correct. But
maybe I am wrong and do not understand what exactly config.guess is
supposed to exactly do. In which case I'm happy to learn :)

Thank you
-- 
        Vlad

Reply via email to