Cosmetic improvements for OSABI access.

Add accessor methods to elfcpp::Ehdr class for EI_OSABI and EI_ABIVERSION;
use those to simplify initialization of Osabi class and eliminate the need
to template the class.

elfcpp/
	* elfcpp.h (class Ehdr): Add get_ei_osabi and get_ei_abiversion methods.

gold/
	* dwp.cc (class Dwo_file): Use new Ehdr::get_ei_osabi and
	get_ei_abiversion methods.
	* incremental.cc (make_sized_incremental_binary): Likewise.
	* object.cc (Sized_relobj_file::Sized_relobj_file): Likewise.
	(make_elf_sized_object): Likewise.
	* object.h (class Osabi): Make the class untemplated.
This commit is contained in:
Cary Coutant 2020-12-15 14:37:22 -08:00
parent 8947abe6bf
commit 2b2d74f4a1
7 changed files with 33 additions and 14 deletions

View file

@ -1,3 +1,7 @@
2020-12-15 Cary Coutant <ccoutant@gmail.com>
* elfcpp.h (class Ehdr): Add get_ei_osabi and get_ei_abiversion methods.
2020-12-15 Vivek Das Mohapatra <vivek@collabora.com>
* elfcpp.h (enum DT): New enum member DT_GNU_FLAGS_1.

View file

@ -1100,6 +1100,14 @@ class Ehdr
get_e_ident() const
{ return this->p_->e_ident; }
unsigned char
get_ei_osabi() const
{ return this->p_->e_ident[EI_OSABI]; }
unsigned char
get_ei_abiversion() const
{ return this->p_->e_ident[EI_ABIVERSION]; }
Elf_Half
get_e_type() const
{ return Convert<16, big_endian>::convert_host(this->p_->e_type); }