I've been trying this toolchain out with linux-2.4.31-uc0. The
Rules.make fix is in CVS. There are several instances where the
strictness of gcc 4 causes compile errors. I've been able to locate
fixes for many of these either in the uclinux repository or the 2.4.x
mainline cvs.

- Jate S.

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Greg Ungerer
Sent: Monday, July 16, 2007 3:05 AM
To: uClinux development list
Subject: Re: [uClinux-dev] Build uClinux Fails w/ ELF tools 20061214

Hi Paul,

Paul Romero wrote:
> I am now sure there is a problem with Rules.make file in  
> linux-2.4.x/arch/platform/m68knommu/5249/ and suspect there is some 
> kind of problem with paths to include directories in general. Perhaps,

> some symbolic link is wrong.
> 
> Executing "make dep" with the "New Tool Chain" installed does not 
> work. However, it can be made to work with some manual modifications 
> to Rules.make which are described below.  Executing a normal make does

> not work after the manual modifications and the problems are outlined 
> below.
> 
> For reference these are the relevant components.
> The UC Linux distribution is 2.4.27 with the 2.4.x kernel

As I have pointed out before 2.4.27 is a kernel version, not the version
of any uClinux-dist package. It is quite possible that more than one
uClinux-dist contained a 2.4.27 kernel - so you need to report what the
uClinux-dist version is you are using for the above problem descriptions
to be useful.


> and it configured for the M5249C3. (i.e. That is m68knommu with  5249 
> as the platform.) The "Old Tool Chain"  is the one distributed in 
> m68k-elf-tools-20030314.sh binary of the GNU Elf tool chain.
> The "New Tool Chain"  is the one distributed in 
> m68k-elf-tools-20061214.sh binary of the GNU Elf tool chain.

I am not at all surprised that using a relatively modern toolchain
package on an older uClinux-dist package doesn't compile. Newer versions
of gcc are almost always better at picking up compile problems, and
sometimes other variations in acceptable syntax (to assembler or linker
files) will cause build failures.

As I (or others) generate new binary toolchains I (and others) fix the
current linux-2.4.x kernel code to go along with it.
So, you would need a much more upto date version of linux-2.4.x to use
with a newer binary tool chain package. 2.4.27 looks to be at least 3
years old. It has been superseded a few times over that time with newer
2.4.x versions.

You will most likely find that many of the changes you have had to make
have been made in more modern linux-2.4.x uClinux codes (check easily at
cvs.uclinux.org).

Regards
Greg



> Also the following files are attached for your
> convenience:
> 
> make.dep.bad.txt:  A log from an unsuccessful "make dep" with the "New

> Tool Chain".
> 
> make.dep.good.txt: A log from a successful "make dep" with the "New 
> Tool Chain" and a hacked Rules.make.
> 
> make.bad.txt: A log for an unsuccessful normal make with the "New Tool

> Chain" and a hacked Rules.make.
> 
> A description of the problem and modifications to the Rules.make file 
> is as follows:
> 
> The obvious problem is that the Rules.make file does not specify the 
> right path to the tool chain lib/ and include/ directories and can not

> automatically infer them.
> These changes circumvent the problem and allow "make dep"
> to succeed.
> 
> 1) Substitute the following path definitions
> 
>    GCC_DIR = /usr/local/m68k-uclinux/lib
>    MY_GCC_INC = /usr/local/m68k-uclinux/include
> 
> For the following one
> 
>    GCC_DIR = $(shell $(CC) -v 2>&1 | grep specs | sed -e
>  's/.* \(.*\)specs/\1\./')
> 
> 2) Substitute the following CFLAGS definition
> 
>    CFLAGS := -fno-builtin -nostdinc $(CFLAGS) -I$(MY_GCC_INC) -pipe  
> -DNO_MM -DNO_FPU -m5200 -Wa,-S -Wa,-m5200 -D__ELF__ -DMAGIC_ROM_PTR  
> -DUTS_SYSNAME=\"uClinux\" -D__linux__
> 
> For the following one
> 
>    CFLAGS := -fno-builtin -nostdinc $(CFLAGS) -I$(INCGCC) -pipe  
> -DNO_MM -DNO_FPU -m5200 -Wa,-S -Wa,-m5200 -D__ELF__ -DMAGIC_ROM_PTR  
> -DUTS_SYSNAME=\"uClinux\" -D__linux__
> 
> 
> Attempting to perform a normal make after a successful "make dep" with

> the modified Rules.make and the "New Tool Chain"  fails as follows.
> First, stdarg.h can not be found while attempting to compile 
> init/main.c. I think the version of stdarg.h in lib/libc/include/m68k/

> in the distribution tree is the right one but I am not sure.
> 
> The "Old Tool Chain" finds stdarg.h in 
> /usr/local/lib/gcc-lib/m68k-elf/2.95.3/include/ and that version is 
> much different than the one in the distribution tree.
> 
> Please let me know if this information is consistent with any problem 
> you know about.
> 
> Best Regards,
> 
> Paul R.
> 
> 
> --
> Paul Romero
> 
> RCOM Communications Software
> 
> Phone/Fax: (510)339-2628
> E-Mail: [EMAIL PROTECTED]
> 
> 
> 
------------------------------------------------------------------------
Greg Ungerer  --  Chief Software Dude       EMAIL:     [EMAIL PROTECTED]
Secure Computing Corporation                PHONE:       +61 7 3435 2888
825 Stanley St,                             FAX:         +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia         WEB: http://www.SnapGear.com

_______________________________________________
uClinux-dev mailing list
[email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected] To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev



 
 
************************************************************************
************
This footnote confirms that this email message has been scanned by
PineApp Mail-SeCure for the presence of malicious code, vandals &
computer viruses.
************************************************************************
************



_______________________________________________
uClinux-dev mailing list
[email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected]
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to