Hi Jakub, are your concerns addressed with this answer, or do you have objections to this patch?
Thanks Bernd. On 09/14/18 21:06, Bernd Edlinger wrote: > On 09/14/18 21:01, Jakub Jelinek wrote: >> On Fri, Sep 14, 2018 at 06:39:38PM +0000, Bernd Edlinger wrote: >>> Hi, >>> >>> this is an upate of the string-merge section, it is based on the >>> V2-STRING_CST >>> semantic patch series, which was finally installed yesterday. >>> It merges single-byte string constants with or without terminating NUL. >>> The patch has the same Ada and C test cases that were already in the V1 >>> patch. >>> >>> Thus there are no pre-requisite patches necessary at this time. >>> >>> Bootstrapped and reg-tested on x86_64-pc-linux-gnu. >>> Is it OK for trunk? >> >> I believe SHF_MERGE | SHF_STRINGS sections should only ever contain >> zero-terminated strings. >> See e.g. SCO ELF documentation: >> "The size of each element is specified in the section header's sh_entsize >> field. If the SHF_STRINGS flag is also set, the data elements consist of >> null-terminated character strings." >> http://www.sco.com/developers/gabi/2003-12-17/ch4.sheader.html >> https://docs.oracle.com/cd/E23824_01/html/819-0690/ggdlu.html >> >> So, please never put non-zero terminated strings into MS sections. >> > > Yes, that is of course clear. > > The idea is, if the string itself is not zero-terminated > another zero is added, that is only done in at the assembly level. > > Strings with embedded zero bytes are not put in the merge section. > > > Bernd.