diff options
author | Alan Modra <amodra@gmail.com> | 2014-11-07 20:29:43 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2014-11-07 20:40:42 +1030 |
commit | e5242d4bede9761e9847ca85f8477b4e275a6e22 (patch) | |
tree | 904ea7b75989414c64e0b260fc9c1850a97443ac /cpu | |
parent | 7c53fd1ca357a5f6d0dcb3fcc6d06a38de48cd09 (diff) | |
download | gdb-e5242d4bede9761e9847ca85f8477b4e275a6e22.zip gdb-e5242d4bede9761e9847ca85f8477b4e275a6e22.tar.gz gdb-e5242d4bede9761e9847ca85f8477b4e275a6e22.tar.bz2 |
tekhex buffer management and symbol types
Dramatically reduces memory consumption and processing time for large
all-zero data segments. Allows multiple symbol types attached to a
given segment to survive objcopy.
* tekhex.c (CHUNK_SPAN): Define.
(struct data_struct <chunk_init>): Use one byte per span, update
all code accessing this field.
(find_chunk): Add create param, don't create new entry unless set.
(insert_byte): Don't save zeros.
(first_phase): Set section SEC_CODE or SEC_DATA flag depending
on symbol type. Create an alternate section if both types of
symbol are given. Attach type '2' and '6' symbols to absolute
section.
(move_section_contents): Fix caching of chunk. Don't create chunk
when reading, or for writing zeros.
(tekhex_set_section_contents): Don't create initial chunks.
(tekhex_write_object_contents): Use CHUNK_SPAN.
Diffstat (limited to 'cpu')
0 files changed, 0 insertions, 0 deletions