Description of symbols is avalable here:
It is said that:
_etext - The address of _etext is the first location after the last read-only loadable segment.
_edata - The address of _edata is the first location after the last read-write loadable segment.
_end - If the address of _edata is greater than the address of _etext, the address of _end is same as the address of _edata.
In real life _end and _edata has different values for that case.
Both gold/bfd set _edata to the end of the last non SHT_NOBITS section.
This patch do the same for consistency.
It should fix the https://llvm.org/bugs/show_bug.cgi?id=26729.