clang: workaround for generated constants

KBuild abuses the asm statement to write to a file and
clang chokes about these invalid asm statements. Hack it
even more by fooling this is actual valid asm code.
ARM: use ARMv7 barrier instructions with -marchv7a

U-boot uses cp15 barrier instruction since it used to be compiled
with -march=armv5. In case the compiler does support -march=armv7-a
it will nowadays be used. The llvm integrated as does not like such
a combination and errors with recommending to use the ARMv7 barrier
instructions when compiling for armv7-a. This patch keeps the original
behaviour but only when actually compiled with -march=armv5. The ARMv7
instructions are used otherwise.
linux/linkage.h: add a comma after .type name

llvm as cannot parse the .type name STT_FUNC. Adding a comma
seems to work.
arm,vector.S: remove duplicate start label

There are two start labels next to eachother in vector.S.
Removed the second occurence since it results in the error:
arch/arm/lib/vectors.S:52:1: error: invalid symbol redefinition
README.clang: build command with clang