From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9604 invoked by alias); 8 May 2014 13:15:04 -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 9580 invoked by uid 89); 8 May 2014 13:15:04 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.4 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-Spam-User: qpsmtpd, 3 recipients X-HELO: mail-lb0-f178.google.com Received: from mail-lb0-f178.google.com (HELO mail-lb0-f178.google.com) (209.85.217.178) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Thu, 08 May 2014 13:15:00 +0000 Received: by mail-lb0-f178.google.com with SMTP id w7so3538537lbi.9 for ; Thu, 08 May 2014 06:14:55 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.112.17.41 with SMTP id l9mr1698025lbd.65.1399554895383; Thu, 08 May 2014 06:14:55 -0700 (PDT) Received: by 10.112.125.202 with HTTP; Thu, 8 May 2014 06:14:55 -0700 (PDT) In-Reply-To: <53649694.6050508@marino.st> References: <5352D100.9040108@marino.st> <5362DC9B.8090709@marino.st> <5363E0F4.4060900@marino.st> <53649694.6050508@marino.st> Date: Thu, 08 May 2014 13:15:00 -0000 Message-ID: Subject: Re: Contributing new gcc targets: i386-*-dragonfly and x86-64-*-dragonfly From: Jonathan Wakely To: John Marino Cc: "Joseph S. Myers" , gcc-patches , Gerald Pfeifer , "manu at gcc dot gnu.org" , "Eric Botcazou (gnu.org)" Content-Type: text/plain; charset=UTF-8 X-SW-Source: 2014-05/txt/msg00482.txt.bz2 On 3 May 2014 08:11, John Marino wrote: > On 5/2/2014 22:15, Joseph S. Myers wrote: >> On Fri, 2 May 2014, John Marino wrote: >> >>> 1) I don't know which type definitions are missing (iow, the important >>> ones from sys/type.h that are required to build gcc) >> >> The default presumption should be: >> >> * from GCC provides what it needs to provide; nothing extra is >> needed and such a #include should not be needed at all. >> >> * Special measures to avoid duplicate typedefs (where some other header >> also defines one of the typedefs defined in ) aren't in fact >> needed, because GCC allows duplicate typedefs in system headers (even >> outside C11 mode - in C11 mode it's a standard feature). >> >> So try removing that #include. If that causes problems, investigate based >> on the actual problems seen. > > Hi Joseph, > Removing the include worked after also removing the #ifdef __DragonFly > with regards to the rune_t type definition. > > I built gcc with a full bootstraps on both DragonFly platforms > successfully. stddef.h is much simpler now: > > --- gcc/ginclude/stddef.h.orig > +++ gcc/ginclude/stddef.h > @@ -133,6 +133,7 @@ > #ifndef _BSD_PTRDIFF_T_ > #ifndef ___int_ptrdiff_t_h > #ifndef _GCC_PTRDIFF_T > +#ifndef _PTRDIFF_T_DECLARED /* DragonFly */ > #define _PTRDIFF_T > #define _T_PTRDIFF_ > #define _T_PTRDIFF > @@ -141,10 +142,12 @@ > #define _BSD_PTRDIFF_T_ > #define ___int_ptrdiff_t_h > #define _GCC_PTRDIFF_T > +#define _PTRDIFF_T_DECLARED > #ifndef __PTRDIFF_TYPE__ > #define __PTRDIFF_TYPE__ long int > #endif > typedef __PTRDIFF_TYPE__ ptrdiff_t; > +#endif /* _PTRDIFF_T_DECLARED */ > #endif /* _GCC_PTRDIFF_T */ > #endif /* ___int_ptrdiff_t_h */ > #endif /* _BSD_PTRDIFF_T_ */ > @@ -198,6 +201,7 @@ > #define _GCC_SIZE_T > #define _SIZET_ > #if (defined (__FreeBSD__) && (__FreeBSD__ >= 5)) \ > + || defined(__DragonFly__) \ > || defined(__FreeBSD_kernel__) > /* __size_t is a typedef on FreeBSD 5, must not trash it. */ > #elif defined (__VMS__) > > > revised patchset : > http://leaf.dragonflybsd.org/~marino/gcc-df-target/patches/patch-dragonfly-target > revised changelog : > http://leaf.dragonflybsd.org/~marino/gcc-df-target/changelog_entries/gcc_ChangeLog_entry.txt > revised commit msg: > http://leaf.dragonflybsd.org/~marino/gcc-df-target/proposed_commit-msg.txt > > Good catch! Does the rest of the patch set look good to you? I think > all the non-obvious patches have been reviewed collectively by various > people now and may be ready to be approved now. Ian's approved the libiberty.h change, Joseph's approved the stddef.h change, I've approved the libstdc++ parts. IIUC it still needs explicit approval for the rest, e.g. trivial adjustments to configuration stuff in libitm and libcilkrts. Are there specific maintainers for those libs? The rest look obvious to me, it doesn't touch other targets at all except for one bit that replaces a check for __FreeBSD__ >= 7 with a grep for the dl_iterate_phdr function in a system header, which only affects FreeBSD and looks OK to me. Anyone willing to give it an overall approval?