aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorccoutant <ccoutant@138bc75d-0d04-0410-961f-82ee72b054a4>2016-03-04 22:15:55 +0000
committerccoutant <ccoutant@138bc75d-0d04-0410-961f-82ee72b054a4>2016-03-04 22:15:55 +0000
commit943e339d47ea04224f4c1f5de3813800a7446014 (patch)
tree12f0bd59bde1e0ceb717beaf52e6f9b24624119a /include
parentea9edfee1a7a5df3cb9168e50f2e62e74d13a2f7 (diff)
Sync include/plugin-api.h with binutils.
2016-03-03 Than McIntosh <thanm@google.com> * plugin-api.h: Add new hooks to the plugin transfer vector to to support querying section alignment and section size. (ld_plugin_get_input_section_alignment): New hook. (ld_plugin_get_input_section_size): New hook. (ld_plugin_tag): Add LDPT_GET_INPUT_SECTION_ALIGNMENT and LDPT_GET_INPUT_SECTION_SIZE. (ld_plugin_tv): Add tv_get_input_section_alignment and tv_get_input_section_size. 2016-03-03 Evgenii Stepanov <eugenis@google.com> * plugin-api.h (enum ld_plugin_tag): Add LDPT_GET_SYMBOLS_V3. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233986 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'include')
-rw-r--r--include/ChangeLog15
-rw-r--r--include/plugin-api.h29
2 files changed, 42 insertions, 2 deletions
diff --git a/include/ChangeLog b/include/ChangeLog
index 51736f7ea2f..c48156f9887 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,18 @@
+2016-03-03 Than McIntosh <thanm@google.com>
+
+ * plugin-api.h: Add new hooks to the plugin transfer vector to
+ to support querying section alignment and section size.
+ (ld_plugin_get_input_section_alignment): New hook.
+ (ld_plugin_get_input_section_size): New hook.
+ (ld_plugin_tag): Add LDPT_GET_INPUT_SECTION_ALIGNMENT
+ and LDPT_GET_INPUT_SECTION_SIZE.
+ (ld_plugin_tv): Add tv_get_input_section_alignment and
+ tv_get_input_section_size.
+
+2016-03-03 Evgenii Stepanov <eugenis@google.com>
+
+ * plugin-api.h (enum ld_plugin_tag): Add LDPT_GET_SYMBOLS_V3.
+
2016-01-19 Martin Jambor <mjambor@suse.cz>
* gomp-constants.h (GOMP_DEVICE_HSA): New macro.
diff --git a/include/plugin-api.h b/include/plugin-api.h
index 1bf1750134a..a794a37049a 100644
--- a/include/plugin-api.h
+++ b/include/plugin-api.h
@@ -1,6 +1,6 @@
/* plugin-api.h -- External linker plugin API. */
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2016 Free Software Foundation, Inc.
Written by Cary Coutant <ccoutant@google.com>.
This file is part of binutils.
@@ -345,6 +345,26 @@ enum ld_plugin_status
const struct ld_plugin_section * section_list,
unsigned int num_sections);
+/* The linker's interface for retrieving the section alignment requirement
+ of a specific section in an object. This interface should only be invoked in the
+ claim_file handler. This function sets *ADDRALIGN to the ELF sh_addralign
+ value of the input section. */
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_get_input_section_alignment) (const struct ld_plugin_section section,
+ unsigned int *addralign);
+
+/* The linker's interface for retrieving the section size of a specific section
+ in an object. This interface should only be invoked in the claim_file handler.
+ This function sets *SECSIZE to the ELF sh_size
+ value of the input section. */
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_get_input_section_size) (const struct ld_plugin_section section,
+ uint64_t *secsize);
+
enum ld_plugin_level
{
LDPL_INFO,
@@ -384,7 +404,10 @@ enum ld_plugin_tag
LDPT_ALLOW_SECTION_ORDERING = 24,
LDPT_GET_SYMBOLS_V2 = 25,
LDPT_ALLOW_UNIQUE_SEGMENT_FOR_SECTIONS = 26,
- LDPT_UNIQUE_SEGMENT_FOR_SECTIONS = 27
+ LDPT_UNIQUE_SEGMENT_FOR_SECTIONS = 27,
+ LDPT_GET_SYMBOLS_V3 = 28,
+ LDPT_GET_INPUT_SECTION_ALIGNMENT = 29,
+ LDPT_GET_INPUT_SECTION_SIZE = 30
};
/* The plugin transfer vector. */
@@ -416,6 +439,8 @@ struct ld_plugin_tv
ld_plugin_allow_section_ordering tv_allow_section_ordering;
ld_plugin_allow_unique_segment_for_sections tv_allow_unique_segment_for_sections;
ld_plugin_unique_segment_for_sections tv_unique_segment_for_sections;
+ ld_plugin_get_input_section_alignment tv_get_input_section_alignment;
+ ld_plugin_get_input_section_size tv_get_input_section_size;
} tv_u;
};