diff mbox

[gomp4/stage1] Clean up lto section name headers

Message ID 532B1912.6030306@codesourcery.com
State New
Headers show

Commit Message

Bernd Schmidt March 20, 2014, 4:36 p.m. UTC
This reduces duplication of a number of defines related to LTO 
section/segment names.

Committed on gomp-4_0-branch; ok for stage1?


Bernd
diff mbox

Patch

Index: gcc/lto/ChangeLog
===================================================================
--- gcc/lto/ChangeLog	(revision 208706)
+++ gcc/lto/ChangeLog	(working copy)
@@ -1,3 +1,9 @@ 
+2014-03-20  Bernd Schmidt  <bernds@codesourcery.com>
+
+	* lto-object.c: Include "lto-section-names.h".
+	(LTO_SEGMENT_NAME): Don't define.
+	* lto.c: Include "lto-section-names.h".
+
 2014-02-14  Jan Hubicka  <hubicka@ucw.cz>
 
 	PR lto/60295
Index: gcc/ChangeLog
===================================================================
--- gcc/ChangeLog	(revision 208715)
+++ gcc/ChangeLog	(working copy)
@@ -1,5 +1,17 @@ 
 2014-03-20  Bernd Schmidt  <bernds@codesourcery.com>
 
+	* config/darwin.c: Include "lto-section-names.h".
+	(LTO_SEGMENT_NAME): Don't define.
+	* config/i386/winnt.c: Include "lto-section-names.h".
+	* lto-streamer.c: Include "lto-section-names.h".
+	* lto-streamer.h (LTO_SECTION_NAME_PREFIX, OMP_SECTION_NAME_PREFIX):
+	Don't define.
+	(section_name_prefix): Don't declare.
+	* lto-wrapper.c: Include "lto-section-names.h".
+	(LTO_SECTION_NAME_PREFIX): Don't define.
+	* lto-section-names.h: New file.
+	* cgraphunit.c: Include "lto-section-names.h".
+
 	* configure.ac (real_target_noncanonical, tool_prefix,
 	accel_dir_suffix, offload_targets): Compute new variables.
 	(--enable-as-accelerator-for, --enable-as-accelerator,
Index: gcc/cgraphunit.c
===================================================================
--- gcc/cgraphunit.c	(revision 208706)
+++ gcc/cgraphunit.c	(working copy)
@@ -210,6 +210,7 @@  along with GCC; see the file COPYING3.
 #include "pass_manager.h"
 #include "tree-nested.h"
 #include "gimplify.h"
+#include "lto-section-names.h"
 
 /* Queue of cgraph nodes scheduled to be added into cgraph.  This is a
    secondary queue used during optimization to accommodate passes that
Index: gcc/config/darwin.c
===================================================================
--- gcc/config/darwin.c	(revision 208706)
+++ gcc/config/darwin.c	(working copy)
@@ -61,6 +61,7 @@  along with GCC; see the file COPYING3.
 #include "gimple.h"
 #include "gimplify.h"
 #include "lto-streamer.h"
+#include "lto-section-names.h"
 
 /* Darwin supports a feature called fix-and-continue, which is used
    for rapid turn around debugging.  When code is compiled with the
@@ -1900,9 +1901,6 @@  typedef struct GTY (()) darwin_lto_secti
 
 static GTY (()) vec<darwin_lto_section_e, va_gc> *lto_section_names;
 
-/* Segment for LTO data.  */
-#define LTO_SEGMENT_NAME "__GNU_LTO"
-
 /* Section wrapper scheme (used here to wrap the unlimited number of LTO
    sections into three Mach-O ones).
    NOTE: These names MUST be kept in sync with those in
Index: gcc/config/i386/winnt.c
===================================================================
--- gcc/config/i386/winnt.c	(revision 208706)
+++ gcc/config/i386/winnt.c	(working copy)
@@ -49,6 +49,7 @@  along with GCC; see the file COPYING3.
 #include "is-a.h"
 #include "gimple.h"
 #include "lto-streamer.h"
+#include "lto-section-names.h"
 
 /* i386/PE specific attribute support.
 
Index: gcc/lto/lto-object.c
===================================================================
--- gcc/lto/lto-object.c	(revision 208706)
+++ gcc/lto/lto-object.c	(working copy)
@@ -32,13 +32,9 @@  along with GCC; see the file COPYING3.
 #include "lto.h"
 #include "tm.h"
 #include "lto-streamer.h"
+#include "lto-section-names.h"
 #include "simple-object.h"
 
-/* Segment name for LTO sections.  This is only used for Mach-O.
-   FIXME: This needs to be kept in sync with darwin.c.  */
-
-#define LTO_SEGMENT_NAME "__GNU_LTO"
-
 /* An LTO file wrapped around an simple_object.  */
 
 struct lto_simple_object
Index: gcc/lto/lto.c
===================================================================
--- gcc/lto/lto.c	(revision 208706)
+++ gcc/lto/lto.c	(working copy)
@@ -43,6 +43,7 @@  along with GCC; see the file COPYING3.
 #include "lto.h"
 #include "lto-tree.h"
 #include "lto-streamer.h"
+#include "lto-section-names.h"
 #include "tree-streamer.h"
 #include "splay-tree.h"
 #include "lto-partition.h"
Index: gcc/lto-section-names.h
===================================================================
--- gcc/lto-section-names.h	(revision 0)
+++ gcc/lto-section-names.h	(working copy)
@@ -0,0 +1,33 @@ 
+/* Definitions for LTO section names.
+   Copyright (C) 2013 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/>.  */
+
+/* The string that is the prefix on the section names we make for lto.
+   For decls the DECL_ASSEMBLER_NAME is appended to make the section
+   name for the functions and static_initializers.  For other types of
+   sections a '.' and the section type are appended.  */
+#define LTO_SECTION_NAME_PREFIX ".gnu.lto_"
+
+/* Segment name for LTO sections.  This is only used for Mach-O.  */
+
+#define LTO_SEGMENT_NAME "__GNU_LTO"
+#define OMP_SECTION_NAME_PREFIX         ".gnu.target_lto_"
+
+/* Can be either OMP_SECTION_NAME_PREFIX when we stream pragma omp target
+   stuff, or LTO_SECTION_NAME_PREFIX for lto case.  */
+extern const char  *section_name_prefix;
Index: gcc/lto-streamer.c
===================================================================
--- gcc/lto-streamer.c	(revision 208706)
+++ gcc/lto-streamer.c	(working copy)
@@ -37,6 +37,7 @@  along with GCC; see the file COPYING3.
 #include "diagnostic-core.h"
 #include "tree-streamer.h"
 #include "lto-streamer.h"
+#include "lto-section-names.h"
 #include "streamer-hooks.h"
 
 /* Statistics gathered during LTO, WPA and LTRANS.  */
Index: gcc/lto-streamer.h
===================================================================
--- gcc/lto-streamer.h	(revision 208706)
+++ gcc/lto-streamer.h	(working copy)
@@ -134,17 +134,6 @@  along with GCC; see the file COPYING3.
      String are represented in the table as pairs, a length in ULEB128
      form followed by the data for the string.  */
 
-/* The string that is the prefix on the section names we make for lto.
-   For decls the DECL_ASSEMBLER_NAME is appended to make the section
-   name for the functions and static_initializers.  For other types of
-   sections a '.' and the section type are appended.  */
-#define LTO_SECTION_NAME_PREFIX         ".gnu.lto_"
-#define OMP_SECTION_NAME_PREFIX         ".gnu.target_lto_"
-
-/* Can be either OMP_SECTION_NAME_PREFIX when we stream pragma omp target
-   stuff, or LTO_SECTION_NAME_PREFIX for lto case.  */
-extern const char  *section_name_prefix;
-
 #define LTO_major_version 3
 #define LTO_minor_version 0
 
Index: gcc/lto-wrapper.c
===================================================================
--- gcc/lto-wrapper.c	(revision 208706)
+++ gcc/lto-wrapper.c	(working copy)
@@ -46,13 +46,7 @@  along with GCC; see the file COPYING3.
 #include "opts.h"
 #include "options.h"
 #include "simple-object.h"
-
-/* From lto-streamer.h which we cannot include with -fkeep-inline-functions.
-   ???  Split out a lto-streamer-core.h.  */
-
-#define LTO_SECTION_NAME_PREFIX         ".gnu.lto_"
-
-/* End of lto-streamer.h copy.  */
+#include "lto-section-names.h"
 
 int debug;				/* true if -save-temps.  */
 int verbose;				/* true if -v.  */