diff mbox

[FRV,libgcc] : Move CRT_GET_RFIB_DATA to libgcc

Message ID CAFULd4YgW1ke5fRxWa302HtmKBF4f7=5-v6vSNLy_MKhRYumUg@mail.gmail.com
State New
Headers show

Commit Message

Uros Bizjak April 22, 2015, 11:11 a.m. UTC
Hello!

Attached patch moves CRT_GET_RFIB_DATA from gcc to libgcc in the same
way as was recently done for x86 targets [1].

The second patch is needed to successfully compile frv-elf libgcc,
otherwise libgcc build fails in defaults.h, line 499 with "Unknown
BITS_PER_UNIT" error.

libgcc/ChangeLog:

2015-04-22  Uros Bizjak  <ubizjak@gmail.com>

    * config/frv/elf-lib.h: New file.
    (CRT_GET_RFIB_DATA): Move definition from gcc/config/frv/frv.h.
    * libgcc/config.host (frv-*elf, frv-*-*linux*): Add frv/elf-lib.h
    to tm_file.

2015-04-22  Uros Bizjak  <ubizjak@gmail.com>

    * config/frv/frvbengin.c: Do not include defaults.h
    * config/frv/frvend.c: Ditto.

gcc/ChangeLog:

2015-04-22  Uros Bizjak  <ubizjak@gmail.com>

    * config/frv/frv.h (CRT_GET_RFIB_DATA): Move definition to
    libgcc/config/frv/elf-lib.h.

Patch was tested by building frv-elf crosscompiler and multilib.

OK for mainline?

[1] https://gcc.gnu.org/ml/gcc-patches/2015-01/msg02126.html

Uros.

Comments

Uros Bizjak April 28, 2015, 9:25 a.m. UTC | #1
On Wed, Apr 22, 2015 at 1:11 PM, Uros Bizjak <ubizjak@gmail.com> wrote:
> Hello!
>
> Attached patch moves CRT_GET_RFIB_DATA from gcc to libgcc in the same
> way as was recently done for x86 targets [1].
>
> The second patch is needed to successfully compile frv-elf libgcc,
> otherwise libgcc build fails in defaults.h, line 499 with "Unknown
> BITS_PER_UNIT" error.
>
> libgcc/ChangeLog:
>
> 2015-04-22  Uros Bizjak  <ubizjak@gmail.com>
>
>     * config/frv/elf-lib.h: New file.
>     (CRT_GET_RFIB_DATA): Move definition from gcc/config/frv/frv.h.
>     * libgcc/config.host (frv-*elf, frv-*-*linux*): Add frv/elf-lib.h
>     to tm_file.
>
> 2015-04-22  Uros Bizjak  <ubizjak@gmail.com>
>
>     * config/frv/frvbengin.c: Do not include defaults.h
>     * config/frv/frvend.c: Ditto.
>
> gcc/ChangeLog:
>
> 2015-04-22  Uros Bizjak  <ubizjak@gmail.com>
>
>     * config/frv/frv.h (CRT_GET_RFIB_DATA): Move definition to
>     libgcc/config/frv/elf-lib.h.
>
> Patch was tested by building frv-elf crosscompiler and multilib.
>
> OK for mainline?

Patch was approved privately by Jeff and committed to mainline as r222519.

Uros.
diff mbox

Patch

Index: libgcc/config.host
===================================================================
--- libgcc/config.host	(revision 222305)
+++ libgcc/config.host	(working copy)
@@ -469,13 +469,13 @@  fr30-*-elf)
 	;;
 frv-*-elf)
 	tmake_file="$tmake_file frv/t-frv t-fdpbit"
-	tm_file="$tm_file frv/frv-abi.h"
+	tm_file="$tm_file frv/elf-lib.h frv/frv-abi.h"
 	# Don't use crtbegin.o, crtend.o.
 	extra_parts="frvbegin.o frvend.o"
 	;;
 frv-*-*linux*)
 	tmake_file="$tmake_file frv/t-frv frv/t-linux t-fdpbit"
-	tm_file="$tm_file frv/frv-abi.h"
+	tm_file="$tm_file frv/elf-lib.h frv/frv-abi.h"
 	;;
 h8300-*-rtems*)
 	tmake_file="$tmake_file h8300/t-h8300 t-fpbit"
Index: libgcc/config/frv/frvbegin.c
===================================================================
--- libgcc/config/frv/frvbegin.c	(revision 222305)
+++ libgcc/config/frv/frvbegin.c	(working copy)
@@ -26,7 +26,6 @@ 
    This file was originally taken from the file crtstuff.c in the
    main compiler directory, and simplified.  */
 
-#include "defaults.h"
 #include <stddef.h>
 #include "../libgcc/unwind-dw2-fde.h"
 #include "gbl-ctors.h"
Index: libgcc/config/frv/elf-lib.h
===================================================================
--- libgcc/config/frv/elf-lib.h	(revision 0)
+++ libgcc/config/frv/elf-lib.h	(revision 0)
@@ -0,0 +1,26 @@ 
+/* Target macros for the FRV port of GCC.
+   Copyright (C) 2015 Free Software Foundation, Inc.
+
+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.
+
+Under Section 7 of GPL version 3, you are granted additional
+permissions described in the GCC Runtime Library Exception, version
+3.1, as published by the Free Software Foundation.
+
+You should have received a copy of the GNU General Public License and
+a copy of the GCC Runtime Library Exception along with this program;
+see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+<http://www.gnu.org/licenses/>.  */
+
+#ifdef __FRV_FDPIC__
+#define CRT_GET_RFIB_DATA(dbase) \
+  ({ extern void *_GLOBAL_OFFSET_TABLE_; (dbase) = &_GLOBAL_OFFSET_TABLE_; })
+#endif
Index: libgcc/config/frv/frvend.c
===================================================================
--- libgcc/config/frv/frvend.c	(revision 222305)
+++ libgcc/config/frv/frvend.c	(working copy)
@@ -23,7 +23,6 @@ 
    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
-#include "defaults.h"
 #include <stddef.h>
 #include "../libgcc/unwind-dw2-fde.h"
 
Index: gcc/config/frv/frv.h
===================================================================
--- gcc/config/frv/frv.h	(revision 222305)
+++ gcc/config/frv/frv.h	(working copy)
@@ -2125,9 +2125,4 @@  enum frv_builtins
 
 #define CPU_UNITS_QUERY 1
 
-#ifdef __FRV_FDPIC__
-#define CRT_GET_RFIB_DATA(dbase) \
-  ({ extern void *_GLOBAL_OFFSET_TABLE_; (dbase) = &_GLOBAL_OFFSET_TABLE_; })
-#endif
-
 #endif /* __FRV_H__ */