From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14187 invoked by alias); 9 May 2014 07:15:35 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 14164 invoked by uid 89); 9 May 2014 07:15:33 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.6 required=5.0 tests=AWL,BAYES_00,SPF_PASS autolearn=ham version=3.3.2 X-Spam-User: qpsmtpd, 3 recipients X-HELO: shepard.synsport.net Received: from mail.synsport.com (HELO shepard.synsport.net) (208.69.230.148) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Fri, 09 May 2014 07:15:30 +0000 Received: from [192.168.0.20] (unknown [130.255.19.191]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by shepard.synsport.net (Postfix) with ESMTP id 9657A43BA5; Fri, 9 May 2014 02:14:52 -0500 (CDT) Message-ID: <536C8059.8090304@marino.st> Date: Fri, 09 May 2014 07:15:00 -0000 From: John Marino User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0 MIME-Version: 1.0 To: Jeff Law , "Joseph S. Myers" CC: gcc-patches@gcc.gnu.org, Jonathan Wakely , Gerald Pfeifer , manu@gcc.gnu.org, "Eric Botcazou (gnu.org)" Subject: Re: Contributing new gcc targets: i386-*-dragonfly and x86-64-*-dragonfly References: <5352D100.9040108@marino.st> <5362DC9B.8090709@marino.st> <5363E0F4.4060900@marino.st> <53649694.6050508@marino.st> <536C671F.4080100@redhat.com> In-Reply-To: <536C671F.4080100@redhat.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-SW-Source: 2014-05/txt/msg00566.txt.bz2 On 5/9/2014 07:26, Jeff Law wrote: > On 05/03/14 01:11, John Marino wrote: > > In config.gcc: > > + no | gnat | single) > + # Let these non-posix thread selections fall through if requested > Support for "gnat" as a thread model was removed in 2011. So I think > you need to remove that case. I realized that the gnat thread mechanism had been removed a couple of days ago, but I didn't want to invalidate the ongoing review since it was a not really an issue. I'll make the change now. This hunk was obviously created when it did exist. > configure.ac: > > + *-*-dragonfly* | *-*-freebsd*) > + if grep dl_iterate_phdr $target_header_dir/sys/link_elf.h > > /dev/null 2>&1; then > + gcc_cv_target_dl_iterate_phdr=yes > + else > + gcc_cv_target_dl_iterate_phdr=no > + fi > + ;; > Presumably you intended to change freebsd* here. Just want a > confirmation. I haven't worked on the *bsd platforms in about 20 years, > so I have no idea if this is right for them in general. Yes, this is intentional. This is why I also did a full testsuite on FreeBSD as well as DragonFly to prove that still worked. NetBSD and OpenBSD would be handled similarly when the time comes, but they would need to grep a different header. > I see you have a dragonfly-stdint.h. Is there a particular reason why > you can't use the freebsd-stdint.h? I didn't check every type, but a > quick glance makes me think they ought to be equivalent. > > Similarly for dragonfly.opt. And there is already precedent for each system to have its own files: freebsd.opt freebsd-stdint.h openbsd.opt openbsd-stdint.h netbsd.opt ( The dragonfly-stdint.h is cleaner than freebsd-stdint.h as well. > It looks like there's a fair amount of duplication in config/dragonfly.h > and config/i386/dragonfly but I don't see an easy way to fix that. So, > I'll let that go. While similar due to heritage, and also due to a conscious effort to keep the userland compatible where a difference isn't specifically needed, DragonFly is not FreeBSD. We've had a challenge with software that consider them to be equivalent in every aspect. Sometimes changes are made against a FreeBSD file that is not valid for DragonFly, so even if they are equivalent today they may not be in the future. We prefer separate configuration files like NetBSD and OpenBSD have in general. by the way config/dragonfly.h and config/i386/dragonfly.h are significantly different that FreeBSD counterparts. And we eliminated the equivalent of config/i386/freebsd64.h by combining it's functionality into config/i386/dragonfly.h. There are also platform-specific differences there so there is no question that DragonFly needs its own header files. > I'm going to trust the unwind code works and isn't duplicating something > from somewhere else that ought to instead be shared. Not only is it not duplicated, FreeBSD needs its own, different version (FreeBSD is currently missing unwind functionality). I have the patch and that's a separate submission (out of scope for DragonFly target creation). Believe me, if there is one thing you would not want to duplicate, it's MD support code. FYI NetBSD and OpenBSD are missing this functionality too. > So it basically looks good. Can you fix the config.gcc nit and > determine if we can (and should) share files with freebsd. Repost after > those fixes and we should be ready to go. 1) Patch updated online as requested 2) At this exact point in time, we probably can share the files 3) I might debate that we should share the files - that would imply reviewing the existing counterpart files for NetBSD and OpenBSD and combining when equivalent. > And one final thing, do you have a copyright assignment on file with the > FSF? Yes, since 2011. I mentioned that in the very first post of the thread along with the associated assignment number. > jeff Thank you very much for the overarching review Jeff! John