Port-i386 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Peculiar compiler error

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		mouse%rodents-montreal.org@localhost
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B

Home | Main Index | Thread Index | Old Index