[M3devel] Stuck on adding new cm3 target (AMD64_DRAGONFLY)

John Marino adacore at marino.st
Sun Jan 19 14:06:02 CET 2014

On 1/19/2014 13:50, Jay K wrote:
> And there are advantages not yet implemented, in particular, efficient
> exception handling by generating C++.

Like FreeBSD (and unlike NetBSD and OpenBSD), DragonFly has implemented
dl_iterate_phdr which gcc uses for efficient zero-cost exception
handling.  That might come in handy here (I implemented it in
DragonFly's real-time linker, mainly for Ada/GNAT but C++ benefited.)

> Your patches should apply fairly cleanly to any new checkout.
> I am willing to through them and apply them to CVS if you want --
> depends on if you are ok with my stealing your credit, vs. you want to
> commit them yourselves.

I would love it if you did this - I'm happy with a mention in the commit
message.  I just attached a tarball of all the patches I'm using right
now.  Some of these changes are specifically for the cross compiler (I'm
think of the /scripts changes mostly) but most are valid assuming they
still apply to the head of the repo.  Please take as much as you want
with my gratitude.

> I already skimmed them and they all look easy.
> DragonflyBSD is basically FreeBSD by another name.

That's not an accident.  As a DragonFly developer that mostly works on
userland, I've been converging FreeBSD and DragonFly again.  They
drifted apart after 10 years, but I thought it better to keep the
userlands as similar as possible for 3rd party applications.

> Yes, a ton of work has been done on the kernel, file systems, maybe ports.
> But the ABI is almost the same -- heck, for the most part,
> Linux==NetBSD==FreeBSD==OpenBSD.
> Sure, they might be implemented differently, but they are highly source
> compatible and every highly object code compatible.
>> I must be misunderstanding what you mean by "upgrade". It's the
>> cross-compiler that's complaining, and it was built by the latest patches.
> Agreed, we are both missing something simple.
> Usually this is the error you get when you don't upgrade
> Target.i3/Target.m3.
> If you want to press on with the current approach and ignore my advise,

I'm not ignoring it; it's more like I'm not quite ready to give up since
I'm so close.  I think I could actually get these libs and cm3 to build
on DragonFly if I used AMD64_FREEBSD as the target with the
cm3cg-AMD_DRAGONFLY generator.  It was building before.  I just figured
I'd then get stuck on the DragonFly side trying to compile cm3 with
itself, theoretically I should get the same error there.

> Ugh. I saw something about that in your diffs. Definitely we intend to
> link statically.
> I actually went to the trouble of removing use of gmp/mpfr/mpc in
> current source.
> They are used for actually very little and aren't worth it.

Even better!

-------------- next part --------------
A non-text attachment was scrubbed...
Name: files.tar
Type: application/x-tar
Size: 13062 bytes
Desc: not available
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20140119/4ce4f917/attachment-0002.tar>

More information about the M3devel mailing list