2009-09-18 06:13:10     the problem of "reloc outside program"

Document created by Aaronwu Employee on Aug 19, 2013
Version 1Show Document
  • View in full screen mode

2009-09-18 06:13:10     the problem of "reloc outside program"

xm ye (CHINA)

Message: 80127   


i run a application in a console ,but then can't run any command any more ,it show


root:/usr> ls                                                                  

BINFMT_FLAT: reloc outside program 0x11748 (0 - 0x67274/0x4cce0), killing ls!  


root:/usr> ls                                                                  

BINFMT_FLAT: reloc outside program 0x24b26 (0 - 0x67274/0x4cce0), killing ls!  





what will the problem?




2009-09-18 09:28:18     Re: the problem of "reloc outside program"

Mike Frysinger (UNITED STATES)

Message: 80138   


does it happen immediately after boot, or is it only after the system has been running for a while ?


what version of software exactly are you using ?  please post your full boot log.




2009-09-23 08:53:19     Re: the problem of "reloc outside program"

xm ye (CHINA)

Message: 80307   


it happen after i run a big application(use a large vector)


my uclinux version is 2008R1.5


this is boot infomationbfin> bootm                                                                    

## Booting kernel from Legacy Image at 01000000 ...                            

   Image Name:   Linux-                              

   Created:      2009-08-23  11:17:22 UTC                                      

   Image Type:   Blackfin Linux Kernel Image (gzip compressed)                 

   Data Size:    3394921 Bytes =  3.2 MB                                       

   Load Address: 00001000                                                      

   Entry Point:  00164000                                                      

   Verifying Checksum ... OK                                                   

   Uncompressing Kernel Image ... OK                                           

Starting Kernel at = 00164000�Linux version (yexm@le9

early printk enabled on early_BFuart0                                          

Hardware Trace Active and Enabled                                              

Warning: limiting memory to 31MB due to hardware anomaly 05000263              

Reset caused by Software reset                                                 

Blackfin support (C) 2004-2007 Analog Devices, Inc.                            

Compiled for ADSP-BF533 Rev 0.3                                                

Warning: Compiled for Rev 3, but running on Rev 4                              

Blackfin Linux support by   blackfin.uclinux.org/                         

Processor Speed: 594 MHz core clock and 118 MHz System Clock                   

Board Memory: 32MB                                                             

Kernel Managed Memory: 32MB                                                    

Memory map:                                                                    

  text      = 0x00001000-0x001067e0                                            

  rodata    = 0x00107000-0x00153860                                            

  data      = 0x00154000-0x00164000                                            

    stack   = 0x00154000-0x00156000                                            

  init      = 0x00164000-0x00638000                                            

  bss       = 0x00638000-0x00646ef0                                            

  available = 0x00646ef0-0x01eff000                                            

  DMA Zone  = 0x01f00000-0x02000000                                            

NOMPU: setting up cplb tables for global access                                

Instruction Cache Enabled                                                      

Data Cache Enabled (write-through)                                             

Built 1 zonelists.  Total pages: 7874                                          

Kernel command line: root=/dev/mtdblock0 rw earlyprintk=serial,uart0,57600 cons0

Configuring Blackfin Priority Driven Interrupts                                

PID hash table entries: 128 (order: 7, 512 bytes)                              

console handover: boot [early_BFuart0] -> real [ttyBF0]                        

Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)                  

Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)                    

Memory available: 25016k/32768k RAM, (4944k init code, 1045k kernel code, 434k )

Blackfin Scratchpad data SRAM: 4 KB                                            

Blackfin Data A SRAM: 16 KB (15 KB free)                                       

Blackfin Data B SRAM: 16 KB (16 KB free)                                       

Blackfin Instruction SRAM: 64 KB (55 KB free)                                  

Security Framework v1.0.0 initialized                                          

Mount-cache hash table entries: 512                                            

NET: Registered protocol family 16                                             

Blackfin GPIO Controller                                                       

Blackfin DMA Controller                                                        

ezkit_init(): registering device resources                                     

usbcore: registered new interface driver usbfs                                 

usbcore: registered new interface driver hub                                   

usbcore: registered new device driver usb                                      

NET: Registered protocol family 2                                              

IP route cache hash table entries: 1024 (order: 0, 4096 bytes)                 

TCP established hash table entries: 1024 (order: 1, 8192 bytes)                

TCP bind hash table entries: 1024 (order: 0, 4096 bytes)                       

TCP: Hash tables configured (established 1024 bind 1024)                       

TCP reno registered                                                            

io scheduler noop registered                                                   

io scheduler anticipatory registered (default)                                 

io scheduler cfq registered                                                    

PPI: PPI-EKC Driver INIT IRQ:23                                                

bfin-wdt: initialized: timeout=20 sec (nowayout=0)                             

Serial: Blackfin serial driver                                                 

bfin-uart.1: ttyBF0 at MMIO 0xffc00400 (irq = 21) is a BFIN-UART               

RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize          

smc91x: not found (-19).                                                       

Linux video capture interface: v2.00                                           

driver isp1362-hcd, 2005-04-04                                                 

rtc-bfin rtc-bfin: rtc core: registered rtc-bfin as rtc0                       

TCP cubic registered                                                           

NET: Registered protocol family 1                                              

NET: Registered protocol family 17                                             

rtc-bfin rtc-bfin: setting the system clock to 1974-07-13 14:10:12 (142956612) 

Freeing unused kernel memory: 4944k freed                                      

dma_alloc_init: dma_page @ 0x00166000 - 256 pages at 0x01f00000


it will the problem of the size of application??




2009-09-23 10:20:35     Re: the problem of "reloc outside program"

Mike Frysinger (UNITED STATES)

Message: 80310   


did you put the large vector on the stack or in the .bss/.data ?


how big exactly is this vector ?




2009-09-27 09:29:30     Re: the problem of "reloc outside program"

xm ye (CHINA)

Message: 80525   


i use a vector  like  "char  a[240][960]={0x12,0x2c,.............." as  a global variable, it should be in the .data section




2009-10-06 04:01:03     Re: the problem of "reloc outside program"

Mike Frysinger (UNITED STATES)

Message: 80884   


where are you putting this vector ?  your custom applications shouldnt be affecting busybox (which is providing `ls`).  unless you're modifying the busybox code in which case that is simply wrong.