[llvm-branch-commits] [llvm-branch] r362669 - Merging r360442:
Tom Stellard via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Wed Jun 5 19:32:26 PDT 2019
Author: tstellar
Date: Wed Jun 5 19:32:26 2019
New Revision: 362669
URL: http://llvm.org/viewvc/llvm-project?rev=362669&view=rev
Log:
Merging r360442:
------------------------------------------------------------------------
r360442 | maskray | 2019-05-10 10:09:25 -0700 (Fri, 10 May 2019) | 12 lines
[MC][ELF] Copy top 3 bits of st_other to .symver aliases
On PowerPC64 ELFv2 ABI, the top 3 bits of st_other encode the local
entry offset. A versioned symbol alias created by .symver should copy
the bits from the source symbol.
This partly fixes PR41048. A full fix needs tracking of .set assignments
and updating st_other fields when finish() is called, see D56586.
Patch by Alfredo Dal'Ava JĂșnior
Differential Revision: https://reviews.llvm.org/D59436
------------------------------------------------------------------------
Added:
llvm/branches/release_80/test/MC/PowerPC/ppc64-localentry-symver.s
Modified:
llvm/branches/release_80/lib/MC/ELFObjectWriter.cpp
Modified: llvm/branches/release_80/lib/MC/ELFObjectWriter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/lib/MC/ELFObjectWriter.cpp?rev=362669&r1=362668&r2=362669&view=diff
==============================================================================
--- llvm/branches/release_80/lib/MC/ELFObjectWriter.cpp (original)
+++ llvm/branches/release_80/lib/MC/ELFObjectWriter.cpp Wed Jun 5 19:32:26 2019
@@ -1271,6 +1271,7 @@ void ELFObjectWriter::executePostLayoutB
// This is the first place we are able to copy this information.
Alias->setExternal(Symbol.isExternal());
Alias->setBinding(Symbol.getBinding());
+ Alias->setOther(Symbol.getOther());
if (!Symbol.isUndefined() && !Rest.startswith("@@@"))
continue;
Added: llvm/branches/release_80/test/MC/PowerPC/ppc64-localentry-symver.s
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_80/test/MC/PowerPC/ppc64-localentry-symver.s?rev=362669&view=auto
==============================================================================
--- llvm/branches/release_80/test/MC/PowerPC/ppc64-localentry-symver.s (added)
+++ llvm/branches/release_80/test/MC/PowerPC/ppc64-localentry-symver.s Wed Jun 5 19:32:26 2019
@@ -0,0 +1,17 @@
+# RUN: llvm-mc -filetype=obj -triple=powerpc64-unknown-freebsd13.0 %s -o %t
+# RUN: llvm-objdump -t %t | FileCheck %s
+
+# CHECK: 0000000000000000 gw F .text 00000000 0x60 __impl_foo
+# CHECK: 0000000000000000 g F .text 00000000 0x60 foo
+# CHECK: 0000000000000000 gw F .text 00000000 0x60 foo at FBSD_1.1
+
+.globl foo
+.type foo, at function
+foo:
+ nop
+ nop
+ .localentry foo, 8
+
+.symver __impl_foo, foo at FBSD_1.1
+.weak __impl_foo
+.set __impl_foo, foo
More information about the llvm-branch-commits
mailing list