[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Assembler unable to handle relative offsets in PIC code under cross-
From: |
Ayonam Ray |
Subject: |
Re: Assembler unable to handle relative offsets in PIC code under cross-compiling env. |
Date: |
Fri, 3 Feb 2006 16:20:07 +0530 (IST) |
The assembly fragment in question looks like this:
<snip>
leaq .L5465(%rip), %rax
leaq (%rax,%rdx), %rax
jmp *%rax
.section .rodata
.align 4
.align 4
.L5465:
.long .L5457-.+(.-.L5465)
.long .L5458-.+(.-.L5465) <<<<<<- Problem first reported here
.long .L5459-.+(.-.L5465)
.long .L5460-.+(.-.L5465)
.long .L5461-.+(.-.L5465)
.long .L5462-.+(.-.L5465)
.long .L5463-.+(.-.L5465)
.long .L5464-.+(.-.L5465)
.section
.gnu.linkonce.t._ZNK6Layout12StdTransformIiE9transformIdEEKNS_5PointIT_EERS6_
.L5457:
.loc 70 295 0
movq -16(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -32(%rbp)
movq -16(%rbp), %rax
movsd 8(%rax), %xmm0
movsd %xmm0, -24(%rbp)
jmp .L5456
.L5458:
.loc 70 296 0
movq -16(%rbp), %rax
movsd 8(%rax), %xmm1
leaq .LC115(%rip), %rax
movsd (%rax), %xmm0
xorpd %xmm1, %xmm0
movsd %xmm0, -32(%rbp)
movq -16(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -24(%rbp)
jmp .L5456
.L5459:
.loc 70 297 0
movq -16(%rbp), %rax
movsd (%rax), %xmm1
leaq .LC115(%rip), %rax
<snipped>
The point of failure is marked with the arrows on the right. This looks like
the jump table for a switch case statement.
Any help on this would be greatly appreciated.