Make build failure on NetBSD/i386 1.2

Andreas Gustafsson gson@araneus.fi
Fri Dec 12 10:18:00 GMT 1997


law@cygnus.com said:
>   > I just tried building egcs-1.0 on NetBSD/i386 1.2
>   > (i386-unknown-netbsd-1.2) using the system's stock cc, which is
>   > actually gcc 2.7.2.  
> [ ... ]
>   >    /var/tmp/cc028591.s: Assembler messages:
>   >    /var/tmp/cc028591.s:153: Error: Unknown expression: symbols LECIE1 and L
>   > SCIE1 are in different frags.
>   >    *** Error code 1
> Hmmm, your assembler might need to be updated.  That's the only thing that comes
> immediately to mind.

Hmm, updated to what?  The NetBSD-1.3_ALPHA assembler turned out to have
the same problem as the 1.2 one (both are based on gas-1.92.3).

I tried installing gas from binutils-2.8.1, but that didn't work
either because it does not recognize the "-k" option which egcs passes
to the assembler when building shared libraries with -fpic on NetBSD
systems.

In case it helps, here's the egcs-generated assembler code that
triggers the problem.  Apparently the assembler is confused by the
".align 2" directive occurring between two labels whose difference is
computed (the error disappears if you remove the ".align 2").

___FRAME_BEGIN__:
        .long LLCIE1

LSCIE1:
        .long 0

                .byte   0x1
                .byte   0x0
                .byte   0x1
                .byte   0x7c
                .byte   0x8
                .byte   0xc
                .byte   0x5
                .byte   0x4
                .byte   0x88
                .byte   0x1
        .align 2
LECIE1:
        .set    LLCIE1,LECIE1-LSCIE1


-- 
Andreas Gustafsson, gson@araneus.fi



More information about the Gcc mailing list