From: mstarzinger@chromium.org Date: Wed, 3 Jul 2013 11:57:38 +0000 (+0000) Subject: Fix GDBJIT for Linux after r15460. X-Git-Tag: upstream/4.7.83~13554 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=13b60ec6397e88f45bf83ceb9d3ed6b8a13957f5;p=platform%2Fupstream%2Fv8.git Fix GDBJIT for Linux after r15460. R=danno@chromium.org Review URL: https://codereview.chromium.org/18363007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- diff --git a/src/gdb-jit.cc b/src/gdb-jit.cc index 40f3985..5293fe7 100644 --- a/src/gdb-jit.cc +++ b/src/gdb-jit.cc @@ -629,7 +629,7 @@ class MachO BASE_EMBEDDED { #if defined(__ELF) class ELF BASE_EMBEDDED { public: - explicit ELF(Zone* zone) : sections_(6, zone) { + explicit ELF(Zone* zone) : zone_(zone), sections_(6, zone) { sections_.Add(new(zone) ELFSection("", ELFSection::TYPE_NULL, 0), zone); sections_.Add(new(zone) ELFStringTable(".shstrtab"), zone); } @@ -644,8 +644,8 @@ class ELF BASE_EMBEDDED { return sections_[index]; } - uint32_t AddSection(ELFSection* section, Zone* zone) { - sections_.Add(section, zone); + uint32_t AddSection(ELFSection* section) { + sections_.Add(section, zone_); section->set_index(sections_.length() - 1); return sections_.length() - 1; } @@ -743,6 +743,7 @@ class ELF BASE_EMBEDDED { } } + Zone* zone_; ZoneList sections_; }; @@ -1026,8 +1027,8 @@ static void CreateSymbolsTable(CodeDescription* desc, ELFStringTable* strtab = new(zone) ELFStringTable(".strtab"); // Symbol table should be followed by the linked string table. - elf->AddSection(symtab, zone); - elf->AddSection(strtab, zone); + elf->AddSection(symtab); + elf->AddSection(strtab); symtab->Add(ELFSymbol("V8 Code", 0, @@ -1941,8 +1942,7 @@ static JITCodeEntry* CreateELFObject(CodeDescription* desc, Isolate* isolate) { desc->CodeStart(), 0, desc->CodeSize(), - ELFSection::FLAG_ALLOC | ELFSection::FLAG_EXEC), - &zone); + ELFSection::FLAG_ALLOC | ELFSection::FLAG_EXEC)); CreateSymbolsTable(desc, &zone, &elf, text_section_index);