projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Don't write to inferior_ptid in nto-procfs.c
[deliverable/binutils-gdb.git]
/
elfcpp
/
elfcpp_file.h
diff --git
a/elfcpp/elfcpp_file.h
b/elfcpp/elfcpp_file.h
index 8dd7ad5cca1c60c522ee404a6072bfe5976633dd..92898c376469e29c6ba573f58f24029715d7d875 100644
(file)
--- a/
elfcpp/elfcpp_file.h
+++ b/
elfcpp/elfcpp_file.h
@@
-1,6
+1,6
@@
// elfcpp_file.h -- file access for elfcpp -*- C++ -*-
// elfcpp_file.h -- file access for elfcpp -*- C++ -*-
-// Copyright
2006, 2007,
Free Software Foundation, Inc.
+// Copyright
(C) 2006-2020
Free Software Foundation, Inc.
// Written by Ian Lance Taylor <iant@google.com>.
// This file is part of elfcpp.
// Written by Ian Lance Taylor <iant@google.com>.
// This file is part of elfcpp.
@@
-144,6
+144,15
@@
class Elf_file
return this->shnum_;
}
return this->shnum_;
}
+ unsigned int
+ shnum() const
+ {
+ if (this->shnum_ == 0 && this->shoff_ != 0)
+ this->file_->error(_("ELF file has not been initialized yet"
+ " (internal error)"));
+ return this->shnum_;
+ }
+
// Return the section index of the section name string table.
unsigned int
shstrndx()
// Return the section index of the section name string table.
unsigned int
shstrndx()
@@
-152,6
+161,18
@@
class Elf_file
return this->shstrndx_;
}
return this->shstrndx_;
}
+ unsigned int
+ shstrndx() const
+ {
+ if (this->shstrndx_ == SHN_XINDEX && this->shoff_ != 0)
+ {
+ this->file_->error(_("ELF file has not been initialized yet"
+ " (internal error)"));
+ return 0;
+ }
+ return this->shstrndx_;
+ }
+
// Return the value to subtract from section indexes >=
// SHN_LORESERVE. See the comment in initialize_shnum.
int
// Return the value to subtract from section indexes >=
// SHN_LORESERVE. See the comment in initialize_shnum.
int
@@
-161,6
+182,15
@@
class Elf_file
return this->large_shndx_offset_;
}
return this->large_shndx_offset_;
}
+ int
+ large_shndx_offset() const
+ {
+ if (this->shstrndx_ == SHN_XINDEX && this->shoff_ != 0)
+ this->file_->error(_("ELF file has not been initialized yet"
+ " (internal error)"));
+ return this->large_shndx_offset_;
+ }
+
// Return the location of the header of section SHNDX.
typename File::Location
section_header(unsigned int shndx)
// Return the location of the header of section SHNDX.
typename File::Location
section_header(unsigned int shndx)
@@
-171,7
+201,7
@@
class Elf_file
// Return the name of section SHNDX.
std::string
// Return the name of section SHNDX.
std::string
- section_name(unsigned int shndx);
+ section_name(unsigned int shndx)
const
;
// Return the location of the contents of section SHNDX.
typename File::Location
// Return the location of the contents of section SHNDX.
typename File::Location
@@
-216,7
+246,7
@@
class Elf_file
// Return the file offset of the header of section SHNDX.
off_t
// Return the file offset of the header of section SHNDX.
off_t
- section_header_offset(unsigned int shndx);
+ section_header_offset(unsigned int shndx)
const
;
// The file we are reading.
File* file_;
// The file we are reading.
File* file_;
@@
-465,7
+495,7
@@
Elf_file<size, big_endian, File>::find_section_by_type(unsigned int type)
template<int size, bool big_endian, typename File>
off_t
template<int size, bool big_endian, typename File>
off_t
-Elf_file<size, big_endian, File>::section_header_offset(unsigned int shndx)
+Elf_file<size, big_endian, File>::section_header_offset(unsigned int shndx)
const
{
if (shndx >= this->shnum())
this->file_->error(_("section_header_offset: bad shndx %u >= %u"),
{
if (shndx >= this->shnum())
this->file_->error(_("section_header_offset: bad shndx %u >= %u"),
@@
-477,7
+507,7
@@
Elf_file<size, big_endian, File>::section_header_offset(unsigned int shndx)
template<int size, bool big_endian, typename File>
std::string
template<int size, bool big_endian, typename File>
std::string
-Elf_file<size, big_endian, File>::section_name(unsigned int shndx)
+Elf_file<size, big_endian, File>::section_name(unsigned int shndx)
const
{
File* const file = this->file_;
{
File* const file = this->file_;
This page took
0.025149 seconds
and
4
git commands to generate.