https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126723

Iain Sandoe <iains at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |ASSIGNED

--- Comment #7 from Iain Sandoe <iains at gcc dot gnu.org> ---
hmm .. so it's not consistent .. 

clang : x86_64 :
        .section        __TEXT,__literal16,16byte_literals
        .p2align        4, 0x0                          ## @__const._Z3tu1l.t
L___const._Z3tu1l.t:
        .ascii  "0123456789abcdef"


clang : arm64 :
        .section        __TEXT,__literal16,16byte_literals
l___const._Z3tu1l.t:                    ; @__const._Z3tu1l.t
        .ascii  "0123456789abcdef"

Which is really odd, ld knows how to split up 16byte_literals sections .. they
are, by definition, in 16bye chunks.

If we hack the code to make the strings not exactly 16bytes - clang places in
.const and makes the label 'l' as expected.

---

we are, placing them in .const, so that's correct ABI-wise 
OK .. so the thing is not to make every .cstring entry 'l' which will gain a
relocation .. but only force it on the .const ones ... so not a blanket "all
strings".

Reply via email to