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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|FIXED                       |INVALID

--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
>Similar to how this code works with clang or -mcmodel=small?


Small still maybes uses a similar thing:
        ptr = &hidden_symbol;
        ptr += 128*1024 * 1024 + 1;

LLVM does not combine the &hidden_symbol with the integer constant to get the
address, it seems to always emit the addition in code. Which might be slower.

But the way GCC is doing it is valid for normal DSOs but in this case vDSO is
not a normal DSO and needs hacks like this in general to get around vDSO
limitations.

Reply via email to