diff mbox

[libgcc,fuchsia]

Message ID 39d48439-2eca-d71f-84e4-e7442e7cd550@google.com
State New
Headers show

Commit Message

Li, Pan2 via Gcc-patches April 12, 2017, 6:02 p.m. UTC
Ping^3?

I think this should be very straightforward - it just adds fuchsia 
target support to libgcc. Please do let me know if there are any concerns...

Thanks!

- Josh


2017-04-12  Joshua Conner  <joshconner@google.com>

     * config/arm/unwind-arm.h (_Unwind_decode_typeinfo_ptr): Use
     pc-relative indirect handling for fuchsia.
     * config/t-slibgcc-fuchsia: New file.
     * config.host (*-*-fuchsia*, aarch64*-*-fuchsia*, arm*-*-fuchsia*,
     x86_64-*-fuchsia*): Add definitions.


On 2/21/17 9:41 AM, Josh Conner wrote:
> Ping^2?
>
>
> On 2/2/17 11:22 AM, Josh Conner wrote:
>> Ping?
>>
>>
>> On 1/17/17 10:40 AM, Josh Conner wrote:
>>> The attached patch adds fuchsia support to libgcc.
>>>
>>> OK for trunk?
>>>
>>> Thanks -
>>>
>>> Josh
>>>
>>> 2017-01-17  Joshua Conner  <joshconner@google.com>
>>>
>>>     * config/arm/unwind-arm.h (_Unwind_decode_typeinfo_ptr): Use
>>>     pc-relative indirect handling for fuchsia.
>>>     * config/t-slibgcc-fuchsia: New file.
>>>     * config.host (*-*-fuchsia*, aarch64*-*-fuchsia*, arm*-*-fuchsia*,
>>>     x86_64-*-fuchsia*): Add definitions.
>>>
>>
>

Comments

Kyrill Tkachov April 13, 2017, 8:14 a.m. UTC | #1
On 12/04/17 19:02, Josh Conner via gcc-patches wrote:
> Ping^3?
>
> I think this should be very straightforward - it just adds fuchsia target support to libgcc. Please do let me know if there are any concerns...
>

The arm parts look ok to me. You'll still need approval for the other parts though.

Thanks,
Kyrill

> Thanks!
>
> - Josh
>
>
> 2017-04-12  Joshua Conner  <joshconner@google.com>
>
>     * config/arm/unwind-arm.h (_Unwind_decode_typeinfo_ptr): Use
>     pc-relative indirect handling for fuchsia.
>     * config/t-slibgcc-fuchsia: New file.
>     * config.host (*-*-fuchsia*, aarch64*-*-fuchsia*, arm*-*-fuchsia*,
>     x86_64-*-fuchsia*): Add definitions.
>
>
> On 2/21/17 9:41 AM, Josh Conner wrote:
>> Ping^2?
>>
>>
>> On 2/2/17 11:22 AM, Josh Conner wrote:
>>> Ping?
>>>
>>>
>>> On 1/17/17 10:40 AM, Josh Conner wrote:
>>>> The attached patch adds fuchsia support to libgcc.
>>>>
>>>> OK for trunk?
>>>>
>>>> Thanks -
>>>>
>>>> Josh
>>>>
>>>> 2017-01-17  Joshua Conner  <joshconner@google.com>
>>>>
>>>>     * config/arm/unwind-arm.h (_Unwind_decode_typeinfo_ptr): Use
>>>>     pc-relative indirect handling for fuchsia.
>>>>     * config/t-slibgcc-fuchsia: New file.
>>>>     * config.host (*-*-fuchsia*, aarch64*-*-fuchsia*, arm*-*-fuchsia*,
>>>>     x86_64-*-fuchsia*): Add definitions.
>>>>
>>>
>>
>
diff mbox

Patch

Index: config/arm/unwind-arm.h
===================================================================
--- config/arm/unwind-arm.h	(revision 246880)
+++ config/arm/unwind-arm.h	(working copy)
@@ -49,7 +49,7 @@ 
 	return 0;
 
 #if (defined(linux) && !defined(__uClinux__)) || defined(__NetBSD__) \
-    || defined(__FreeBSD__)
+    || defined(__FreeBSD__) || defined(__fuchsia__)
       /* Pc-relative indirect.  */
 #define _GLIBCXX_OVERRIDE_TTYPE_ENCODING (DW_EH_PE_pcrel | DW_EH_PE_indirect)
       tmp += ptr;
Index: config/t-slibgcc-fuchsia
===================================================================
--- config/t-slibgcc-fuchsia	(revision 0)
+++ config/t-slibgcc-fuchsia	(working copy)
@@ -0,0 +1,22 @@ 
+# Copyright (C) 2017 Free Software Foundation, Inc.
+#
+# This file is part of GCC.
+#
+# GCC is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GCC is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GCC; see the file COPYING3.  If not see
+# <http://www.gnu.org/licenses/>.
+
+# Fuchsia-specific shared library overrides.
+
+SHLIB_LDFLAGS = -Wl,--soname=$(SHLIB_SONAME) \
+                $(LDFLAGS)
Index: config.host
===================================================================
--- config.host	(revision 246880)
+++ config.host	(working copy)
@@ -231,6 +231,10 @@ 
       ;;
   esac
   ;;
+*-*-fuchsia*)
+  tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-fuchsia"
+  extra_parts="crtbegin.o crtend.o"
+  ;;
 *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
   tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-linux"
   extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
@@ -342,6 +346,10 @@ 
 	tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm"
 	md_unwind_header=aarch64/freebsd-unwind.h
 	;;
+aarch64*-*-fuchsia*)
+	tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
+	tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp"
+	;;
 aarch64*-*-linux*)
 	extra_parts="$extra_parts crtfastmath.o"
 	md_unwind_header=aarch64/linux-unwind.h
@@ -394,6 +402,12 @@ 
 	unwind_header=config/arm/unwind-arm.h
 	tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
 	;;
+arm*-*-fuchsia*)
+	tmake_file="${tmake_file} arm/t-arm arm/t-elf arm/t-bpabi"
+	tmake_file="${tmake_file} arm/tsoftfp t-softfp"
+	tm_file="${tm_file} arm/bpabi-lib.h"
+	unwind_header=config/arm/unwind-arm.h
+	;;
 arm*-*-netbsdelf*)
 	tmake_file="$tmake_file arm/t-arm arm/t-netbsd t-slibgcc-gld-nover"
 	;;
@@ -588,6 +602,9 @@ 
 x86_64-*-elf* | x86_64-*-rtems*)
 	tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic"
 	;;
+x86_64-*-fuchsia*)
+	tmake_file="$tmake_file t-libgcc-pic"
+	;;
 i[34567]86-*-dragonfly*)
 	tmake_file="${tmake_file} i386/t-dragonfly i386/t-crtstuff"
 	md_unwind_header=i386/dragonfly-unwind.h