Skip to content
  • Martin Storsjö's avatar
    arm64: mc: Make the jump tables local symbols · 0bb53898
    Martin Storsjö authored and Janne Grunau's avatar Janne Grunau committed
    For MachO, this makes sure that the label difference actually is
    evaluated at assembly time (as it already was for ELF and COFF);
    evaluating it at link time failed when the difference is stored in
    a .hword.
    
    This fixes linking errors like these:
    ld: in section __TEXT,__text reloc 0: ARM64_RELOC_SUBTRACTOR must have r_length of 2 or 3 file 'src/src@@dav1d_bitdepth_8@sta/arm_64_mc.S.o' for architecture arm64
    
    This adds an asm.S macro for decorating a symbol for making a
    local symbol. For armasm64 with gas-preprocessor, this doesn't
    actually create a local label (but neither do the local numbered
    labels either currently), which might be slightly inconsistent
    in it would be necessary to make the distinction for that assembler
    as well.
    
    Alternatively, the table symbol could be made into a plain local
    numbered label as all the other labels.
    0bb53898