From 5ad1cbeecb07c02d5c9e9f27410815556d488452 Mon Sep 17 00:00:00 2001 From: Ed Maste Date: Wed, 7 Sep 2016 17:51:00 +0000 Subject: [PATCH] ELF: add version script void function test case After r280733 we use LLVM's demangler in lld. As a result we no longer have a discrepancy between f() and f(void) on FreeBSD (due to an issue with FreeBSD's system demangler). Restore a test case for a void arg function. Differential Revision: https://reviews.llvm.org/D24305 llvm-svn: 280831 --- lld/test/ELF/version-script-extern.s | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/lld/test/ELF/version-script-extern.s b/lld/test/ELF/version-script-extern.s index 220aded..1b296ef 100644 --- a/lld/test/ELF/version-script-extern.s +++ b/lld/test/ELF/version-script-extern.s @@ -6,6 +6,7 @@ # RUN: extern \"C++\" { \ # RUN: \"foo(int)\"; \ # RUN: \"zed(int)\"; \ +# RUN: \"abc::abc()\"; \ # RUN: }; \ # RUN: }; \ # RUN: LIBSAMPLE_2.0 { \ @@ -54,11 +55,20 @@ # DSO-NEXT: Other: 0 # DSO-NEXT: Section: .text (0x6) # DSO-NEXT: } +# DSO-NEXT: Symbol { +# DSO-NEXT: Name: _ZN3abcC1Ev@@LIBSAMPLE_1.0 +# DSO-NEXT: Value: 0x1003 +# DSO-NEXT: Size: 0 +# DSO-NEXT: Binding: Global (0x1) +# DSO-NEXT: Type: Function (0x2) +# DSO-NEXT: Other: 0 +# DSO-NEXT: Section: .text (0x6) +# DSO-NEXT: } # DSO-NEXT: ] # DSO-NEXT: Version symbols { # DSO-NEXT: Section Name: .gnu.version -# DSO-NEXT: Address: 0x228 -# DSO-NEXT: Offset: 0x228 +# DSO-NEXT: Address: 0x240 +# DSO-NEXT: Offset: 0x240 # DSO-NEXT: Link: 1 # DSO-NEXT: Symbols [ # DSO-NEXT: Symbol { @@ -77,6 +87,10 @@ # DSO-NEXT: Version: 2 # DSO-NEXT: Name: _Z3zedi@@LIBSAMPLE_1.0 # DSO-NEXT: } +# DSO-NEXT: Symbol { +# DSO-NEXT: Version: 2 +# DSO-NEXT: Name: _ZN3abcC1Ev@@LIBSAMPLE_1.0 +# DSO-NEXT: } # DSO-NEXT: ] # DSO-NEXT: } @@ -95,3 +109,8 @@ retq .type _Z3zedi,@function _Z3zedi: retq + +.globl _ZN3abcC1Ev +.type _ZN3abcC1Ev,@function +_ZN3abcC1Ev: +retq -- 2.7.4