public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
From: R jd <3246251196ryan@gmail.com>
To: gcc-help@gcc.gnu.org
Subject: Re: Fine granularity of control over libgcc* search paths
Date: Thu, 23 Nov 2023 22:26:11 +0000	[thread overview]
Message-ID: <CAPB2dx=FhLcfqVFaLHkoe1-S6CHLH9xwhRsfJ4DdtK8wBD-yOg@mail.gmail.com> (raw)
In-Reply-To: <CAH6eHdSSXAPCOPk=1-ksxTbxzupOAoP9WKXDvJtwbkWtBoTjDA@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3586 bytes --]

I should have probably mentioned that my issue is to do with "multilib".
The example that I posted in the original post was on my native machine. In
fact, I am building compiler toolchains for AmigaNG. For this, we actually
have 3 different C runtime libraries. We build this by using "multilib".
The default is newlib, followed by two multilibs - if you like - named
clib2 and clib4.

What happens is that I notice during the linking of a program, whichever
non-default lib is being used (clib2/clib4) had these implicitly added -L
options, but it is always followed by the "default" lib (newlib).
Semantically, this seems a little naughty. When debugging through the GCC.C
file, I see that there are functions that seem to append the "default"
paths _after_ the clib[24] lib paths. This is fine, so long as they are
after, but just feels dirty.

Thanks.

On Sun, 12 Nov 2023 at 21:37, Jonathan Wakely <jwakely.gcc@gmail.com> wrote:

> On Sun, 12 Nov 2023 at 19:30, Kai Ruottu <kai.ruottu@wippies.com> wrote:
> >
> > R jd via Gcc-help kirjoitti 8.11.2023 klo 2.20:
> > > I have tried for some hours to figure out how to get full control over
> the
> > > paths that are implicitly searched for *libgcc.a*.
> >
> > This reply isn't directly related to your problem but related to finding
> > the right shared libgcc's in cross-compilers.
> >
> > I mean the peculiarity seen in the following :
> >
> > [kairuottu@fedora test]$ powerpc64-centos-linux7.9-gcc-13 -o
> > hello_world_powerc64 hello_world.c [kairuottu@fedora test]$
> > powerpc64-centos-linux7.9-gcc-14 -o hello_world_powerc64 hello_world.c
> >
> /opt/cross64/bin/../lib/gcc/powerpc64-centos-linux7.9/14.0.0/../../../../powerpc64-centos-linux7.9/bin/ld:
> > cannot find -lgcc_s collect2: error: ld returned 1 exit status
> > [kairuottu@fedora test]$ cd /opt/cross/lib/gcc/powerpc64-centos-linux7.9
> > [kairuottu@fedora powerpc64-centos-linux7.9]$ ls -l -t yhteensä 56
> > drwxr-xr-x. 7 root root 4096 12.11. 19:52 14.0.0 drwxr-xr-x. 2 root root
> > 4096 12.11. 19:51 lib drwxr-xr-x. 2 root root 4096 12.11. 19:51 lib64
> > drwxr-xr-x. 7 root root 4096 1. 8. 23:53 13.2.0 drwxr-xr-x. 7 root root
> > 4096 10. 7. 15:47 10.5.0 drwxr-xr-x. 7 root root 4096 2. 6. 19:11 11.4.0
> > drwxr-xr-x. 7 root root 4096 12. 5. 2023 12.3.0 drwxr-xr-x. 7 root root
> > 4096 11. 5. 2023 9.5.0 drwxr-xr-x. 7 root root 4096 11. 5. 2023 8.5.0
> > drwxr-xr-x. 7 root root 4096 11. 5. 2023 7.5.0 drwxr-xr-x. 7 root root
> > 4096 11. 5. 2023 6.5.0 drwxr-xr-x. 8 root root 4096 11. 5. 2023 4.9.4
> > drwxr-xr-x. 8 root root 4096 11. 5. 2023 5.5.0 drwxr-xr-x. 8 root root
> > 4096 10. 5. 2023 4.8.5 [kairuottu@fedora powerpc64-centos-linux7.9]$ ls
> > lib* lib: libgcc_s.so libgcc_s.so.1 lib64: libgcc_s.so libgcc_s.so.1
> >
> > The peculiarity is that the 'libgcc_s.so*' stuff isn't installed into
> > the GCC-version dependent directory as expected when using the
> > '--enable-version-specific-runtime-libs' in the GCC configure command.
> > But installed in separare 'lib*' directories where they will not be
> > found. After the gcc-13.2.0 and earlier GCC builds for the same target
> > this peculiarity was fixed via manually moving the 'libgcc_s' stuff
> > where it should be after running 'make install'.
> >
> > I don't remember when this issue started, maybe it was in gcc-9.5.0 or
> > gcc-10.5.0. Is this a bug or is there some sanity in this thing?
>
> --enable-version-specific-runtime-libs has been broken for years:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=32415
>

      reply	other threads:[~2023-11-23 22:26 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-08  0:20 R jd
2023-11-08 16:33 ` Stefan Ring
2023-11-12 19:29 ` Kai Ruottu
2023-11-12 19:37   ` Kai Ruottu
2023-11-12 21:37   ` Jonathan Wakely
2023-11-23 22:26     ` R jd [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAPB2dx=FhLcfqVFaLHkoe1-S6CHLH9xwhRsfJ4DdtK8wBD-yOg@mail.gmail.com' \
    --to=3246251196ryan@gmail.com \
    --cc=gcc-help@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).