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

Reply via email to