[llvm] r243096 - [dsymutil] Implement support for universal mach-o object files.
İsmail Dönmez
ismail at donmez.ws
Fri Jul 24 03:36:27 PDT 2015
Hi,
On Fri, Jul 24, 2015 at 9:41 AM, Frederic Riss <friss at apple.com> wrote:
> Author: friss
> Date: Fri Jul 24 01:41:11 2015
> New Revision: 243096
>
> URL: http://llvm.org/viewvc/llvm-project?rev=243096&view=rev
> Log:
> [dsymutil] Implement support for universal mach-o object files.
>
> This patch allows llvm-dsymutil to read universal (aka fat) macho object
> files and archives. The patch touches nearly everything in the BinaryHolder,
> but it is fairly mechinical: the methods that returned MemoryBufferRefs or
> ObjectFiles now return a vector of those, and the high-level access function
> takes a triple argument to select the architecture.
>
> There is no support yet for handling fat executables and thus no support for
> writing fat object files.
>
> Added:
> llvm/trunk/test/tools/dsymutil/ARM/
> llvm/trunk/test/tools/dsymutil/ARM/fat-arch-not-found.test
> llvm/trunk/test/tools/dsymutil/ARM/lit.local.cfg
> llvm/trunk/test/tools/dsymutil/Inputs/fat-test.c
> llvm/trunk/test/tools/dsymutil/Inputs/fat-test.o
> llvm/trunk/test/tools/dsymutil/Inputs/libfat-test.a
> llvm/trunk/test/tools/dsymutil/X86/fat-archive-input-i386.test
> llvm/trunk/test/tools/dsymutil/X86/fat-object-input-x86_64.test
> llvm/trunk/test/tools/dsymutil/X86/fat-object-input-x86_64h.test
> Modified:
> llvm/trunk/tools/dsymutil/BinaryHolder.cpp
> llvm/trunk/tools/dsymutil/BinaryHolder.h
> llvm/trunk/tools/dsymutil/DebugMap.cpp
> llvm/trunk/tools/dsymutil/DwarfLinker.cpp
> llvm/trunk/tools/dsymutil/MachODebugMapParser.cpp
>
> Added: llvm/trunk/test/tools/dsymutil/ARM/fat-arch-not-found.test
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/dsymutil/ARM/fat-arch-not-found.test?rev=243096&view=auto
> ==============================================================================
> --- llvm/trunk/test/tools/dsymutil/ARM/fat-arch-not-found.test (added)
> +++ llvm/trunk/test/tools/dsymutil/ARM/fat-arch-not-found.test Fri Jul 24 01:41:11 2015
> @@ -0,0 +1,13 @@
> +# REQUIRES: object-emission
> +# RUN: llvm-dsymutil -oso-prepend-path=%p/../Inputs -y %s -o - 2>&1 | FileCheck %s
> +
> +---
> +triple: 'armv7-apple-darwin'
> +objects:
> + - filename: libfat-test.a(fat-test.o)
> + symbols:
> + - { sym: _armv7_var, objAddr: 0x0, binAddr: 0x1000, size: 0x4 }
> +...
> +
> +# CHECK: libfat-test.a(fat-test.o): No object file for requested architecture
> +
This test fails on my Linux x64 bot:
******************** TEST 'LLVM ::
tools/dsymutil/ARM/fat-arch-not-found.test' FAILED
********************
Script:
--
/home/abuild/rpmbuild/BUILD/llvm/stage2/./bin/llvm-dsymutil
-oso-prepend-path=/home/abuild/rpmbuild/BUILD/llvm/test/tools/dsymutil/ARM/../Inputs
-y /home/abuild/rpmbuild/BUILD/llvm/test/tools/dsymutil/ARM/fat-arch-not-found.test
-o - 2>&1 | /home/abuild/rpmbuild/BUILD/llvm/stage2/./bin/FileCheck
/home/abuild/rpmbuild/BUILD/llvm/test/tools/dsymutil/ARM/fat-arch-not-found.test
--
Exit Code: 1
Command Output (stderr):
--
/home/abuild/rpmbuild/BUILD/llvm/test/tools/dsymutil/ARM/fat-arch-not-found.test:12:10:
error: expected string not found in input
# CHECK: libfat-test.a(fat-test.o): No object file for requested architecture
^
<stdin>:1:1: note: scanning from here
while processing dwarf streamer init:
^
--
The complete log is available at
https://build.opensuse.org/build/home:namtrac:clang/openSUSE_13.2/x86_64/llvm-clang-head/_log
Thanks.
More information about the llvm-commits
mailing list