X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gold%2Ftarget.h;h=089d7b377c3b38132253286cf793ed7d6e457168;hb=5f8989944880cad1bfffab3801214a0a9b67b72e;hp=1f8f757dbfa6c77f100d2854b7860f558bcd8b09;hpb=6c04fd9b2fb4396c0189cb414ce598161ac8673e;p=deliverable%2Fbinutils-gdb.git diff --git a/gold/target.h b/gold/target.h index 1f8f757dbf..089d7b377c 100644 --- a/gold/target.h +++ b/gold/target.h @@ -1,6 +1,6 @@ // target.h -- target support for gold -*- C++ -*- -// Copyright (C) 2006-2018 Free Software Foundation, Inc. +// Copyright (C) 2006-2020 Free Software Foundation, Inc. // Written by Ian Lance Taylor . // This file is part of gold. @@ -509,22 +509,10 @@ class Target should_include_section(elfcpp::Elf_Word sh_type) const { return this->do_should_include_section(sh_type); } - // Merge a target-specific program property in the .note.gnu.properties - // section. + // Finalize the target-specific properties in the .note.gnu.property section. void - merge_gnu_property(int note_type, - int pr_type, - size_t new_pr_datasz, - const unsigned char* new_pr_data, - size_t old_pr_datasz, - unsigned char* old_pr_data, - const Object* object) const - { - return this->do_merge_gnu_property(note_type, pr_type, - new_pr_datasz, new_pr_data, - old_pr_datasz, old_pr_data, - object); - } + finalize_gnu_properties(Layout* layout) const + { this->do_finalize_gnu_properties(layout); } protected: // This struct holds the constant information for a child class. We @@ -832,11 +820,9 @@ class Target do_should_include_section(elfcpp::Elf_Word) const { return true; } - // Merge a target-specific program property in the .note.gnu.properties - // section. + // Finalize the target-specific properties in the .note.gnu.property section. virtual void - do_merge_gnu_property(int, int, size_t, const unsigned char*, - size_t, unsigned char*, const Object*) const + do_finalize_gnu_properties(Layout*) const { } private: @@ -1158,6 +1144,18 @@ class Sized_target : public Target return elfcpp::elf_r_sym(rel.get_r_info()); } + // Record a target-specific program property in the .note.gnu.property + // section. + virtual void + record_gnu_property(unsigned int, unsigned int, size_t, + const unsigned char*, const Object*) + { } + + // Merge the target-specific program properties from the current object. + virtual void + merge_gnu_properties(const Object*) + { } + protected: Sized_target(const Target::Target_info* pti) : Target(pti)