For the "C" Standard Extension/Zca, D45560 enabled 2-byte alignment for
assembly output (e.g. clang -S a.c) and D102052 enabled 2-byte alignment for
assembly input and object file output (e.g. clang -c a.s).
This patch ports the behavior for code generation and object file output by
adding RISCVELFTargetObjectFile::getTextSectionAlignment (e.g. clang -c a.c).
Isn't this a layering violation?