[llvm] r312294 - [WebAssembly] Fix getSymbolValue() for data symbols
Bill Seurer via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 5 08:17:50 PDT 2017
This patch breaks things on powerpc64 big endian (works fine on little
endian). See
http://lab.llvm.org:8011/builders/clang-ppc64be-linux/builds/10335
For example:
******************** TEST 'LLVM :: tools/llvm-nm/wasm/exports.yaml'
FAILED ********************
Script:
--
/home/buildbots/ppc64be-clang-test/clang-ppc64be/stage1/./bin/yaml2obj <
/home/buildbots/ppc64be-clang-test/clang-ppc64be/llvm/test/tools/llvm-nm/wasm/exports.yaml
| /home/buildbots/ppc64be-clang-test/clang-ppc64be/stage1/./bin/llvm-nm
- |
/home/buildbots/ppc64be-clang-test/clang-ppc64be/stage1/./bin/FileCheck
/home/buildbots/ppc64be-clang-test/clang-ppc64be/llvm/test/tools/llvm-nm/wasm/exports.yaml
--
Exit Code: 1
Command Output (stderr):
--
/home/buildbots/ppc64be-clang-test/clang-ppc64be/llvm/test/tools/llvm-nm/wasm/exports.yaml:43:10:
error: expected string not found in input
# CHECK: 00000400 D bar
^
<stdin>:1:1: note: scanning from here
00000000 D bar
^
--
On 08/31/2017 06:22 PM, Sam Clegg via llvm-commits wrote:
> Author: sbc
> Date: Thu Aug 31 16:22:44 2017
> New Revision: 312294
>
> URL: https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject-3Frev-3D312294-26view-3Drev&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=08Lou2FfvTHzIjPRPuZtkUo7poBdUsd2pP3L7P8swck&m=N2mDk00Hq3RPVuu3wnU39zjWdLHzDfFpe34KIX7n7G4&s=L-QGmfsra7uMLXZYlnaz1j_vCKuYV-qXAS0I33w2U5c&e=
> Log:
> [WebAssembly] Fix getSymbolValue() for data symbols
>
> This is mostly a fix for the output of `llvm-nm`
>
> See Bug 34392: https://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.llvm.org__show-5Fbug.cgi-3Fid-3D34392&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=08Lou2FfvTHzIjPRPuZtkUo7poBdUsd2pP3L7P8swck&m=N2mDk00Hq3RPVuu3wnU39zjWdLHzDfFpe34KIX7n7G4&s=HaJ-tUeGVEpo2AjGxnM76idU6XaOOpmXey6afeH4fNU&e=
>
> Differential Revision: https://urldefense.proofpoint.com/v2/url?u=https-3A__reviews.llvm.org_D37359&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=08Lou2FfvTHzIjPRPuZtkUo7poBdUsd2pP3L7P8swck&m=N2mDk00Hq3RPVuu3wnU39zjWdLHzDfFpe34KIX7n7G4&s=OVlmNWRMQixOOFdNC01AIz1E21QlfmLotVJb9JTuG98&e=
>
> Modified:
> llvm/trunk/lib/Object/WasmObjectFile.cpp
> llvm/trunk/test/Object/nm-trivial-object.test
> llvm/trunk/test/tools/llvm-nm/wasm/exports.yaml
> llvm/trunk/test/tools/llvm-nm/wasm/weak-symbols.yaml
> llvm/trunk/test/tools/llvm-objdump/WebAssembly/symbol-table.test
>
> Modified: llvm/trunk/lib/Object/WasmObjectFile.cpp
> URL: https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_Object_WasmObjectFile.cpp-3Frev-3D312294-26r1-3D312293-26r2-3D312294-26view-3Ddiff&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=08Lou2FfvTHzIjPRPuZtkUo7poBdUsd2pP3L7P8swck&m=N2mDk00Hq3RPVuu3wnU39zjWdLHzDfFpe34KIX7n7G4&s=hSZ7-RHwu9srJzJ9y0tkrEIU2bk4cHufxjnPwqwFS6I&e=
> ==============================================================================
> --- llvm/trunk/lib/Object/WasmObjectFile.cpp (original)
> +++ llvm/trunk/lib/Object/WasmObjectFile.cpp Thu Aug 31 16:22:44 2017
> @@ -786,8 +786,13 @@ uint64_t WasmObjectFile::getSymbolValueI
> case WasmSymbol::SymbolType::GLOBAL_IMPORT:
> return 0;
> case WasmSymbol::SymbolType::FUNCTION_EXPORT:
> - case WasmSymbol::SymbolType::GLOBAL_EXPORT:
> return Exports[Sym.ElementIndex].Index;
> + case WasmSymbol::SymbolType::GLOBAL_EXPORT: {
> + uint32_t GlobalIndex = Exports[Sym.ElementIndex].Index;
> + assert(GlobalIndex < Globals.size());
> + const wasm::WasmGlobal& Global = Globals[GlobalIndex];
> + return Global.InitExpr.Value.Int32;
> + }
> case WasmSymbol::SymbolType::DEBUG_FUNCTION_NAME:
> return Sym.ElementIndex;
> }
>
> Modified: llvm/trunk/test/Object/nm-trivial-object.test
> URL: https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_test_Object_nm-2Dtrivial-2Dobject.test-3Frev-3D312294-26r1-3D312293-26r2-3D312294-26view-3Ddiff&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=08Lou2FfvTHzIjPRPuZtkUo7poBdUsd2pP3L7P8swck&m=N2mDk00Hq3RPVuu3wnU39zjWdLHzDfFpe34KIX7n7G4&s=AeT7RmlIoL1Vp20Svjtg7qG-nrObeFgxtkiTK0IfMzM&e=
> ==============================================================================
> --- llvm/trunk/test/Object/nm-trivial-object.test (original)
> +++ llvm/trunk/test/Object/nm-trivial-object.test Thu Aug 31 16:22:44 2017
> @@ -62,7 +62,7 @@ COFF32-NEXT: U _puts
> WASM: U SomeOtherFunction
> WASM-NEXT: 00000002 T main
> WASM-NEXT: U puts
> -WASM-NEXT: 00000001 D var
> +WASM-NEXT: 00000010 D var
>
> COFF64: 00000000 d .data
> COFF64-NEXT: 00000000 t .text
>
> Modified: llvm/trunk/test/tools/llvm-nm/wasm/exports.yaml
> URL: https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_test_tools_llvm-2Dnm_wasm_exports.yaml-3Frev-3D312294-26r1-3D312293-26r2-3D312294-26view-3Ddiff&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=08Lou2FfvTHzIjPRPuZtkUo7poBdUsd2pP3L7P8swck&m=N2mDk00Hq3RPVuu3wnU39zjWdLHzDfFpe34KIX7n7G4&s=ukq_YTlH0h04Fvjwr6DULghMXrYc6eU4Yc6M6kWcfAQ&e=
> ==============================================================================
> --- llvm/trunk/test/tools/llvm-nm/wasm/exports.yaml (original)
> +++ llvm/trunk/test/tools/llvm-nm/wasm/exports.yaml Thu Aug 31 16:22:44 2017
> @@ -40,5 +40,5 @@ Sections:
> Kind: GLOBAL
> Index: 0x00000002
>
> -# CHECK: 00000002 D bar
> +# CHECK: 00000400 D bar
> # CHECK: 00000004 T foo
>
> Modified: llvm/trunk/test/tools/llvm-nm/wasm/weak-symbols.yaml
> URL: https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_test_tools_llvm-2Dnm_wasm_weak-2Dsymbols.yaml-3Frev-3D312294-26r1-3D312293-26r2-3D312294-26view-3Ddiff&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=08Lou2FfvTHzIjPRPuZtkUo7poBdUsd2pP3L7P8swck&m=N2mDk00Hq3RPVuu3wnU39zjWdLHzDfFpe34KIX7n7G4&s=ce662DZzCeyaKTEdtZSTjQrGIkvGJKxdZzoHMHIRQl8&e=
> ==============================================================================
> --- llvm/trunk/test/tools/llvm-nm/wasm/weak-symbols.yaml (original)
> +++ llvm/trunk/test/tools/llvm-nm/wasm/weak-symbols.yaml Thu Aug 31 16:22:44 2017
> @@ -64,7 +64,7 @@ Sections:
> - Name: weak_import_data
> Flags: 1
>
> -# CHECK: 00000002 W weak_global_data
> +# CHECK: 00000400 W weak_global_data
> # CHECK: 00000004 W weak_global_func
> # CHECK: w weak_import_data
> # CHECK: w weak_import_func
>
> Modified: llvm/trunk/test/tools/llvm-objdump/WebAssembly/symbol-table.test
> URL: https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_test_tools_llvm-2Dobjdump_WebAssembly_symbol-2Dtable.test-3Frev-3D312294-26r1-3D312293-26r2-3D312294-26view-3Ddiff&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=08Lou2FfvTHzIjPRPuZtkUo7poBdUsd2pP3L7P8swck&m=N2mDk00Hq3RPVuu3wnU39zjWdLHzDfFpe34KIX7n7G4&s=HdlEOeEbtBhjBCND95HCb3WP3cvK97_m4UY4yon7Jpc&e=
> ==============================================================================
> --- llvm/trunk/test/tools/llvm-objdump/WebAssembly/symbol-table.test (original)
> +++ llvm/trunk/test/tools/llvm-objdump/WebAssembly/symbol-table.test Thu Aug 31 16:22:44 2017
> @@ -4,7 +4,7 @@ CHECK: SYMBOL TABLE:
> CHECK-NEXT: 00000000 l F IMPORT puts
> CHECK-NEXT: 00000000 l F IMPORT SomeOtherFunction
> CHECK-NEXT: 00000002 g F EXPORT main
> -CHECK-NEXT: 00000001 g EXPORT var
> +CHECK-NEXT: 00000010 g EXPORT var
> CHECK-NEXT: 00000000 l F name puts
> CHECK-NEXT: 00000001 l F name SomeOtherFunction
> CHECK-NEXT: 00000002 l F name main
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_llvm-2Dcommits&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=08Lou2FfvTHzIjPRPuZtkUo7poBdUsd2pP3L7P8swck&m=N2mDk00Hq3RPVuu3wnU39zjWdLHzDfFpe34KIX7n7G4&s=_Q8yc-IhS7qaHXldpRabjAbkstDsP-cm6pRxY-4IeeA&e=
>
--
-Bill Seurer
More information about the llvm-commits
mailing list