This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: libgo patch committed: Implement reflect.MakeFunc for 386
- From: Ian Lance Taylor <iant at google dot com>
- To: Rainer Orth <ro at cebitec dot uni-bielefeld dot de>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>, "gofrontend-dev at googlegroups dot com" <gofrontend-dev at googlegroups dot com>
- Date: Wed, 2 Oct 2013 10:32:45 -0700
- Subject: Re: libgo patch committed: Implement reflect.MakeFunc for 386
- Authentication-results: sourceware.org; auth=none
- References: <mcrvc1mx822 dot fsf at iant-glaptop dot roam dot corp dot google dot com> <ydd4n92bgq0 dot fsf at lokon dot CeBiTec dot Uni-Bielefeld dot DE> <CAKOQZ8wNtAS5MX6m=xif7cbdmV0uL5qMwBTm4-aNEbu-r-oacQ at mail dot gmail dot com> <yddzjqu9zd4 dot fsf at lokon dot CeBiTec dot Uni-Bielefeld dot DE> <CAKOQZ8zKmp5MwhqJowEL6R5p_hJX0uF=5d7QKdyPKTUd_0Ejzw at mail dot gmail dot com> <yddzjqr91f9 dot fsf at lokon dot CeBiTec dot Uni-Bielefeld dot DE>
On Wed, Oct 2, 2013 at 7:45 AM, Rainer Orth <ro@cebitec.uni-bielefeld.de> wrote:
>
> Here's what I came up with. As I said, it is inspired by the libffi
> code, but a bit simplified since e.g. stuff like no .ascii support
> aren't relevant on the Solaris versions supported on mainline and 4.8
> branch.
>
> Bootstrapped on x86_64-unknown-linux-gnu and i386-pc-solaris2.10 with
> Sun as and gas. I've also compared the readelf --debug-dump=frames
> output for the 32 and 64-bit makefunc.o, both PIC and non-PIC. 64-bit
> is completely unchanged, while for 32-bit there are FDE encoding changes
> as expected from the FDE_ENCODING/FDE_ENCODE macros.
>
> Rainer
>
>
> 2013-10-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
>
> * configure.ac (libgo_cv_ro_eh_frame): New test.
> (libgo_cv_as_comdat_gnu): Likewise.
> (libgo_cv_as_x86_pcrel): Likewise.
> (libgo_cv_as_x86_64_unwind_section_type): Likewise.
> * configure: Regenerate.
> * config.h.in: Regenerate.
> * go/reflect/makefunc_386.S: Replace CFI directives by hand-coded
> .eh_frame section.
> Restrict .note.* sections to Linux.
> * go/reflect/makefunc_amd64.S: Likewise.
Great, thanks for working on this. Committed to trunk and 4.8 branch.
Ian