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=to:subject:message-id:date:from:references:in-reply-to:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=QbN7mUhQlohpsD+xdAUi8d+QJdYYAOIkHgglVIIpB90=; b=ilKHD2xO4ZoW1e0PFSNEfd8wx0EXb7KuXtPX5fSuqm9aJz+lT6VKNg5eT8e7PfxZbt Md9c1YfrMNipV6gUehPoPs1Em8LHuuokqHN3oZL2U+wcptfDa+PTJ/KLfJT+4W8/Pn/b ipJuzB3eCMeUmdiXPpX3zOQOleVf1uSLjP9UZvrjRr7yXENwZt5h8MMS0JHucHSENEPY eZLQ39lJdylmmQeBR0t+ZMB8pTHsYnFALteQ7XnQYZNT9XIogoRgaE4zl98+TPVLjpid t4xoVH3liESifI1XhrnxcyueangAWbQgPzq4it/S6S0OCqfeffLxVoepyGj2UMwracZ9 1lJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:references:in-reply-to:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=QbN7mUhQlohpsD+xdAUi8d+QJdYYAOIkHgglVIIpB90=; b=IwXnodho6WZB1V28ns15tCRfostId/LnZScB9oVGkNfs5+yXiXCISL1SelRsDNUZLh r+xvG6YbLDwQ/GDmuzqzhHk8QjvxQNu2WZSgaT/vIKgS1raIcI6v3CB2UIjM/jX0GM2m //usVGRSbzHQO1iYX5ldHFCYCngr2CIMH6a3VC6w88dTDwk8+QeLz8TGUUMl2Olzr6yO cdI5nK0535Ga6GizUaZ4rdjoM0iQS6uyc6zpHURwX4k1/IHCuE4MZxrYyn1N/lWap5yw zlx+vvWyWgLycGcnOn+KDIoGFXYfOSzMf8qgr5dbvrjASvjxNpMKGbb3BgwAF39EiwDA xW/w== X-Gm-Message-State: AFqh2kroB0sSsvxeS5W0ePmsoFeCyzfArw0jaY8ZFmWqsm4pxlQb0hb8 tdf9dZEp6WxuGKNbtaRIHteLHQuoDEW6YDItt2GPMwFL X-Google-Smtp-Source: AMrXdXtVAkhE3W4pr4l2k0lhJYY1jcBdrItRQo1snC9tuvrGQr+xe9uCLHmvvqUrMQZET4lyGMTNMhL+HJRSgo0M1H8= X-Received: by 2002:a5d:5185:0:b0:2bd:d222:68b3 with SMTP id k5-20020a5d5185000000b002bdd22268b3mr945252wrv.95.1674913227803; Sat, 28 Jan 2023 05:40:27 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <83h6waaium.fsf@gnu.org> References: <3b8f674c-bca3-c679-952e-f8ba5af196e7 AT gmail DOT com> <500850be-fd64-3f82-a1e1-929903084e9b AT gmail DOT com> <3d9271ae-266d-ee7b-853b-984857ced1c8 AT gmail DOT com> <83sffvbux1 DOT fsf AT gnu DOT org> <83mt63azwi DOT fsf AT gnu DOT org> <835ycravjo DOT fsf AT gnu DOT org> <83zga39fil DOT fsf AT gnu DOT org> <83v8kr9bye DOT fsf AT gnu DOT org> <83lelmakwk DOT fsf AT gnu DOT org> <83h6waaium DOT fsf AT gnu DOT org> From: "Ozkan Sezer (sezeroz AT gmail DOT com) [via djgpp AT delorie DOT com]" Date: Sat, 28 Jan 2023 16:40:27 +0300 Message-ID: Subject: Re: DXE3 with std::vector To: djgpp AT delorie DOT com Content-Type: text/plain; charset="UTF-8" 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 Precedence: bulk >> > BTW, if I revert the patch and go back to the previous version, -lgcc >> > problem can be easily worked around when using a makefile, like: >> > LIBGCCDIR = $(dir $(shell $(CC) -print-libgcc-file-name)) >> > my.dxe: >> > dxe3gen -o my.dxe -E _sym -U $(OBJS) -L$(LIBGCCDIR) -lgcc >> > >> > I even created a documentation patch to dxegen.txi for it. Should we >> > really keep the patch in, or revert it? >> >> And it is unnecessary behavior change when there is actually a solution >> so I vote for reverting. > > Fine by me, thanks. OK then, will revert shortly. As for documentation, is the following good? Better wording? Index: dxegen.txi =================================================================== RCS file: /cvs/djgpp/djgpp/src/dxe/dxegen.txi,v retrieving revision 1.7 diff -u -r1.7 dxegen.txi --- dxegen.txi 26 Jun 2015 16:39:06 -0000 1.7 +++ dxegen.txi 28 Jan 2023 12:52:28 -0000 @@ -214,7 +214,17 @@ the module and so on. As a workaround, keep such names unexported by filtering exported names through @kbd{-E} option. +@item +Linking to gcc-provided libraries like libgcc may need special care, +because the linker may have no idea where libgcc.a is. One solution +to that when using a makefile is, retrieving the libgcc directory and +combining it with -L before -lgcc: @end itemize +@example +LIBGCCDIR = $(dir $(shell $(CC) -print-libgcc-file-name)) +my.dxe: + dxe3gen -o my.dxe -E _sym -U $(OBJS) -L$(LIBGCCDIR) -lgcc +@end example -*- The best way is to leave the symbols unresolved and resolve them at runtime. To tell @command{dxe3gen} to not fail on unresolved symbols, add the