www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2023/01/28/02:32:50

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
X-Recipient: djgpp AT delorie DOT com
X-Original-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
mime-version; bh=HUS0Ti/C6jyRhcmTGHV3u8XYqkckpHXefsQqCR/Ap1I=; b=MMSuTmU0kign
QJUtMVWKoE9zwSR7N933HBeM7XcwgQqS85vZ7HJ4T3pmoDb5MV7TdygA9jroQln58zhLatfEV7kJo
KOu5hsJ7kEyEaFVQwvBlp4KQ7TWmXad5spBkAdpGPNDjNa0vdtEJj7Cp9tZBqtC8evvk1c9lJ7mHX
IZQnnY5OTeOP154fpUUj8sljBu6qJs6nsNOX8izbl9+MHQ+MwGo/bLrsI7++eJpgHY9cuCGjyfNQV
GNhVrkPQz5mqu0P+pHef2G+h0qqcxZ5GRCVWvHso52VVwLvjaVuVsN9a/v9BI5iE7x+gvIp49166O
VRRDoSNlVLfJ7pPUZUCHfA==;
Date: Sat, 28 Jan 2023 09:29:25 +0200
Message-Id: <83k017azhm.fsf@gnu.org>
From: "Eli Zaretskii (eliz AT gnu DOT org) [via djgpp AT delorie DOT com]" <djgpp AT delorie DOT com>
To: djgpp AT delorie DOT com
In-Reply-To: <82cff092-6dfe-1dfc-7946-cdb84c44e11b@gmail.com>
(djgpp AT delorie DOT com)
Subject: Re: DXE3 with std::vector
References: <edefcfee-d1ce-415a-8d1d-525a660fb0d5n AT googlegroups DOT com>
<CACuL_+CZm++qhEr7PedDmQaTxjZu9d-rVSw1bgPeist7XZ+dpQ AT mail DOT gmail DOT com>
<CAA2C=vDPwv5G9DeFKyKFqt39cDDmO4LmDtbtMyoMdRR2xeEkow AT mail DOT gmail DOT com>
<3b8f674c-bca3-c679-952e-f8ba5af196e7 AT gmail DOT com>
<CAA2C=vBptnTAy2TA-pj5JCbAUJMiXkAAoP_xYFZZJ99iB7v9mQ AT mail DOT gmail DOT com>
<500850be-fd64-3f82-a1e1-929903084e9b AT gmail DOT com>
<CAA2C=vA0zXX3Sb49WBzU5g1-8dmO5G5wrb3uT+tLRq2LB0wu5Q AT mail DOT gmail DOT com>
<3d9271ae-266d-ee7b-853b-984857ced1c8 AT gmail DOT com>
<CAA2C=vD6sZpTicPh0xuJ16r76qBZ5BZro6x=9+=Z+P-0f_eRSA AT mail DOT gmail DOT com>
<f04cd9db-fe76-219c-bacb-47711df559e2 AT gmail DOT com>
<CAA2C=vCv_bpM+iinTcreMJD_gv34Rna3jLspiLFfESFuNxOtoA AT mail DOT gmail DOT com>
<af7fa08a-b074-0a4c-5e2f-99299940e3cc AT gmail DOT com>
<CAA2C=vB22rof4HPV_dVPy4tVmsmeDMy4G4r2Vx-_YLwOW6C9ug AT mail DOT gmail DOT com>
<bbdf1853-5454-93b2-fcf9-2306c6949c86 AT gmail DOT com>
<CAA2C=vBDi8gwhVVacnhnP+eufCkMNK4DancpOjnD7ScOWCEF6g AT mail DOT gmail DOT com>
<83sffvbux1 DOT fsf AT gnu DOT org> <82cff092-6dfe-1dfc-7946-cdb84c44e11b AT gmail DOT com>
Reply-To: djgpp AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

> Date: Fri, 27 Jan 2023 21:53:48 +0100
> From: "J.W. Jagersma (jwjagersma AT gmail DOT com) [via djgpp AT delorie DOT com]" <djgpp AT delorie DOT com>
> 
> >   . the code will no longer heed DXE_LD_LIBRARY_PATH and DJDIR
> 
> In the vast majority of cases those would point to the global lib directory.
> That is no longer necessary, gcc will know where to look.
> 
> In case someone used DXE_LD_LIBRARY_PATH to point to something else, that seems
> like a strange configuration, was that ever intended to be supported?

I don't know.  DJGPP is a very old project, and it is sometimes used
in strange and tricky configurations for perhaps unorthodox purposes.
By removing these variables we could inadvertently break someone's
project in some rare cases.  Why do that if we could instead keep the
old behavior intact?

IOW, given the age of DJGPP, we should strive not to make breaking
changes unless we have a very good reason to do so.

> >   . makefile.dxe uses "?=", which AFAICT we never used in the DJGPP
> >     build tree
> 
> I wasn't aware that this is modern / non-standard (is it though?).  But this
> makefile is only used for quick cross-compiling without configuring/building
> the whole source tree, so presumably no old versions of GNU Make will ever see
> it.
> 
> This change is not directly related to the rest of the patch.  But some
> people (me) who use i386-pc-msdosdjgpp might want some method to configure
> the cross-prefix.

Why is ?= needed here, and a simple = is not enough?

> > Also, this comment no longer describes what the code does, after the
> > change:
> > 
> >>    /* Allright, now run the assembler on the resulting file */
> >> -  sprintf(cmdbuf, "%s -o %s %s", dxe_as, TEMP_O_FILE, TEMP_S_FILE);
> >> +  sprintf(cmdbuf, "%s -c -o %s %s", dxe_cc, TEMP_O_FILE, TEMP_S_FILE);
> 
> It does run the assembler, just indirectly.

Running "gcc -c -o" is hardly described accurately as "running the
assembler".  If we want to go to that level, then the comment should
say something like "run the driver, the compiler, and the assembler"
(not that I think we should say that).

> I also had yet to update the manual for the v2 patch:
> 
> >  DXE_SC: Path to linker script name. If not set, defaults to dxe.ld.
> > -Passed internally to ld, like 'ld -T dxe.ld'
> > +Passed internally to the linker, like 'gcc -Wl,-T,dxe.ld'
> >  @end example
> 
> This line is now somewhat inconsistent with the code.  Also, I suppose the
> version number should be bumped.

Agreed.

Thanks.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019