mirror of
https://git.suyu.dev/suyu/breakpad.git
synced 2026-01-05 22:18:21 +01:00
Defer adding sections until ELF::Finish in synth_elf
A=Mike Hommey <mh@glandium.org> R=ted at https://breakpad.appspot.com/543002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1135 4c0a9323-5329-0410-9bdc-e9ce6186880e
This commit is contained in:
parent
ece9df9386
commit
637c392d1c
2 changed files with 33 additions and 6 deletions
|
|
@ -39,6 +39,7 @@
|
|||
#include "common/test_assembler.h"
|
||||
|
||||
#include <list>
|
||||
#include <vector>
|
||||
#include <map>
|
||||
#include <string>
|
||||
#include <utility>
|
||||
|
|
@ -49,6 +50,7 @@ namespace google_breakpad {
|
|||
namespace synth_elf {
|
||||
|
||||
using std::list;
|
||||
using std::vector;
|
||||
using std::map;
|
||||
using std::pair;
|
||||
using test_assembler::Endianness;
|
||||
|
|
@ -128,6 +130,23 @@ class ELF : public Section {
|
|||
Label section_header_string_index_;
|
||||
// Section containing the names of section header table entries.
|
||||
StringTable section_header_strings_;
|
||||
|
||||
// Record of an added section
|
||||
struct ElfSection : public Section {
|
||||
ElfSection(const Section& section, uint32_t type, uint32_t offset,
|
||||
Label offset_label)
|
||||
: Section(section), type_(type), offset_(offset)
|
||||
, offset_label_(offset_label) {
|
||||
}
|
||||
|
||||
uint32_t type_;
|
||||
uint32_t offset_;
|
||||
Label offset_label_;
|
||||
};
|
||||
|
||||
vector<ElfSection> sections_;
|
||||
|
||||
void AppendSection(ElfSection §ion);
|
||||
};
|
||||
|
||||
// A class to build .symtab or .dynsym sections.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue