[PATCH] D72892: [MC][ARM] Resolve some pcrel fixups at assembly time

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 27 09:23:15 PST 2020


MaskRay closed this revision.
MaskRay added a comment.

I intended this to be committed to release/10.x only, but it is now also in master... commit 2e24219d3cbfcb8c824c58872f97de0a2e94a7c8 <https://reviews.llvm.org/rG2e24219d3cbfcb8c824c58872f97de0a2e94a7c8>

In D72892#1890459 <https://reviews.llvm.org/D72892#1890459>, @bsdimp wrote:

> In D72892#1888449 <https://reviews.llvm.org/D72892#1888449>, @MaskRay wrote:
>
> > I discussed with FreeBSD developers on #bsdmips. Hope they can make the assembly code (https://github.com/freebsd/freebsd/blob/master/sys/arm/arm/locore-v6.S#L75) more portable, without any work on LLVM's side.
>
>
> I wouldn't characterize the conversation like that. There was substantial pushback from the FreeBSD arm developer community to llvm/clang not accepting assembler syntax that's accept by (a) prior versions of clang and (b) binutils absent a very good reason. No such very good reason has been proffered to date.


@bsdimp I am of metaqwe's opinion: `.globl foo; foo: adr r0, foo` may be loosely considered an "undefined behavior" in assembly.

`metaqwe | wow, i wonder if this qualifies as a category of undefined behavior in ARM that is only coming out now`

I am not convinced that this was intentionally supported by another assembler. I am still feeling sorry if FreeBSD does not have intention to make code more portable.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D72892/new/

https://reviews.llvm.org/D72892





More information about the llvm-commits mailing list