[MacPorts] #49227: gcc5 @5.2.0: fix gcj

Jeremy Huddleston Sequoia jeremyhu at macports.org
Mon Oct 19 17:17:30 PDT 2015


> On Oct 19, 2015, at 13:37, Jack Howarth <howarth.at.macports at gmail.com> wrote:
> 
> On Mon, Oct 19, 2015 at 3:41 PM, MacPorts <noreply at macports.org> wrote:
>> #49227: gcc5 @5.2.0: fix gcj
>> ------------------------------------+----------------------
>>  Reporter:  howarth.at.macports@…  |      Owner:  mww@…
>>      Type:  defect                 |     Status:  new
>>  Priority:  Normal                 |  Milestone:
>> Component:  ports                  |    Version:  2.3.4
>> Resolution:                         |   Keywords:  haspatch
>>      Port:  gcc5                   |
>> ------------------------------------+----------------------
>> 
>> Comment (by jeremyhu@…):
>> 
>> Replying to [comment:11 graziosi.angelo@…]:
>>> Replying to [comment:10 jeremyhu@…]:
>>>> graziosi.angelo, you don't understand potential fallout to compiler
>> changes.
>>>> 
>>>> At worst, the compiler produces bad code and anything that it compiled
>> needs to be recompiled.  We don't have a mechanism for triggering that, so
>> we need to be extra careful taking toolchain changes.
>>> 
>>> Exactly what happens at (almost) every new compiler release. Recently,
>> MSYS2/MINGW64, for having adopted GCC-5.2, had to recompile *all* its
>> packages, and a few didn't rebuilt any more and are out of distribution..
>> On OSX and friends, things are no better..
>> 
>> No, that's certainly not true.  Some people may *choose* to recompile with
>> newer compilers because they want to.  That doesn't mean that the older
>> compiled code was wrong.
>> 
>> We are careful here because we don't want to release compilers that
>> produce incorrect binaries.
>> 
> 
>     You do realize that the boehm-gc code is entirely limited to gcj
> and its associated libraries.

Yes.

> It is built as a convenience library
> linked into those and isn't distributed independently as a library in
> FSF gcc.  

Yes.

> Also, we don't even really have a functional gcj currently
> on darwin14 and early because gcj isn't being properly built and
> doesn't create the ecj1 required for java source files.

Yes.

> Your current
> gcj only works for precompiled classes which is pretty much useless.

Yes.

> It is rather unfortunate that FSF gcc never added java file
> compilation tests to their libjava testsuite to capture that but
> libjava development is pretty moribund.
>     Also this change is pretty much pre-authorized in the comment of....
> 
>  * ALIGNMENT is the largest N, such that
>  * all pointer are guaranteed to be aligned on N byte boundaries.
>  * defining it to be 1 will always work, but perform poorly.
> 
> in boehm-gc/include/private/gcconfig.h. You could set the alignment to
> 1 if you wanted to be extra careful, but the fact that an alignment of
> 2 produces a boehm-gc and gcj which produce no regression in their
> testuites on both darwin13 and darwin15 is a pretty damn good
> confirmation that the change is safe.

I'd feel better just skipping the compilation of gcj and not shipping a broken compiler which upstream has stopped caring about to our users.

> 
>> --
>> Ticket URL: <https://trac.macports.org/ticket/49227#comment:16>
>> MacPorts <https://www.macports.org/>
>> Ports system for OS X

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4118 bytes
Desc: not available
URL: <https://lists.macosforge.org/pipermail/macports-dev/attachments/20151019/e1b1bedb/attachment.p7s>


More information about the macports-dev mailing list