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

Michal Meloun via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 28 08:42:47 PST 2020


strejda added a comment.

hmm, I discussed with MC developer on #bsdmips :). Hope he can make MC more conform to widely accepted standards, without issuing more and more regressions, and to understand that:

1. The code in locore_v6.S is absolutely valid. It is used in strictly statically linked environment to fixed address, so every reference to interposed symbol handling is absurd.
2. MC cannot, in any case, refuse to compile valid code only because same code can be invalid in other environment.
3. Situation when new version of given program fails for valid sources, but previous version worked as expected, is called regression.
4. Under standard open source policy, the regression is always release blocker and it cannot be resolved as won’t fix.
5. Marking regression as won’t fix is synonym for “f**k with users”.

Just look, I fully understand that symbol interposition is “problematic” in these cases. However you cannot, in any case, expect that given assembly unit will be used in environment where symbol interposition is allowed. Or worse, you can't expect that given symbol will be interposed. All you can do is to issue a warning if there is a high probability that the problem may occur. Or issue an error if the problem has already occurred. Nothing more.

I apologize for this rant talk, but this issue makes me really angry. Imho, this is exact reason why MC have very bad reputation in arm community, why is very problematic to pass patch to upstream with "this code is not compiled by MC but is valid for all others assemblers".
And like always - we (FreeBSD) cannot compile more than 2/3 of ports with assembler files  just because MC doesn't support  pre-UAL syntax and upstream doesn't want to switch to UAL.  This is very frustrating situation.


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