[PATCH] D68101: [MC][ELF] Prevent globals with an explicit section from being mergeable

John McCall via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 3 09:56:17 PST 2019


rjmccall added a comment.

In D68101#1766670 <https://reviews.llvm.org/D68101#1766670>, @bd1976llvm wrote:

> In D68101#1766359 <https://reviews.llvm.org/D68101#1766359>, @rjmccall wrote:
>
> > I can't speak for the pragma authors, but I strongly doubt the pragma is intended to force all affected globals to go into a single section unit, since the division into section units is purely an object-file representation issue.
>
>
> I'm thinking of embedded platforms where there is no or only very primitive linkers. There is also the advantage of producing similar output to GCC. Creating multiple output sections is not without risk - for example, it means that symbols can be re-ordered (relative to their original order in source files) which could cause a change in behaviour.


Yes, that's a very fair point.  Of course, mergeability in general can cause this — but the fact that it can doesn't mean it does in practice.

> The way forward now, I think, is to make a reasonable fix and see what breaks.

I completely agree.

John.


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

https://reviews.llvm.org/D68101





More information about the llvm-commits mailing list