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]

Re: [gold] Merging string literals with bigger alignment


> Please, take a look at the attached patch that enables merging
> of string literals with alignment bigger than the char size (alignment
> is preserved).

Presumably the compiler aligns each string within the input section to
the section's alignment, but your patch doesn't check for that. If you
find a string in the input section that doesn't begin at an alignment
boundary, you should either refuse to merge that section, or preserve
that string's alignment modulo the alignment boundary (e.g., if a
string in the .rodata.str1.8 section begins at offset 0x14, you should
ensure that the string's new offset is at an offset that is 4 modulo
8).

One nit:

+Stringpool_template<Stringpool_char>::new_key_offset(size_t length,
uint64_t addralign)

This line is too long.

-cary


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