Peculiar compiler error

Mouse <[email protected]>
Newsgroups gmane.os.netbsd.ports.i386
Message-ID <[email protected]>
This is all under 5.2 i386; if you aren't inclined to have anything to
do with that, you can stop reading now without loss.

I made a change to 5.2 and tried to build.  (Okay, actually, to my
somewhat patched 5.2; I don't _think_ any of my other changes are
relevant, but this is cryptic enough I'm unsure.)  It failed with a
compiler error.  Thing is, I can't see how the compiler error is
related to the change.  I'm wondering if anyone can suggest a direction
for my investigation.

The change: 64-bit time_t, basically.  I made time_t, and struct
timeval's tv_sec member, long long int instead of long int.  I changed
numerous printf format strings to match, adding casts to the relevant
arguments so that the code does not depend on either of the type
changes.  I verified that the system builds just fine with all the
other changes but with _BSD_TIME_T_ and tv_sec still just long.

But then I add those two type changes (sys/arch/i386/include/ansi.h and
sys/sys/time.h), make all the lint blather about "may lose precision"
nonfatal (by commenting the code that adds -w to LINTFLAGS in
lib/libc/Makefile.inc on i386), and...

#      link  compile_et/compile_et
/home/mouse/i386/OBJDIR/tooldir.NetBSD-5.2-i386/bin/i386--netbsdelf-gcc  -B/home/mouse/i386/DESTDIR/usr/lib/ -B/home/mouse/i386/DESTDIR/usr/lib/  -Wl,-nostdlib    -Wl,--fatal-warnings     -o compile_et  compile_et.o parse.o lex.o -L/home/mouse/i386/OBJDIR/lib/libvers -lvers -lroken -lcrypt       -L/home/mouse/i386/DESTDIR/usr/lib   -Wl,-rpath-link,/home/mouse/i386/DESTDIR/lib  -L/home/mouse/i386/DESTDIR/lib -Wl,-rpath-link,/home/mouse/i386/DESTDIR/usr/lib  -L/home/mouse/i386/DESTDIR/usr/lib
/home/mouse/i386/OBJDIR/tooldir.NetBSD-5.2-i386/lib/gcc/i386--netbsdelf/4.1.3/../../../../i386--netbsdelf/bin/ld: parse.o(.text+0x209): unresolvable relocation against symbol `yyval'
/home/mouse/i386/OBJDIR/tooldir.NetBSD-5.2-i386/lib/gcc/i386--netbsdelf/4.1.3/../../../../i386--netbsdelf/bin/ld: final link failed: Nonrepresentable section on output
collect2: ld returned 1 exit status

I'm having trouble coming up with a plausible mechanism for the type
changes to produce that linker error, which leaves me rather at sea.

So, any thoughts any of you would care to share?

I haven't yet tried it on any other architecture.  Setting up a 5.2
machine under some other port would, at the moment, take significant
time and effort.

/~\ The ASCII				  Mouse
\ / Ribbon Campaign
 X  Against HTML		[email protected]
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.