https://sourceware.org/bugzilla/show_bug.cgi?id=23837

--- Comment #1 from John David Anglin <danglin at gcc dot gnu.org> ---
The problem occurs in getting the start callinfo symbol used for the
parisc unwind data.  The following hunk of code in gbc.c isn't quite
right:

#if defined(__hppa__) /* Courtesy of Lamont Jones */
/* the calling sequence */
struct regs {
        void *callee_saves[16];
};
void hppa_save_regs(struct regs);

/* the code */

        asm(".code");
        asm(".export hppa_save_regs, entry");
        asm(".label     hppa_save_regs");
        asm(".proc");
        asm(".callinfo");
        asm(".entry");

        asm("stw        %r3,0(%arg0)");
        asm("stw        %r4,4(%arg0)");
        asm("stw        %r5,8(%arg0)");
        asm("stw        %r6,12(%arg0)");
        asm("stw        %r7,16(%arg0)");
        asm("stw        %r8,20(%arg0)");
        asm("stw        %r9,24(%arg0)");
        asm("stw        %r10,28(%arg0)");
        asm("stw        %r11,32(%arg0)");
        asm("stw        %r12,36(%arg0)");
        asm("stw        %r13,40(%arg0)");
        asm("stw        %r14,44(%arg0)");
        asm("stw        %r15,48(%arg0)");
        asm("stw        %r16,52(%arg0)");
        asm("stw        %r17,56(%arg0)");
        asm("bv 0(%rp)");
        asm("stw        %r18,60(%arg0)");

        asm(".exit");
        asm(".procend");
        asm(".end");
#endif

The line "asm(".label     hppa_save_regs");" should be before the .proc line.
As a result, gas finds the label marking the start of text in the object.  It
doesn't seem to have a valid frag.

I think the above code has been the same for many years.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to