<html>
<head>
<base href="https://bugs.llvm.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - "32-bit RIP relative reference out of range" error when linking large binary with code coverage instrumentation on macOS"
href="https://bugs.llvm.org/show_bug.cgi?id=35701">35701</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>"32-bit RIP relative reference out of range" error when linking large binary with code coverage instrumentation on macOS
</td>
</tr>
<tr>
<th>Product</th>
<td>new-bugs
</td>
</tr>
<tr>
<th>Version</th>
<td>unspecified
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>enhancement
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>new bugs
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>mmoroz@google.com
</td>
</tr>
<tr>
<th>CC</th>
<td>llvm-bugs@lists.llvm.org
</td>
</tr></table>
<p>
<div>
<pre>We're getting the following error while building a large binary on macOS with
code coverage instrumentation:
FAILED: v8_context_snapshot_generator
export DEVELOPER_DIR=/Users/liaoyuke/chromium/src/build/mac_files/Xcode.app;
TOOL_VERSION=1505258040 ../../build/toolchain/mac/linker_driver.py
../../third_party/llvm-build/Release+Asserts/bin/clang++ -stdlib=libc++ -arch
x86_64 -segprot PROTECTED_MEMORY rw r -Werror -isysroot
../../build/mac_files/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk
-mmacosx-version-min=10.9.0 -fprofile-instr-generate -Wl,-ObjC
-L../../build/mac_files/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/lib
-o "./v8_context_snapshot_generator"
-Wl,-filelist,"./v8_context_snapshot_generator.rsp" -framework Cocoa
-framework Foundation -framework IOKit -framework Security -framework
SystemConfiguration -framework CoreFoundation -framework ApplicationServices
-framework AppKit -lbsm -framework CFNetwork -framework CoreServices -lresolv
-framework CoreGraphics -framework CoreText -framework Accelerate -framework
AudioUnit -framework Carbon -framework CoreVideo -framework IOSurface
-framework AudioToolbox -framework CoreAudio -framework OpenGL -framework
Quartz -framework AVFoundation -framework CoreMedia -framework VideoToolbox
-framework QuartzCore -framework DiskArbitration -lsandbox -framework
IOBluetooth
final section layout:
__TEXT/__text addr=0x100002900, size=0x1025492D, fileOffset=0x00002900,
type=1
__TEXT/__stubs addr=0x11025722E, size=0x00001926, fileOffset=0x1025722E,
type=28
__TEXT/__stub_helper addr=0x110258B54, size=0x000029BE,
fileOffset=0x10258B54, type=32
__TEXT/__cstring addr=0x11025B520, size=0x003FFBCC, fileOffset=0x1025B520,
type=13
__TEXT/__const addr=0x11065B100, size=0x0024D228, fileOffset=0x1065B100,
type=0
__TEXT/__ustring addr=0x1108A8328, size=0x00000D78, fileOffset=0x108A8328,
type=16
__TEXT/__gcc_except_tab addr=0x1108A90A0, size=0x0001168C,
fileOffset=0x108A90A0, type=0
__TEXT/__objc_methname addr=0x1108BA72C, size=0x00005A97,
fileOffset=0x108BA72C, type=14
__TEXT/__objc_classname addr=0x1108C01C3, size=0x000006F5,
fileOffset=0x108C01C3, type=14
__TEXT/__objc_methtype addr=0x1108C08B8, size=0x0000F655,
fileOffset=0x108C08B8, type=14
__TEXT/__unwind_info addr=0x1108CFF10, size=0x000463B0,
fileOffset=0x108CFF10, type=22
__TEXT/__eh_frame addr=0x1109162C0, size=0x00045CF0, fileOffset=0x109162C0,
type=19
__DATA/__nl_symbol_ptr addr=0x11095C000, size=0x00000010,
fileOffset=0x1095C000, type=29
__DATA/__got addr=0x11095C010, size=0x00000CF0, fileOffset=0x1095C010,
type=29
__DATA/__la_symbol_ptr addr=0x11095CD00, size=0x00002188,
fileOffset=0x1095CD00, type=27
__DATA/__mod_init_func addr=0x11095EE88, size=0x00000088,
fileOffset=0x1095EE88, type=33
__DATA/__const addr=0x11095EF20, size=0x00264230, fileOffset=0x1095EF20,
type=0
__DATA/__cfstring addr=0x110BC3150, size=0x00000F60, fileOffset=0x10BC3150,
type=17
__DATA/__objc_classlist addr=0x110BC40B0, size=0x00000190,
fileOffset=0x10BC40B0, type=0
__DATA/__objc_catlist addr=0x110BC4240, size=0x00000078,
fileOffset=0x10BC4240, type=24
__DATA/__objc_protolist addr=0x110BC42B8, size=0x00000068,
fileOffset=0x10BC42B8, type=0
__DATA/__objc_imageinfo addr=0x110BC4320, size=0x00000008,
fileOffset=0x10BC4320, type=0
__DATA/__objc_const addr=0x110BC4328, size=0x00007368,
fileOffset=0x10BC4328, type=0
__DATA/__objc_selrefs addr=0x110BCB690, size=0x00001980,
fileOffset=0x10BCB690, type=15
__DATA/__objc_protorefs addr=0x110BCD010, size=0x00000020,
fileOffset=0x10BCD010, type=0
__DATA/__objc_classrefs addr=0x110BCD030, size=0x00000348,
fileOffset=0x10BCD030, type=23
__DATA/__objc_superrefs addr=0x110BCD378, size=0x00000130,
fileOffset=0x10BCD378, type=0
__DATA/__objc_ivar addr=0x110BCD4A8, size=0x00000310,
fileOffset=0x10BCD4A8, type=0
__DATA/__objc_data addr=0x110BCD7B8, size=0x00000FA0,
fileOffset=0x10BCD7B8, type=0
__DATA/__data addr=0x110BCE760, size=0x000FBDD0, fileOffset=0x10BCE760,
type=0
__DATA/__llvm_prf_cnts addr=0x110CCA530, size=0x00F7C958,
fileOffset=0x10CCA530, type=0
__DATA/__llvm_prf_data addr=0x111C46E88, size=0x029A2EE0,
fileOffset=0x11C46E88, type=0
__DATA/__llvm_prf_names addr=0x1145E9D70, size=0x280817B6,
fileOffset=0x145E9D70, type=0
__DATA/__thread_vars addr=0x13C66B528, size=0x00000030,
fileOffset=0x3C66B528, type=38
__DATA/crashpad_info addr=0x13C66B558, size=0x00000038,
fileOffset=0x3C66B558, type=0
__DATA/__llvm_prf_vnds addr=0x13C66B590, size=0x00006000,
fileOffset=0x3C66B590, type=0
__DATA/__thread_data addr=0x13C671590, size=0x00000010,
fileOffset=0x3C671590, type=40
__DATA/__thread_bss addr=0x13C6715A0, size=0x00000004,
fileOffset=0x00000000, type=39
__DATA/__bss addr=0x13C6715B0, size=0x000AF07C, fileOffset=0x00000000,
type=25
__DATA/__common addr=0x13C720640, size=0x00087F3C, fileOffset=0x00000000,
type=25
__DATA/__huge addr=0x13C7A857C, size=0x00000000, fileOffset=0x00000000,
type=25
__LLVM_COV/__llvm_covmap addr=0x13C7A9000, size=0x76810924,
fileOffset=0x3C672000, type=0
PROTECTED_MEMORY/protected_memory addr=0x1B2FBA000, size=0x00000010,
fileOffset=0xB2E83000, type=0
ld: 32-bit RIP relative reference out of range (2845947809 max is +/-4GB): from
__ZN2gl23SetGLGetProcAddressProcEPFPFvvEPKcE (0x10959E780) to
__ZN2gl12_GLOBAL__N_118g_get_proc_addressE (0x1B2FBA008) in
'__ZN2gl23SetGLGetProcAddressProcEPFPFvvEPKcE' from
obj/ui/gl/libgl_wrapper.a(gl_implementation.o) for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Is there anything we can do to avoid that issue? As I understand, __llvm_covmap
referenced are RIP relative, but is it really necessary? The same binary links
successfully on Linux, even though __llvm_covmap section is even larger over
there.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>