Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Apr 2019 11:58:16 +0200
From:      =?UTF-8?B?VMSzbA==?= Coosemans <tijl@FreeBSD.org>
To:        Mark Millard via freebsd-ports <freebsd-ports@freebsd.org>
Cc:        Mark Millard <marklmi@yahoo.com>, Gerald Pfeifer <gerald@pfeifer.com>, Steve Kargl <sgk@troutmask.apl.washington.edu>, Dave Horsfall <dave@horsfall.org>, Dima Pasechnik <dimpase+freebsd@gmail.com>, freebsd-toolchain@freebsd.org, Andreas Tobler <andreast@FreeBSD.org>
Subject:   Re: libgcc_s.so.1, Fortran, and the world (was: FreeCAD 0.17 && /lib//libgcc_s.so.1)
Message-ID:  <20190408115816.11a9401c@kalimero.tijl.coosemans.org>
In-Reply-To: <BF5BA018-F0F5-4BAF-965E-6AAECA4D08AE@yahoo.com>
References:  <a2102b4e-7d7a-7d5b-2ba1-b9a14f8574f6@pinyon.org> <f6a45ec9-7ae4-d9ba-f71c-f2ef8c235039@grosbein.net> <416689e6-37f9-17ec-54d8-0d224c26f30f@pinyon.org> <20190217151604.GB68620@night.db.net> <20190221180515.39c79ce6@kalimero.tijl.coosemans.org> <092b17f0-6fbf-662e-1061-403442248abd@pinyon.org> <20190222140407.2145c11e@kalimero.tijl.coosemans.org> <alpine.BSF.2.21.9999.1902230913380.84718@aneurin.horsfall.org> <20190223000620.GA12700@troutmask.apl.washington.edu> <CAAWYfq20PgO9RoaN2esyqf-dc2xyqfmkLVaSe8yrx-X4E1s=ZQ@mail.gmail.com> <20190223183117.GA65065@night.db.net> <20190224142150.685debe4@kalimero.tijl.coosemans.org> <alpine.LSU.2.21.1902271446270.4073@anthias.pfeifer.com> <alpine.LSU.2.21.1904081314010.3629@anthias.pfeifer.com> <BF5BA018-F0F5-4BAF-965E-6AAECA4D08AE@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 7 Apr 2019 23:57:12 -0700 Mark Millard via freebsd-ports
<freebsd-ports@freebsd.org> wrote:
> On 2019-Apr-7, at 22:16, Gerald Pfeifer <gerald at pfeifer.com> wrote:
>> Hmm, I received zero feedback on this proposal, when it appeared
>> important for a number of users.
>>=20
>> What's your take, Andreas, Tijl (your patch essentially with a bit
>> of an updated description), and toolchain?
>>=20
>> Gerald
>>=20
>> On Wed, 27 Feb 2019, Gerald Pfeifer wrote:
>>> Hi Tijl, hi everyone,
>>>=20
>>> and let me add Andreas who has been helping on the GCC side (both
>>> ports, viz. his work on arm and powerpc, and upstream) and toolchain@!
>>>
>>> On Sun, 24 Feb 2019, T=C4=B3l Coosemans wrote:
>>>> GCC_4.3.0 instead of GCC_3.3.0.  The gcc commit that changed this
>>>> doesn't explain why this was done, but we'll have to make the same
>>>> change in FreeBSD ARM libgcc_s to be ABI compatible (since _Unwind* is
>>>> part of the ABI).  This isn't a blocker for the patch.
>>>>=20
>>>> I emailed the patch to gerald on 2017-02-21.  He responded in the usual
>>>> way that he prefers patches submitted upstream and because I thought t=
he
>>>> patch would not be accepted upstream he proposed an alternative soluti=
on
>>>> where gcc would always add -rpath on FreeBSD so you didn't have to
>>>> specify it on the command line.  I responded this wouldn't fix the case
>>>> where clang was used as a linker (e.g. to combine fortran and c++ code
>>>> in one program) and that the FAQ on the gcc website said it was a bad
>>>> idea for other reasons.  I also said upstream might accept my patch if
>>>> it was a configure option but that the gcc configure scripts are
>>>> complicated and I didn't know where to add it exactly.  Then silence.
>>>=20
>>> To move this forward, let me include an updated version of the patch
>>> Tijl shared on 2017-02-21 (which still was in my inbox/todo list) for
>>> consideration for our ports collection, initially for lang/gcc8 given
>>> that this is the default in the ports collection.
>>>=20
>>>=20
>>> (The lang/gcc* ports actually do carry local patches, e.g. for arm or
>>> powerpc or -fuse-ld=3Dlld, but you are right that I usually try to get
>>> things upstream first, fixing things upstream myself when I can, or
>>> asking for help. The problem in this specific case was/is that I'm
>>> quite not enough into this area so cannot really assess and clearly
>>> stalling over that was not good.)
>>>=20
>>>=20
>>> Find patch-gfortran-libgcc attached which should simply plug into
>>> lang/gcc8/files and lang/gcc8-devel/files.
>>>=20
>>> Feedback very welcome!
>=20
> I'm not sure the following will be considered important
> for the above, but I'll note it in case.

I don't think it is relevant.  The patch only affects gfortran, not any
C/C++ compiler, and it only affects programs that currently don't run
because system libgcc_s is loaded as a dependency of some library while
another library later in the dependency chain needs gcc libgcc_s.  The
patch fixes this case by eliminating the need for gcc libgcc_s.  It does
not change which libgcc_s is loaded so any problem in the system
libgcc_s affects the same programs before and after the patch.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190408115816.11a9401c>