#14842: Error building bootstraping libicuio while cross-compiling ARM on Ubuntu
18.04
----------------------------+----------------------------
Reporter: pemdp | Owner: bonefish
Type: bug | Status: new
Priority: normal | Milestone: Unscheduled
Component: Build System | Version: R1/Development
Resolution: | Keywords:
Blocked By: | Blocking:
Has a Patch: 0 | Platform: arm
----------------------------+----------------------------
Comment (by kallisti5):
Here's a -fno-pic vs undefined pic flags:
{{{
root@1fbcb1be4cfc:/work/generated.arm/cross-tools-arm/bin# ./arm-unknown-
haiku-g++ -fno-pic -Og foobar.cpp -c -o foobar-nopic.o
root@1fbcb1be4cfc:/work/generated.arm/cross-tools-arm/bin# ./arm-unknown-
haiku-g++ -Og foobar.cpp -c -o foobar-pic.o
root@1fbcb1be4cfc:/work/generated.arm/cross-tools-arm/bin# ./arm-unknown-
haiku-objdump -dr foobar-pic.o
foobar-pic.o: file format elf32-littlearm
Disassembly of section .text:
00000000 <_Z6foobarv>:
0: e59f3020 ldr r3, [pc, #32] ; 28 <_Z6foobarv+0x28>
4: e08f3003 add r3, pc, r3
8: e59f201c ldr r2, [pc, #28] ; 2c <_Z6foobarv+0x2c>
c: e7932002 ldr r2, [r3, r2]
10: e5920000 ldr r0, [r2]
14: e59f2014 ldr r2, [pc, #20] ; 30 <_Z6foobarv+0x30>
18: e7933002 ldr r3, [r3, r2]
1c: e5933000 ldr r3, [r3]
20: e0800003 add r0, r0, r3
24: e12fff1e bx lr
28: 0000001c .word 0x0000001c
28: R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_
...
2c: R_ARM_GOT32 foo
30: R_ARM_GOT32 bar
root@1fbcb1be4cfc:/work/generated.arm/cross-tools-arm/bin# ./arm-unknown-
haiku-objdump -dr foobar-nopic.o
foobar-nopic.o: file format elf32-littlearm
Disassembly of section .text:
00000000 <_Z6foobarv>:
0: e3003000 movw r3, #0
0: R_ARM_MOVW_ABS_NC foo
4: e3403000 movt r3, #0
4: R_ARM_MOVT_ABS foo
8: e5930000 ldr r0, [r3]
c: e3003000 movw r3, #0
c: R_ARM_MOVW_ABS_NC bar
10: e3403000 movt r3, #0
10: R_ARM_MOVT_ABS bar
14: e5933000 ldr r3, [r3]
18: e0800003 add r0, r0, r3
1c: e12fff1e bx lr
}}}
--
Ticket URL: <https://dev.haiku-os.org/ticket/14842#comment:12>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.