mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-24 04:00:07 +08:00
* layout.cc: Include "object.h".
(ctors_sections_in_init_array): New static variable. (Layout::is_ctors_in_init_array): New function. (Layout::layout): Add entry to ctors_sections_in_init_array if appropriate. * layout.h (class Layout): Declare is_ctors_in_init_array. * reloc.cc (Sized_relobj_file::do_relocate): Call reverse_words if is_ctors_reverse_view is set. (Sized_relobj_file::write_sections): Add layout parameter. Change all callers. Set is_ctors_reverse_view field of View_size. (Sized_relobj_file::reverse_words): New function. * object.h (Sized_relobj_file::View_size): Add is_ctors_reverse_view field. (class Sized_relobj_file): Update declarations. * testsuite/initpri3.c: New test. * testsuite/Makefile.am: (check_PROGRAMS): Add initpri3a and initpri3b. (initpri3a_SOURCES, initpri3a_DEPENDENCIES): New variables. (initpri3a_LDFLAGS, initpri3a_LDADD): New variables. (initpri3b_SOURCES, initpri3b_DEPENDENCIES): New variables. (initpri3b_LDFLAGS, initpri3b_LDADD): New variables. * testsuite/Makefile.in: Rebuild.
This commit is contained in:
@ -651,6 +651,12 @@ class Layout
|
||||
static bool
|
||||
match_file_name(const Relobj* relobj, const char* file_name);
|
||||
|
||||
// Return whether section SHNDX in RELOBJ is a .ctors/.dtors section
|
||||
// with more than one word being mapped to a .init_array/.fini_array
|
||||
// section.
|
||||
bool
|
||||
is_ctors_in_init_array(Relobj* relobj, unsigned int shndx) const;
|
||||
|
||||
// Check if a comdat group or .gnu.linkonce section with the given
|
||||
// NAME is selected for the link. If there is already a section,
|
||||
// *KEPT_SECTION is set to point to the signature and the function
|
||||
|
Reference in New Issue
Block a user