qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [Bug 1429841] [NEW] error "rom: requested regions overlap"


From: Roman
Subject: [Qemu-devel] [Bug 1429841] [NEW] error "rom: requested regions overlap" for NOLOAD sections
Date: Mon, 09 Mar 2015 12:48:10 -0000

Public bug reported:

command line:
qemu-system-arm -semihosting -nographic -monitor null -serial null -no-reboot 
-kernel build/fw/0HNFcomSLuP1_CUNIT.elf

output:
rom: requested regions overlap (rom phdr #6: build/fw/0HNFcomSLuP1_CUNIT.elf. 
free=0x8001effc, addr=0x8001c000)
rom loading failed

I checked the sections of the .elf file with arm-none-eabi-objdump -h:
Sections:
Idx Name          Size      VMA       LMA       File off  Algn
...
 35 .marker_appli 00001000  801ae000  801ae000  00025000  2**0
                  ALLOC
 36 .safe_data    00000014  80200000  8001b000  00020000  2**2
                  CONTENTS, ALLOC, LOAD, DATA
 37 .safe_bss     00000488  80200020  8001b020  00020014  2**2
                  ALLOC
 38 .marker_safe_data 00001000  80201000  8001c000  00029000  2**0
                  ALLOC
 39 .data         000008cc  80202000  8001b600  00022000  2**3
                  CONTENTS, ALLOC, LOAD, DATA
 40 .bss          0000312c  802028d0  8001bed0  000228cc  2**3
                  ALLOC
 41 .marker_data  00001000  80206000  8001f600  00026000  2**0
                  ALLOC
 42 .cunit        00010000  80300000  80119600  00028000  2**0
                  ALLOC
 43 .marker_code  00001000  8001c000  8001c000  00024000  2**0
                  ALLOC
...

So I had a look where the values in  the error message could come from:
0x8001c000: is the "LMA" value of section .marker_safe_data
0x8001effc: is "Size" + "LMA" of the .bss section (0x0000312c + 0x8001bed0)

So it is correct that (regarding the "LMA" value) the .marker_safe_data section 
collides with .bss section.
But actually these sections have no "LOAD" attribute, so I would guess that 
their "LMA" should not be used anyway.
Those section should reside at their "VMA" addresses (0x802xxxxx) during 
runtime but they have no data to load.

Or am I getting something completely wrong?
Should I give an additional option to qemu?

I got this error with 2.0.0+dfsg-2ubuntu1.10 and 1.0.50-2012.03-0ubuntu2.1
I didn't get this error (but others) with 0.10.2

** Affects: qemu
     Importance: Undecided
         Status: New

** Attachment added: "elf file to reproduce"
   
https://bugs.launchpad.net/bugs/1429841/+attachment/4338789/+files/0HNFcomSLuP1_CUNIT.elf

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1429841

Title:
  error "rom: requested regions overlap" for NOLOAD sections

Status in QEMU:
  New

Bug description:
  command line:
  qemu-system-arm -semihosting -nographic -monitor null -serial null -no-reboot 
-kernel build/fw/0HNFcomSLuP1_CUNIT.elf

  output:
  rom: requested regions overlap (rom phdr #6: build/fw/0HNFcomSLuP1_CUNIT.elf. 
free=0x8001effc, addr=0x8001c000)
  rom loading failed

  I checked the sections of the .elf file with arm-none-eabi-objdump -h:
  Sections:
  Idx Name          Size      VMA       LMA       File off  Algn
  ...
   35 .marker_appli 00001000  801ae000  801ae000  00025000  2**0
                    ALLOC
   36 .safe_data    00000014  80200000  8001b000  00020000  2**2
                    CONTENTS, ALLOC, LOAD, DATA
   37 .safe_bss     00000488  80200020  8001b020  00020014  2**2
                    ALLOC
   38 .marker_safe_data 00001000  80201000  8001c000  00029000  2**0
                    ALLOC
   39 .data         000008cc  80202000  8001b600  00022000  2**3
                    CONTENTS, ALLOC, LOAD, DATA
   40 .bss          0000312c  802028d0  8001bed0  000228cc  2**3
                    ALLOC
   41 .marker_data  00001000  80206000  8001f600  00026000  2**0
                    ALLOC
   42 .cunit        00010000  80300000  80119600  00028000  2**0
                    ALLOC
   43 .marker_code  00001000  8001c000  8001c000  00024000  2**0
                    ALLOC
  ...

  So I had a look where the values in  the error message could come from:
  0x8001c000: is the "LMA" value of section .marker_safe_data
  0x8001effc: is "Size" + "LMA" of the .bss section (0x0000312c + 0x8001bed0)

  So it is correct that (regarding the "LMA" value) the .marker_safe_data 
section collides with .bss section.
  But actually these sections have no "LOAD" attribute, so I would guess that 
their "LMA" should not be used anyway.
  Those section should reside at their "VMA" addresses (0x802xxxxx) during 
runtime but they have no data to load.

  Or am I getting something completely wrong?
  Should I give an additional option to qemu?

  I got this error with 2.0.0+dfsg-2ubuntu1.10 and 1.0.50-2012.03-0ubuntu2.1
  I didn't get this error (but others) with 0.10.2

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1429841/+subscriptions



reply via email to

[Prev in Thread] Current Thread [Next in Thread]