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; c=relaxed/relaxed; |
d=gmail.com; s=20210112; | |
h=content-transfer-encoding:in-reply-to:from:references:to | |
:content-language:subject:user-agent:mime-version:date:message-id | |
:from:to:cc:subject:date:message-id:reply-to; | |
bh=pehZUjUj3ZvPavt+eI6J/Rqbpjpyx9mE+nbW0CI4rkI=; | |
b=cNVa2/xfcn1RXGZcW3fXTnv7CX/JvLF7ndKh6Db5CuE7B7g/yCMAaG5Kl3fnHvIYzq | |
jt03botrBraHGVmiR3HBMZVkGDh8UmLc7eKdTta2M5ix430msPPCQODjGuS5r4dsxJP6 | |
aVmBfpLD8ry9tVByRNWAbIY8k4UZziLIOG9Lct+BJZo8ELLeJfT77KCVeWlmZ8Z8eMep | |
CUQ8rnjao9OHqUDH2mCcjoqr5saeTL/+3Ql5+lFhxXRysSyFvEwekw2QF14u+Oz3esvr | |
qBn8MeUvVdP0Ehf6Exy2h1wFa6f7kd1kL7B86PGWQMzOIZU49WDrziSTaSJ1kopaII9+ | |
ZjqA== | |
X-Google-DKIM-Signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; |
d=1e100.net; s=20210112; | |
h=content-transfer-encoding:in-reply-to:from:references:to | |
:content-language:subject:user-agent:mime-version:date:message-id | |
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; | |
bh=pehZUjUj3ZvPavt+eI6J/Rqbpjpyx9mE+nbW0CI4rkI=; | |
b=AlZ959B3PQlIG5Ww9eVjSl1j/43Z7udT3QZRC9rqVtj67+Drs4MsRXwqqpOBlzAYlt | |
oNmszOf/OacVx1XffGxZORBAwl/cJ4wNz6IdoKOK4wScJ0TbcyEVf9o2wHv519ns/oem | |
xlQ/exX0tB7GnWFZjGSN+YkmK64ULmrPax1+DEg89qyOHqD8CXmmgK1rDfFCHtthtfis | |
PJGM9qRuwKzpMU8ddcRAwxV1pVSzvekH0EMUBZlK2wZcA3ARyxIKERQm1YkEDWYtXAUo | |
+KdRHLs1YAiMrQdG4nlRJfEmyRHY0jU0GpVV893bARF/DyzYrJkt0z+qzgbN4oCekA86 | |
lIZA== | |
X-Gm-Message-State: | AFqh2koPUxPv32DqzHVDlwZ2SwmBiSmm9vXX/VDj7N4y8hjzlCd1U8fK |
HfRsoW+hW1+WsdSTvZ950r+C0ccRyEhZtw== | |
X-Google-Smtp-Source: | AMrXdXvvxiNzSopJj9jYO0DwtRPNX6Tf6sFy/rErUpoQbzN245+WmSCkMybfqH1szf81mOcU2LMtiw== |
X-Received: | by 2002:a05:6402:3786:b0:499:8849:5fac with SMTP id et6-20020a056402378600b0049988495facmr42580249edb.40.1674777023758; |
Thu, 26 Jan 2023 15:50:23 -0800 (PST) | |
Message-ID: | <3d9271ae-266d-ee7b-853b-984857ced1c8@gmail.com> |
Date: | Fri, 27 Jan 2023 00:50:23 +0100 |
MIME-Version: | 1.0 |
User-Agent: | Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:102.0) Gecko/20100101 |
Thunderbird/102.6.1 | |
Subject: | Re: DXE3 with std::vector |
To: | djgpp AT delorie DOT com |
References: | <edefcfee-d1ce-415a-8d1d-525a660fb0d5n AT googlegroups DOT com> |
<63a56722-21d6-a368-6400-907f0cf9d01c AT gmail 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> | |
From: | "J.W. Jagersma (jwjagersma AT gmail DOT com) [via djgpp AT delorie DOT com]" <djgpp AT delorie DOT com> |
In-Reply-To: | <CAA2C=vA0zXX3Sb49WBzU5g1-8dmO5G5wrb3uT+tLRq2LB0wu5Q@mail.gmail.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 |
On 2023-01-26 23:42, Ozkan Sezer (sezeroz AT gmail DOT com) [via djgpp AT delorie DOT com] wrote: > On 1/26/23, J.W. Jagersma (jwjagersma AT gmail DOT com) [via > djgpp AT delorie DOT com] <djgpp AT delorie DOT com> wrote: >> On 2023-01-23 05:00, Ozkan Sezer (sezeroz AT gmail DOT com) [via djgpp AT delorie DOT com] >> wrote: >>>>>> Just seems wrong to have to copy >>>>>> important libs like that? >>>>> That's a shortcoming of dxe3gen with gcc-provided libraries, >>>>> needs to be addressed but no one cared (or no one reported >>>>> the issue probably.) >>>> >>>> Any possibility of you being able to generate a patch or can we get >>>> it into documentation? >>> >>> The thing is, dxe3gen invokes ld, not gcc. gcc is a front-end to ld >>> and handles any such ugliness behind the scene and doing the same for >>> dxe3gen might be a real pain. >>> >>> If someone other than me can generate solution for this, or at least >>> some documentation, it'd be nice. >> >> Seems stubify does not delete/overwrite the input file if the file >> extension >> is something other than .exe, so calling stubify isn't so disastrous. >> >> I have a preliminary patch, attached, untested. >> > > So, you invoke gcc instead of ld, > > - removal of -X: O-OK, default anyway. > - removal of -S: Are you really sure? > - removal of -r: Don't think that it'd work. Those are in ld_args now (-Wl,-X,-S,-r,-T,dxe.ld), gcc splits it at the commas. > - removal of assembler for import lib > generation: Don't think that it'd work. The assembler is invoked via dxe_cc (gcc -c) instead. > Just tried the patched binary with a dxe build project, it fails > as expected: > ./dxe3gen -o sndpci.dxe -E _AU_ -U au.o ac97_def.o dpmi_c.o mdma.o > pcibios.o sc_cmi.o sc_e1371.o sc_ich.o sc_inthd.o sc_sbl24.o > sc_sbliv.o sc_sbxfi.o sc_via82.o tim.o udivdi3.o > dxe_tmp.o: linker output file has more than one section Getting multiple input sections sounds like some problem with the linker script. Do you have an open-source project for me to test on? I'll admit that I've never used DXE libraries before... I tried it with a basic hello-world that uses std::vector, and got a long list of unresolved references. But I get the same list with an unpatched dxe3gen. It does make a .dxe file with -U.
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |