This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH][GOLD] Add a class to do EXIDX entry merging.


Hi,

     This patch adds a class Arm_exidx_fixup that contains methods and
states for doing EXIDX entry merging.   The main entry point is
Arm_exidx_fixup::process_exidx_section(), which scans all entries in
an EXIDX section to determined if some entries can be merged with
preceeding entries.  It returns the number of bytes to be deleted from
the EXIDX section due to merging.  If only some entries, not all are
to be deleted, it also stores the address of a newly created
Arm_exidx_section_offset_map, which is used to determine which parts
of an EXIDX section are discarded and how the remaining ones are
placed in output.   Caller of this method is expected to call this
method repeatedly for all EXIDX sections in ascending order of output
addresses.

-Doug

2010-01-21  Doug Kwan  <dougkwan@google.com>

        * arm.cc (Arm_exidx_fixup): New class.

Attachment: patch-exidx-fixup.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]