bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#19111: 25.0.50; 32 bits temacs.exe is linked with wrong image-base w


From: Eli Zaretskii
Subject: bug#19111: 25.0.50; 32 bits temacs.exe is linked with wrong image-base when built on 64 bit Windows host
Date: Thu, 20 Nov 2014 19:12:55 +0200

> From: Óscar Fuentes <ofv@wanadoo.es>
> Cc: 19111@debbugs.gnu.org
> Date: Thu, 20 Nov 2014 17:23:14 +0100
> 
> > OK, but at least let's keep the build/host/target triplet correct.
> > It's not right for us to disregard it when it doesn't fit our needs,
> > because the entire configure script is based on the notion that the
> > triplet is the starting point on which all the rest is based.
> >
> > So, if we want to fix that, let's fix the triplet early on, to specify
> > a i686 build, and let the rest of the script do its job as usual.
> 
> I suspect that you have a point here which I don't entirely grasp.
> 
> Are you thinking on a scenario where the user sets --host/--build on the
> configure script to something that doesn't correlate to the contents of
> $MSYSTEM?

No, I'm trying to follow your suggestion that just "./configure && make"
should DTRT.

> > Besides, I came to a conclusion that I don't understand how your
> > suggestion will work anyway.  AFAICT, you just replace tests based on
> > one wrong string (x86_64-*-*) with another wrong string (MINGW64).
> >
> > Or are you saying that MSYS2 somehow magically does not give $MSYSTEM
> > the value MINGW64 when you configure for a 32-bit build?  If so, how
> > does this magic work?  Because if MSYS2 always sets MSYSTEM=MINGW64,
> > then your suggestion isn't going to work, is it?
> >
> > More generally, how do you tell configure that you want a 32-bit build
> > using MinGW64 toolchain?  That requires some special compiler switches
> > (like -m32 or some such), no?
> 
> We are using $MSYSTEM to special-case MinGW(-w64). $MSYSTEM is MINGW32
> when using the 32 bit toolset and MINGW64 when using the 64 bit toolset.
> That's true for MSYS2/MinGW-w64. I'm not sure if MSYS sets $MSYSTEM to
> MINGW or MINGW32, but any of it should be ok with the patch.
> 
> The -m32 switch is actively discouraged by the MinGW-w64 community and
> the official builds does not support it.
> 
> Does this answer your questions?

Sorry, it doesn't.  You say that $MSYSTEM is set to either MINGW32 or
MINGW64, depending on whether 32-bit or 64-bit toolset is used.  But
how does MSYS2 know which toolset you are going to use to compile a
program?  How do you communicate that to MSYS2?

In any case, what I suggest to do is correct the triplet,
automatically, after uname guesses it, if we find that it is wrong for
"the toolset about to be used", whatever that means.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]