From: Ian L. <Ian...@mq...> - 2004-02-02 09:19:08
|
Hello Dan, I've built a RedHat9 workstation machine to try a clean compile. I was still having problems in various places, so I cut everything back to something that should work; - plain 2.4.24 linux kernel - 20040131 .config (from coLinux download site @ sourceforge) - 20040131 linux patch (from same download). At this stage the kernel build fails in the very last stage of the build process (see below). The build process is very simple ... patch it .. make mrproper .. cp in the .config .. make oldconfig .. make dep .. make bzImage .. nothing fancy at all (no openMosix, no IPSec, no other drivers, etc). I'm going to continue to assume that this is still a compiler issue (you're certain that the 20040131 release compiles against 2.4.24? This almost looks like an include/linking/Makefile issue). The gcc version that RH9 comes out with; [root@host linux]# gcc -v Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/specs Configured with: ../configure --prefix=/usr --mandir=/usr/share/man -- infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with- system-zlib --enable-__cxa_atexit --host=i386-redhat-linux Thread model: posix gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5) You're showing "gcc version 3.3.3 20040125 (prerelease) (Debian)" which I cannot get. I can either get myself to a release 3.3.2 version, or prerelease 3.3.3 20040131; ftp://gcc.gnu.org/pub/gcc/ I'll try the latest prerelease and see what happens. echo "SECTIONS { .data : { input_len = .; LONG(input_data_end - input_data) input_data = .; * (.data) input_data_end = .; }}" > $tmppiggy.lnk; ld -m elf_i386 -r -o piggy.o -b binary $tmppiggy.gz -b elf32-i386 -T $tmppiggy.lnk; rm -f $tmppiggy $tmppiggy.gz $tmppiggy.lnk gcc -D__ASSEMBLY__ -D__KERNEL__ -I/usr/src/linux-2.4.24/include -traditional -c head.S gcc -D__KERNEL__ -I/usr/src/linux-2.4.24/include -Wall -Wstrict-prototypes -Wno-trigraphs - O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i386 - DKBUILD_BASENAME=misc -c misc.c ld -m elf_i386 -Ttext 0x100000 -e startup_32 -o bvmlinux head.o misc.o piggy.o misc.o(.text+0x1b94): In function `puts': : undefined reference to `co_terminate' misc.o(.text+0x1ba0): In function `puts': : undefined reference to `co_terminate' misc.o(.text+0x1bac): In function `puts': : undefined reference to `co_terminate' misc.o(.text+0x1bb8): In function `puts': : undefined reference to `co_terminate' make[2]: *** [bvmlinux] Error 1 make[2]: Leaving directory `/usr/src/linux-2.4.24/arch/i386/boot/compressed' make[1]: *** [compressed/bvmlinux] Error 2 make[1]: Leaving directory `/usr/src/linux-2.4.24/arch/i386/boot' make: *** [bzImage] Error 2 ----- Original Message ----- >From: "Dan Aloni" <da...@gm...> >To: "Ian Latter" <Ian...@mq...> >Subject: Re: [coLinux-devel] linux kernel; array size missing in `data' >Date: Sun, 01 Feb 2004 07:37:22 +0200 > > On Sun, Feb 01, 2004 at 09:35:48AM +1000, Ian Latter wrote: > > Hi Dan, > > > > See below, using the colinux-20040131 patch, I am getting a kernel > > compile error, regarding the variable "data" in cooperative.h ("putcs" > > structure within the co_console_message_t structure). > > > > I have decided that if you haven't seen this in your compiles, then it > > may be compiler related - this is my compiler version; > > > > [root@host]# gcc --version > > 2.96 > > > > Has anyone else seen this issue? If not, which compiler version > > are you using? > > Please use gcc version 3. > > [07:35 pts/5,callisto ~]% gcc -v > Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.3/specs > Configured with: ../src/configure -v --enable- languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr > --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include- dir=/usr/include/c++/3.3 --enable-shared > --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable- clocale=gnu > --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux > Thread model: posix > gcc version 3.3.3 20040125 (prerelease) (Debian) > > > Alternatively, if this is supposed to be a single char (put-char-screen?) > > then how about redefining data[] as data[2]? > > You can define it as data[0] and it may fix the problem for your compiler. > > -- > Dan Aloni > da...@gm... > -- Ian Latter Internet and Networking Security Officer Macquarie University Meet me at the Australian Unix and open systems User Group (AUUG) Security Symposium; 2004 http://www.auug.org.au/events/2004/security/ |