bug-binutils
[Top][All Lists]
Advanced

[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.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]