[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNU Guile 1.8.4 released
From: |
Neil Jerram |
Subject: |
Re: GNU Guile 1.8.4 released |
Date: |
Wed, 05 Mar 2008 00:13:10 +0000 |
User-agent: |
Gnus/5.110006 (No Gnus v0.6) Emacs/21.4 (gnu/linux) |
Neil Jerram <address@hidden> writes:
> Looking into ia64 first... On my test machine, and without the Debian
> patches, I'm seeing other problems that prevent me from reaching the
> Illegal instruction that your build is getting.
>
> One of them is: Undefined reference to .L16, when trying to link
> libguile/.libs/guile
>
> This seems related to the use of a union, containing several different
> pointer types, in uvec_print() in libguile/srfi-4.c. Specifically, it
> seems that the .L16 reference is pulled in by pointer dereferences
> like the "*np.u8" in
>
> case SCM_UVEC_U8: scm_uintprint (*np.u8, 10, port); np.u8++; break;
>
> If I replace "*np.u8" by "1", there is no longer any undefined
> reference.
> If I declare a separate variable "scm_t_uint8 *u8", and use that
> instead of np.u8, there is no longer any undefined
> reference.
For the record, and future searchers, this appears to be a GCC bug in
GCC version 3.4.2. Given the attached program (which is cut down from
uvec_print in srfi-4.c), GCC 3.4.2 gives:
$ gcc -g -O2 -Wall -Wmissing-prototypes njtest.c
/tmp/cc42dKyL.o(.text+0x20): In function `uvec_print':
/u/guest/neil/guile-1.8.4-debugging/libguile/njtest.c:23: undefined reference
to `.L9'
collect2: ld returned 1 exit status
$ gcc -v
Reading specs from
/export/local/ia64-linux/bin/../lib/gcc/ia64-unknown-linux-gnu/3.4.2/specs
Configured with: ./configure
Thread model: posix
gcc version 3.4.2
But GCC 4.1.2 is fine:
$ gcc4 -g -O2 -Wall -Wmissing-prototypes njtest.c
(no output)
$ gcc4 -v
Using built-in specs.
Target: ia64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--enable-checking=release --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --with-gxx-include-dir=/usr/include/c++/3.4.3
--enable-libgcj-multifile --enable-languages=c,c++,java,f95
--enable-java-awt=gtk --disable-dssi
--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre
--host=ia64-redhat-linux
Thread model: posix
gcc version 4.1.2 20070626 (Red Hat 4.1.2-14)
Regards,
Neil
njtest.c
Description: Text Data
- Re: GNU Guile 1.8.4 released,
Neil Jerram <=