Subject: toolchain/20924: vax assembler checking for byte offsets causes build error
To: None <gnats-bugs@gnats.netbsd.org>
From: None <he@netbsd.org>
List: netbsd-bugs
Date: 03/28/2003 20:58:03
>Number: 20924
>Category: toolchain
>Synopsis: vax assembler checking for byte offsets causes build error
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: toolchain-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Mar 28 11:59:00 PST 2003
>Closed-Date:
>Last-Modified:
>Originator: Havard Eidnes
>Release: NetBSD 1.6Q Mar 28 2003
>Organization:
Unorganized, Inc.
>Environment:
Host system: NetBSD stegg.urc.uninett.no 1.6P NetBSD 1.6P (STEGG.MP) #1: Fri Mar 14 14:58:00 CET 2003 he@stegg.urc.uninett.no:/sys/arch/i386/compile/STEGG.MP i386
Architecture: vax
Machine: vax
>Description:
Assembly of intvec.S fails with error:
/usr/tools/bin/vax--netbsdelf-gcc -x assembler-with-cpp -traditional-cpp -mno-asm-pic -D_LOCORE -D_VAX_INLINE_ -I. -I/usr/users/he/src/sys/arch -I/usr/users/he/src/sys -nostdinc -DLKM -DMAXUSERS=8 -D_KERNEL -D_KERNEL_OPT -c /usr/users/he
/src/sys/arch/vax/vax/intvec.S
/usr/users/he/src/sys/arch/vax/vax/intvec.S: Assembler messages:
/usr/users/he/src/sys/arch/vax/vax/intvec.S:246: Error: value of -721 too large for field of 1 bytes at 720
*** Error code 1
Stop.
Matt Thomas recommended use of "jbr" or "brw" instead of "brb"
as a workaround, which is going to be committed shortly.
I'm uncertain as to whether it's appropriate for the assembler
to generate this warning -- isn't it in general the linker's
job to check that relative relocations are within range?
It appears that the assembler compares "0" (value without
patched-up relocation?) as the target of the offset when
emitting the error message.
>How-To-Repeat:
Try to compile a vax kernel with version 1.3 of intvec.S
with new binutils installed. Watch it fail with above error
message.
>Fix:
Don't know, out of my leage. Workaround by using "brw" for
the moment will be committed shortly.
>Release-Note:
>Audit-Trail:
>Unformatted: