comp.lang.ada
 help / color / mirror / Atom feed
* Dragonegg for GNAT/LLVM to get arm-apple-darwin ISA-target
@ 2014-06-12 14:40 Dan'l Miller
  2014-06-12 14:45 ` Lucretia
  2017-09-21 19:02 ` Lucretia
  0 siblings, 2 replies; 11+ messages in thread
From: Dan'l Miller @ 2014-06-12 14:40 UTC (permalink / raw)


http://dragonegg.llvm.org
LLVM's Dragonegg project reports that GNAT Ada works poorly (or not at all?) from GCC 4.7 onward, when using the LLVM back-end instead of GCC's back-end.  This is after GNAT Ada 4.5 worked well enough with the Dragonegg LLVM back-end and GNAT Ada 4.6 is considered to be working the best.

Is anyone in the Ada community actively engaged with the Dragonegg project to help fix the divergence between GNAT Ada 4.7 & onward and the Dragonegg LLVM backend of GCC 4.7 & onward?  AdaCore is unlikely to embrace the Dragonegg project.

The A#1 benefit of GNAT on Dragonegg's LLVM backend would be to have GNAT available for target ISAs that GCC no longer supports at all (or no longer supports well) but for which LLVM has active support, such as arm-apple-darwin for iOS development.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Dragonegg for GNAT/LLVM to get arm-apple-darwin ISA-target
  2014-06-12 14:40 Dragonegg for GNAT/LLVM to get arm-apple-darwin ISA-target Dan'l Miller
@ 2014-06-12 14:45 ` Lucretia
  2014-06-12 17:43   ` Dan'l Miller
  2014-06-16 11:52   ` Jacob Sparre Andersen
  2017-09-21 19:02 ` Lucretia
  1 sibling, 2 replies; 11+ messages in thread
From: Lucretia @ 2014-06-12 14:45 UTC (permalink / raw)


On Thursday, 12 June 2014 15:40:57 UTC+1, Dan'l Miller  wrote:
> http://dragonegg.llvm.org
> 
> LLVM's Dragonegg project reports that GNAT Ada works poorly (or not at all?) from GCC 4.7 onward, when using the LLVM back-end instead of GCC's back-end.  This is after GNAT Ada 4.5 worked well enough with the Dragonegg LLVM back-end and GNAT Ada 4.6 is considered to be working the best.
> 
> Is anyone in the Ada community actively engaged with the Dragonegg project to help fix the divergence between GNAT Ada 4.7 & onward and the Dragonegg LLVM backend of GCC 4.7 & onward?  AdaCore is unlikely to embrace the Dragonegg project.
> 
> The A#1 benefit of GNAT on Dragonegg's LLVM backend would be to have GNAT available for target ISAs that GCC no longer supports at all (or no longer supports well) but for which LLVM has active support, such as arm-apple-darwin for iOS development.

It's Duncan Sands' project, I don't know if he's still working on it. I'd rather prefer a direct Ada front end to LLVM so that's easier to integrate into Apple's toolchain.

I have heard the DragonEgg project is dead, but am not sure.

Luke.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Dragonegg for GNAT/LLVM to get arm-apple-darwin ISA-target
  2014-06-12 14:45 ` Lucretia
@ 2014-06-12 17:43   ` Dan'l Miller
  2014-06-12 18:02     ` Lucretia
  2014-06-16 11:52   ` Jacob Sparre Andersen
  1 sibling, 1 reply; 11+ messages in thread
From: Dan'l Miller @ 2014-06-12 17:43 UTC (permalink / raw)


On Thursday, June 12, 2014 9:45:43 AM UTC-5, Lucretia wrote:
> I'd rather prefer a direct Ada front end to LLVM so that's easier to integrate into Apple's toolchain.

Your statement there means rewriting the entirely of the GNAT front-end, correct?  If the goal is to inherit existing arm-apple-darwin ISA-target (with no other Objective-Cifying of Ada), I would think that it would be easier to maintain the Dragonegg bitrot that has occurred in GCC {4.7, 4.8, 4.9} than to write a brand new Ada compiler from scratch.  Besides, since GNAT is so widespread, for portability the new Ada compiler should try to achieve bug-for-bug compatibility with GNAT (or perhaps instead:  interpretation-of-AARM-by-interpretation-of-AARM compatibility with GNAT, but not replicating true bugs).  It seems that continuing the evolution of Dragonegg (with or without Duncan Sands) would be 1 to several orders of magnitude less work than writing an Ada compiler front-end from scratch.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Dragonegg for GNAT/LLVM to get arm-apple-darwin ISA-target
  2014-06-12 17:43   ` Dan'l Miller
@ 2014-06-12 18:02     ` Lucretia
  2014-06-12 19:13       ` Dan'l Miller
  0 siblings, 1 reply; 11+ messages in thread
From: Lucretia @ 2014-06-12 18:02 UTC (permalink / raw)


On Thursday, 12 June 2014 18:43:14 UTC+1, Dan'l Miller  wrote:

> Your statement there means rewriting the entirely of the GNAT front-end, correct?  If the goal is to inherit existing arm-apple-darwin ISA-target (with 

No, but that is an option.

I meant to port the gnat front end to LLVM, which John Marino was working on and is now dead.

Luke.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Dragonegg for GNAT/LLVM to get arm-apple-darwin ISA-target
  2014-06-12 18:02     ` Lucretia
@ 2014-06-12 19:13       ` Dan'l Miller
  2014-06-12 19:55         ` Luke A. Guest
  0 siblings, 1 reply; 11+ messages in thread
From: Dan'l Miller @ 2014-06-12 19:13 UTC (permalink / raw)


On Thursday, June 12, 2014 1:02:18 PM UTC-5, Lucretia wrote:
> On Thursday, 12 June 2014 18:43:14 UTC+1, Dan'l Miller  wrote:
> > Your statement there means rewriting the entirely of the GNAT front-end, correct?  If the goal is to
> > inherit existing arm-apple-darwin ISA-target (with 
> 
> No, but that is an option.
> 
> I meant to port the gnat front end to LLVM, which John Marino was working on and is now dead.

Has John Marino released his partially-completed work in any public way (e.g., tarball at his personal website, GitHub, SourceForge.net)?

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Dragonegg for GNAT/LLVM to get arm-apple-darwin ISA-target
  2014-06-12 19:13       ` Dan'l Miller
@ 2014-06-12 19:55         ` Luke A. Guest
  0 siblings, 0 replies; 11+ messages in thread
From: Luke A. Guest @ 2014-06-12 19:55 UTC (permalink / raw)


"Dan'l Miller" <optikos@verizon.net> wrote:
> On Thursday, June 12, 2014 1:02:18 PM UTC-5, Lucretia wrote:

>> I meant to port the gnat front end to LLVM, which John Marino was
>> working on and is now dead.
> 
> Has John Marino released his partially-completed work in any public way
> (e.g., tarball at his personal website, GitHub, SourceForge.net)?

No idea

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Dragonegg for GNAT/LLVM to get arm-apple-darwin ISA-target
  2014-06-12 14:45 ` Lucretia
  2014-06-12 17:43   ` Dan'l Miller
@ 2014-06-16 11:52   ` Jacob Sparre Andersen
  1 sibling, 0 replies; 11+ messages in thread
From: Jacob Sparre Andersen @ 2014-06-16 11:52 UTC (permalink / raw)


Lucretia <laguest9000@googlemail.com> wrote:

> It's Duncan Sands' project, I don't know if he's still working on it.

Last time I talked to Duncan, he didn't have time to work on it.

Greetings,

Jacob
-- 
"If it's a mess, hide it..." -- J-P. Rosen

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Dragonegg for GNAT/LLVM to get arm-apple-darwin ISA-target
  2014-06-12 14:40 Dragonegg for GNAT/LLVM to get arm-apple-darwin ISA-target Dan'l Miller
  2014-06-12 14:45 ` Lucretia
@ 2017-09-21 19:02 ` Lucretia
  2017-09-22  7:50   ` Tarjei Jensen
  1 sibling, 1 reply; 11+ messages in thread
From: Lucretia @ 2017-09-21 19:02 UTC (permalink / raw)


On Thursday, 12 June 2014 15:40:57 UTC+1, Dan'l Miller  wrote:

> The A#1 benefit of GNAT on Dragonegg's LLVM backend would be to have GNAT available for target ISAs that GCC no longer supports at all (or no longer supports well) but for which LLVM has active support, such as arm-apple-darwin for iOS development.

I have been considering this for a while as well, i.e. possibly porting gcc to ARM/Darwin or looking into forward porting the required changes from Apple's gcc42 fork to gcc-6.4.0.

There is also this https://gcc.gnu.org/ml/gcc/2017-08/msg00245.html

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Dragonegg for GNAT/LLVM to get arm-apple-darwin ISA-target
  2017-09-21 19:02 ` Lucretia
@ 2017-09-22  7:50   ` Tarjei Jensen
  2017-09-22 14:49     ` Lucretia
  0 siblings, 1 reply; 11+ messages in thread
From: Tarjei Jensen @ 2017-09-22  7:50 UTC (permalink / raw)


FreeBSD have a cross compiler setup for aarch64 FreeBSD v 11. If might be possible to tweak that to do Darwin.

The ports/pkg names start with "gnatcross" and possibly also "gnatdroid".

The cross compilers run natively on the x86 and amd64 architectures.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Dragonegg for GNAT/LLVM to get arm-apple-darwin ISA-target
  2017-09-22  7:50   ` Tarjei Jensen
@ 2017-09-22 14:49     ` Lucretia
  2017-09-23 19:51       ` Tarjei Jensen
  0 siblings, 1 reply; 11+ messages in thread
From: Lucretia @ 2017-09-22 14:49 UTC (permalink / raw)


On Friday, 22 September 2017 08:50:56 UTC+1, Tarjei Jensen  wrote:
> FreeBSD have a cross compiler setup for aarch64 FreeBSD v 11. If might be possible to tweak that to do Darwin.
> 
> The ports/pkg names start with "gnatcross" and possibly also "gnatdroid".
> 
> The cross compilers run natively on the x86 and amd64 architectures.

No, it;s completely different to any BSD as the kernel is Mach based, the OS is also different in it's libs (i.e. the -framework flag).

You'd need to look in Apple's ancient fork gcc_42-5577 / llvmgcc42-2336.11 in the gcc/config/arm dir. If we targetted the later iPhone models, we wouldn't need the extra ARM instructions for the custom ARM CPU as the newer CPU's don't have custom instructions, AFAICS, just the custom hook up code for Darwin.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Dragonegg for GNAT/LLVM to get arm-apple-darwin ISA-target
  2017-09-22 14:49     ` Lucretia
@ 2017-09-23 19:51       ` Tarjei Jensen
  0 siblings, 0 replies; 11+ messages in thread
From: Tarjei Jensen @ 2017-09-23 19:51 UTC (permalink / raw)


The OS does not matter since the actual libraries are copied to the system hosting the cross compiler and used for linking.

The tools are compiled for x86 or amd64, but operate on target object code. The compiler will generate assembly language suitable for Darwin.


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2017-09-23 19:51 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-12 14:40 Dragonegg for GNAT/LLVM to get arm-apple-darwin ISA-target Dan'l Miller
2014-06-12 14:45 ` Lucretia
2014-06-12 17:43   ` Dan'l Miller
2014-06-12 18:02     ` Lucretia
2014-06-12 19:13       ` Dan'l Miller
2014-06-12 19:55         ` Luke A. Guest
2014-06-16 11:52   ` Jacob Sparre Andersen
2017-09-21 19:02 ` Lucretia
2017-09-22  7:50   ` Tarjei Jensen
2017-09-22 14:49     ` Lucretia
2017-09-23 19:51       ` Tarjei Jensen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox