+2018-03-07 Sriraman Tallam <tmsriram@google.com>
+
+ * layout.cc (Layout::default_section_order): Check for text section
+ prefixes.
+ (Layout::text_section_name_mapping): New static member.
+ (Layout::text_section_name_mapping_count): New static member.
+ (Layout::match_section_name): New static function.
+ (Layout::output_section_name): Check for text section prefixes.
+ * layout.h (Output_section_order::ORDER_TEXT_HOT): New enum value.
+ (Output_section_order::ORDER_TEXT_STARTUP): New enum value.
+ (Output_section_order::ORDER_TEXT_EXIT): New enum value.
+ (Output_section_order::ORDER_TEXT_UNLIKELY): New enum value.
+ (Layout::text_section_name_mapping): New static member.
+ (Layout::text_section_name_mapping_count): New static member.
+ (Layout::match_section_name): New static function.
+ * options.h (keep_text_section_prefix): New -z option.
+ * testsuite/Makefile.am (keep_text_section_prefix): New test.
+ * testsuite/Makefile.in: Regenerate.
+ * testsuite/keep_text_section_prefix.cc: New test source.
+ * testsuite/keep_text_section_prefix.sh: New test script.
+
+2018-02-22 Sriraman Tallam <tmsriram@google.com>
+
+ * plugin.cc (get_wrap_symbols): New plugin interface.
+ (load): Add get_wrap_symbols to transfer vector.
+ * plugin-api.h (ld_plugin_get_wrap_symbols): New plugin interface.
+ * testsuite/plugin_test.c (onload): Call and check get_wrap_symbols
+ interface.
+ * testsuite/plugin_test_wrap_symbols.sh: New test script.
+ * testsuite/plugin_test_wrap_symbols_1.cc: New file.
+ * testsuite/plugin_test_wrap_symbols_2.cc: New file.
+ * testsuite/Makefile.am (plugin_test_wrap_symbols): New test.
+ * testsuite/Makefile.in: Regenerate.
+
+2018-02-07 Sriraman Tallam <tmsriram@google.com>
+
+ * expression.cc (Symbol_expression::set_expr_sym_in_real_elf):
+ New method.
+ (Unary_expression::set_expr_sym_in_real_elf): New method.
+ (Binary_expression::set_expr_sym_in_real_elf): New method.
+ (Trinary_expression::set_expr_sym_in_real_elf): New method.
+ * plugin.cc (get_symbol_resolution_info): Fix symbol resolution if
+ defined or used in defsyms.
+ * plugin.h (Plugin_manager::is_defsym_def): New method.
+ (Plugin_manager::Plugin_manager): Initialize defsym_defines_set_.
+ (Plugin_manager::defsym_defines_set_): New member.
+ (Plugin_manager::Defsym_defines_set): New typedef.
+ * script.cc (Script_options::set_defsym_uses_in_real_elf): New method.
+ (Script_options::find_defsym_defs): New method.
+ * script.h (Expression::set_expr_sym_in_real_elf): New method.
+ (Symbol_assignment::is_defsym): New method.
+ (Symbol_assignment::value): New method.
+ (Script_options::find_defsym_defs): New method.
+ (Script_options::set_defsym_uses_in_real_elf): New method.
+ * testsuite/Makefile.am (plugin_test_defsym): New test.
+ * testsuite/Makefile.in: Regenerate.
+ * testsuite/plugin_test.c: Check for new symbol resolution.
+ * testsuite/plugin_test_defsym.sh: New script.
+ * testsuite/plugin_test_defsym.c: New test source.
+
2018-02-07 Alan Modra <amodra@gmail.com>
Revert 2018-01-17 Alan Modra <amodra@gmail.com>