www.delorie.com/archives/browse.cgi | search |
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=cJ7pD8l2URGU9ksmnr51fbqwIw8DaVF/+IvcjQQlfWI=; b=d8mNKAgLCv5+ | |
/qCwYz1llBtZzuxscqNA6QjcRUi4jjCPCCAjIhFl5dF0ukXiinNfyiEuwaOfOyLyikBPWeXQv+w+P | |
iBWzfK8TaNZcTzh7cpD1PPGsEkzLRPSXtrcnsnIpg3jGrep0WGqBwWMMbHmNemwhNoeBC1ST0k+my | |
BzZcEnX3dE354rk1quNSj/kxHuOpLCYsLHJLbp4Uf0HtiFRn+ElMAYNwvmM5xb80iU7C2fAA0BpKn | |
xcKgqc0xsqlqXk0vPnWwksyxJhvt6kfERLayg3VP+yiyRJGwOFZU3Ie+4BqLW/uWgeEZmYsoFOL2x | |
QaKaPVGWPPlDueRzASdssA==; | |
Date: | Fri, 27 Jan 2023 22:10:34 +0200 |
Message-Id: | <83sffvbux1.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: | |
<CAA2C=vBDi8gwhVVacnhnP+eufCkMNK4DancpOjnD7ScOWCEF6g AT mail DOT gmail DOT com> | |
(djgpp AT delorie DOT com) | |
Subject: | Re: DXE3 with std::vector |
References: | <edefcfee-d1ce-415a-8d1d-525a660fb0d5n AT googlegroups DOT com> |
<CAA2C=vCduRPA7Ky-kDqs=QtO-qi=DQczM6FMHhB+=Ltof54P=Q AT mail DOT gmail DOT com> | |
<c934abb6-c11e-0087-cd32-365d25d3f154 AT gmail DOT com> <CAA2C=vCHMXDD8iewRStieHyTcgjGF3=d29LmMT53vrzGYe+zMQ AT mail DOT gmail 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> | |
Reply-To: | djgpp AT delorie DOT com |
> From: "Ozkan Sezer (sezeroz AT gmail DOT com) [via djgpp AT delorie DOT com]" <djgpp AT delorie DOT com> > Date: Fri, 27 Jan 2023 22:23:40 +0300 > > On 1/27/23, J.W. Jagersma (jwjagersma AT gmail DOT com) [via > djgpp AT delorie DOT com] <djgpp AT delorie DOT com> wrote: > > On 2023-01-27 19:10, Ozkan Sezer (sezeroz AT gmail DOT com) [via djgpp AT delorie DOT com] > > wrote: > >>>>> Thanks. It builds fine for me with the patched dxe3gen, no warnings, > >>>>> both with and without -lgcc. > >>>> > >>>> Well, it does not for me, which _is_ a problem. My toolchain is based > >>>> on > >>>> gcc-3.4.6 and binutils-2.26.1. > >>> > >>> If you comment out the line with "remove(TEMP_O_FILE)", then run > >>> dxe3gen again, what does "objdump -h dxe_tmp.o" (or -x) show? > >> > >> Here you go: > >> h0.txt and x0.txt are outputs of -h and -x before the patch. > >> h1.txt and x1.txt are outputs of -h and -x after the patch. > > > > Ah, I see now. gcc 3 inserts the wrong linker script. > > > > From the specs file you posted earlier: > > > > %{!T*:-Tdjgpp-x.djl} %{T*} > > > > This means, if no -T option is given, it uses -Tdjgpp-x.djl. Weirdly the > > -T > > option is not documented for gcc 3.4.6, that is why I assumed it had to be > > wrapped via -Wl. > > > > New patch attached, this should work then. > > Yes, this one does work, and yields an identical dxe. > > DJ, Eli: I'd like to apply this patch. Any objections? I won't fight its inclusion, but I wonder whether all of the aspects of this patch have been considered. I'm worried by the changes in behavior this patch brings. At least the following stand out: . the code will no longer heed DXE_LD_LIBRARY_PATH and DJDIR . makefile.dxe uses "?=", which AFAICT we never used in the DJGPP build tree Are these changes justified? What if someone wants to use those environment variables to tweak the build of a DXE? 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);
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |