This is the mail archive of the binutils@sources.redhat.com 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] |
Bryce McKinlay <bryce@mckinlay.net.nz> writes:
Here's something weird that I noticed while messing around with the merge
patch. A libgcj.so created by:
$ ld -r -o temp.o (all object files...) $ gcj --shared temp.o -o libgcj.so
is some 400K smaller than one created with:
$ gcj --shared -o libgcj.so (all object files...)
Each of the libraries works fine. Examining with objdump revealed that almost all the sections had slightly different sizes, however .rodata seems to be accounting for most of the discrepancy:
- 11 .rodata 000a0599 005c6440 005c6440 005c6440 2**5 + 11 .rodata 000f776b 005ca1e0 005ca1e0 005ca1e0 2**5 CONTENTS, ALLOC, LOAD, READONLY, DATA
Any clues what would cause this? Could this be a constant merging bug?
Try examining the linker map (generated by passing -Map=file to the linker).
.rodata.jutf8.18 0x000036b2 0x48 LocaleInformation_ko_KR.o .rodata.jutf8.18 0x0000327e 0x5a LocaleInformation_kl_GL.o
.rodata.jutf8.18 0x0000327e 0x5a temp.o 0xa2 (size before relaxing)
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |