Thanks! I will try this out and see if it helps. Just curious if you had any thoughts on the rest of my message (any places I should look to for troubleshooting)? Cheers,
JB On Wed, May 20, 2009 at 2:07 PM, Erwin Authried <[email protected]> wrote: > Hi, > I have solved the "reloc type R_ARM_PC24 unsupported in this context" > error by modifying elf2flt.c: > > -Erwin > > ... > #elif defined(TARGET_arm) > case R_ARM_ABS32: > relocation_needed = 1; > break; > case R_ARM_REL32: > case R_ARM_THM_PC11: > case R_ARM_THM_PC22: > // ==> add the following 4 lines: > case R_ARM_PC24: > case R_ARM_PLT32: > case R_ARM_GOTPC: > case R_ARM_GOT32: > relocation_needed = 0; > break; > default: > goto bad_resolved_reloc; > > > > Am Mittwoch, den 20.05.2009, 12:29 -0400 schrieb Jeff Bacon: > > Hi, I've just started on a uClinux 2.6 port to a custom ARM7TDMI board > > (we've had a uClinux 2.4 kernel running with no problems for a couple > > of years now, but decided to take the plunge and upgrade). I just > > joined the mailing list and am trying to resurrect the thread below > > from Erwin... > > > > > > First. here is some background on where we are right now > > > > We are currently using the same base kernel and toolchain mentioned > > below(uClinux-dist-20080808, snapgear toolchain > > arm-linux-tools-20070808.tar.gz) and we're having a ton of issues with > > getting our XIP ROMFS root filesystem working out of flash (the kernel > > boots, the filesystem mounts and I get a SASH prompt, but the system > > is HIGHLY unstable and usually crashes after a couple of commands). In > > fact, basic things are broken such as "cat". I've set the init=/bin/sh > > kernel parameter to boot immediately into the shell, but if I try > > > > "cat /etc/motd", I get a ton of output like this(note, ROMFS debugging > > is turned ON): > > > > > **************************************************************************************** > > <snip> > > VFS: Mounted root (romfs filesystem) readonly. > > Freeing init memory: 76K > > BINFMT_FLAT: ROM mapping of file (we hope) > > BINFMT_FLAT: Allocated data+bss+stack (21094 bytes): 2b8004 > > p=2bfffc > > start_thread(regs=0x1eff08, entry=0x280044, start_stack=0x2bffb8) > > > > Sash command shell (version 1.1.1) > > /> ls /etc > > BINFMT_FLAT: ROM mapping of file (we hope) > > BINFMT_FLAT: Allocated data+bss+stack (10894 bytes): 2f0004 > > p=2f3ffc > > start_thread(regs=0x2c7fb0, entry=0x2e0044, start_stack=0x2f3f80) > > inittab modprobe.conf motd passwd ramfs.img > > rc services version > > /> cat /etc/motd > > BINFMT_FLAT: ROM mapping of file (we hope) > > BINFMT_FLAT: Allocated data+bss+stack (11541 bytes): 2cc004 > > p=2cfffc > > start_thread(regs=0x2b7fb0, entry=0x2c8044, start_stack=0x2cff78) > > : : No such file or directory > > : : No such file or directory > > : : No such file or directory > > : : No such file or directory > > : : No such file or directory > > : : No such file or directory > > : : No such file or directory > > : : No such file or directory > > : : No such file or directory > > : : No such file or directory > > : : No such file or directory > > : : No such file or directory > > : : No such file or directory > > : : No such file or directory > > : : No such file or directory > > : : No such file or directory > > : : No such file or directory > > : : No such file or directory > > : : No such file or directory > > : : No such file or directory > > : : No such file or directory > > : : No such file or directory > > : : No such file or directory > > /> > > > **************************************************************************************** > > Mounting /proc works, but I can't cat any of those files as well, but > > either way, the system only SOMETIMES makes it this far before dying > > completely (just stalls, no kernel panics or oops or anything). > > > > Anyway, while trying to debug this, the first thing I tried was taking > > Flash out of the equation. So in my bootloader I restrict system RAM > > to 4MB (we have an 8MB part) and copy the ROMFS image from flash into > > the 2nd 4MB of RAM. I add the mem=4MB kernel parameter to restrict > > uClinux to the 1st 4MB of RAM, then compiled the uclinux MTD driver > > and gave it the location of the ROMFS in the 2nd half of RAM. The > > kernel boots and the uclinux mtd driver finds and mounts it and I get > > the prompt again, but the behavior is exactly the same, highly > > unstable, things like "cat" don't work. > > > > So next I tried to compile userland WITHOUT XIP to see if that was the > > problem and this is when I found the exact same issue as Erwin > > described below. I've set the same options as you have in my > > congif.arch file and I get the same "ERROR: reloc type R_ARM_PC24 > > unsupported in this context" all over the place as you did. > > > > So, any idea what the issue is? Is it a toolchain problem? Is it a > > kernel source problem? Again, I'm using the BASE > > uClinux-dist-20080808, I haven't applied any of the patches as I > > wanted to work from the known stable base tree. > > > > If anyone else has ever encountered the issues I'm describing and you > > figured out that it's not XIP issues, can anyone let me in on the > > secret? > > > > Finally, if I just want to separate kernel code issues from root > > filesystem issues, what's the easiest, most stable method for creating > > and mounting a root filesystem image (System RAM = 8MB, System Flash = > > 8MB). Thanks for any and all help. > > > > Cheers, > > > > JB > > > > > ************************************************************************************************* > > > > List: uclinux-dev > > Subject: [uClinux-dev] errors when linking without XIP > > From: Erwin Authried <eauth () softsys ! co ! at> > > Date: 2009-03-23 11:26:51 > > Message-ID: 1237807611.711.254.camel () justakiss ! home ! at > > > > Hi, > > > > I have always compiled applications for ARM7TDMI with pic (-fpic > > -msingle-pic-base) without problems. Now I tried to build without pic, > > and got lots of > > > > ERROR: reloc type R_ARM_PC24 unsupported in this context > > > > during linking. After searching the archives, I tried to run elf2flt > > without the "-a" option. This time, the link succeeds, but I get a > > > > BINFMT_FLAT: reloc outside program ... > > > > when I try to run the application on the target (I tried several > > applicatons, all had the same problem). I have used > > uClinux-dist-20080808 and the snapgear toolchain > > arm-linux-tools-20070808.tar.gz. > > I modified vendors/Atmel/AT91/config.arch to disable XIP, and built from > > scratch: > > > > > ############################################################################ > > > > CPUFLAGS := > > # VENDOR_CFLAGS # not required here > > DISABLE_XIP := 1 # XIP works fine > > DISABLE_MOVE_RODATA := 1 # until we get a toolchain release > > DISABLE_SHARED_LIBS := 1 > > # LOPT := -O2 # library is alway 02 > > # UOPT := -Os # user apps are always Os > > > > > ############################################################################ > > > > Any ideas what's wrong? > > > > -Erwin > > > -- > Dipl.-Ing. Erwin Authried > Softwareentwicklung und Systemdesign > > _______________________________________________ > 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 >
_______________________________________________ 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
