The large code model isn't properly handled for global values, for which we need to use the MOVZ/MOVK sequence of instructions to materialize the address with appropriate relocs on ELF, rather than the ADRP+ADD pair used for the small code model.
Fixes PR35958.
C++11 compilers in pedantic mode will diagnose this default argument so perhaps you want to remove it, however this is valid C++14.