// object.h -- support for an object file for linking in gold -*- C++ -*-
-// Copyright (C) 2006-2020 Free Software Foundation, Inc.
+// Copyright (C) 2006-2021 Free Software Foundation, Inc.
// Written by Ian Lance Taylor <iant@google.com>.
// This file is part of gold.
// Osabi represents the EI_OSABI field from the ELF header.
-template <int size, bool big_endian>
class Osabi
{
public:
- Osabi(const elfcpp::Ehdr<size, big_endian>& ehdr)
- : ei_osabi_(static_cast<elfcpp::ELFOSABI>(
- ehdr.get_e_ident()[elfcpp::EI_OSABI]))
+ Osabi(unsigned char ei_osabi)
+ : ei_osabi_(static_cast<elfcpp::ELFOSABI>(ei_osabi))
{ }
bool
{ return this->e_type_; }
// Return the EI_OSABI.
- const Osabi<size, big_endian>&
+ const Osabi&
osabi() const
{ return this->osabi_; }
// General access to the ELF file.
elfcpp::Elf_file<size, big_endian, Object> elf_file_;
// The EI_OSABI.
- const Osabi<size, big_endian> osabi_;
+ const Osabi osabi_;
// Type of ELF file (ET_REL or ET_EXEC). ET_EXEC files are allowed
// as input files only for the --just-symbols option.
int e_type_;