LLD produces broken .dynamic section when --no-rosegment and at least one
of following options is present:
- -z rodynamic is given.
- MIPS target.
That happens because code that writes .dynamic assumes target buffer is zero-filled,
what can be not true after LLD fills it with trap-instructions. With one of two options
above, .dynamic becomes SHF_ALLOC section, so can be affected.
Look at line 1073 (it is always good to look around when you add code to an existing file). For consistency, 0ULL -> (uint64_t)0.