This is the mail archive of the
mailing list for the GCC project.
Re: [PING] Contributing new gcc targets: i386-*-dragonfly and x86-64-*-dragonfly
- From: Ian Lance Taylor <iant at google dot com>
- To: John Marino <gnugcc at marino dot st>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>, "libstdc++" <libstdc++ at gcc dot gnu dot org>, Binutils <binutils at sourceware dot org>, gdb-patches at sourceware dot org
- Date: Tue, 29 Apr 2014 19:48:19 -0400
- Subject: Re: [PING] Contributing new gcc targets: i386-*-dragonfly and x86-64-*-dragonfly
- Authentication-results: sourceware.org; auth=none
- References: <5352D100 dot 9040108 at marino dot st> <CAH6eHdS7JsVKz=c1T_b1B6uSixCnZsqhurOPUivEm=-w3T_j3Q at mail dot gmail dot com> <53541A34 dot 7050908 at marino dot st> <535FC71E dot 8070406 at marino dot st> <CAKOQZ8xtnVwweDW0Nh9Hbf8bOrySTrD_Z114dBF=cRFDPq=H7g at mail dot gmail dot com> <535FF173 dot 2060008 at marino dot st>
On Tue, Apr 29, 2014 at 2:37 PM, John Marino <firstname.lastname@example.org> wrote:
>> I don't understand the benefit of libgcc/enable-execute-stack-bsd.c.
>> The code seems the same as the existing
>> libgcc/enable-execute-stack-mprotect.c. All you are changing is
>> omitting need_enable_exec_stack. If you just drop the FreeBSD
>> constructor, you will get the behaviour you want.
> With the caveat that this patch is over 2 years old, I just took a look
> at both files. I would have not needed to modify this file at all for
> DragonFly. In fact, I seem to recall that I didn't modify it for
> DragonFly, but rather for FreeBSD. If I had to guess, it would be that
> I found mprotect() was needed regardless of value of kern.stackprot. I
> must have traced some test failures back to this.
> Which I guess that's what you mean - just delete the block between "#if
> defined __FreeBSD__" and the next #elif which should be equivalent. I
> can tweak the patch set to do that.
> And what about the dl_iterate_phdr changes? Do they look good to you?
They looked fine to me but I'm not a build system maintainer.