aboutsummaryrefslogtreecommitdiff
path: root/gold/object.h
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>2011-06-30 00:50:13 +0000
committerIan Lance Taylor <ian@airs.com>2011-06-30 00:50:13 +0000
commit14788a3f86c56a4da38d8655b61e599a6dce7c12 (patch)
tree4e9de7fbfc578ff236481be4fceca8c387d02bba /gold/object.h
parentb9c00dd73c6e56ec55a1b563b0f7a6d94da5f58f (diff)
downloadgdb-14788a3f86c56a4da38d8655b61e599a6dce7c12.zip
gdb-14788a3f86c56a4da38d8655b61e599a6dce7c12.tar.gz
gdb-14788a3f86c56a4da38d8655b61e599a6dce7c12.tar.bz2
PR gold/12629
* object.cc (Sized_relobj_file::layout_section): Change shdr parameter to be const. (Sized_relobj_file::layout_eh_frame_section): New function, broken out of do_layout. (Sized_relobj_file::do_layout): Defer .eh_frame sections if appropriate. Call layout_eh_frame_section. (Sized_relobj_file::do_layout_deferred_sections): Handle .eh_frame sections. * object.h (class Sized_relobj_file): Update declarations.
Diffstat (limited to 'gold/object.h')
-rw-r--r--gold/object.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/gold/object.h b/gold/object.h
index 8735f9e..9c363cd 100644
--- a/gold/object.h
+++ b/gold/object.h
@@ -2306,9 +2306,18 @@ class Sized_relobj_file : public Sized_relobj<size, big_endian>
// Layout an input section.
void
layout_section(Layout* layout, unsigned int shndx, const char* name,
- typename This::Shdr& shdr, unsigned int reloc_shndx,
+ const typename This::Shdr& shdr, unsigned int reloc_shndx,
unsigned int reloc_type);
+ // Layout an input .eh_frame section.
+ void
+ layout_eh_frame_section(Layout* layout, const unsigned char* symbols_data,
+ section_size_type symbols_size,
+ const unsigned char* symbol_names_data,
+ section_size_type symbol_names_size,
+ unsigned int shndx, const typename This::Shdr&,
+ unsigned int reloc_shndx, unsigned int reloc_type);
+
// Write section data to the output file. Record the views and
// sizes in VIEWS for use when relocating.
void