From mboxrd@z Thu Jan 1 00:00:00 1970 From: Albert ARIBAUD Date: Thu, 24 Feb 2011 12:58:57 +0100 Subject: [U-Boot] ARM: Incorrect ROM protection range? In-Reply-To: <20110224093925.90139146940@gemini.denx.de> References: <4D660030.409@free.fr> <4D6609C5.3040203@denx.de> <4D6611A7.5050802@free.fr> <20110224093925.90139146940@gemini.denx.de> Message-ID: <4D664801.2000001@free.fr> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Le 24/02/2011 10:39, Wolfgang Denk a ?crit : > Dear Albert ARIBAUD, > > In message<4D6611A7.5050802@free.fr> you wrote: >> >>>>> In the U-Boot image itself, knowing the image size could be achieved in >>>>> ARM by using a general _end symbol that would be set after the last >>>>> image output section, so _end-_start would equal the image size. >>>> >>>> we have such a "_end" in u-boot.lds files. >> >> I *knew* this name did not pop up in my mind without a reason. :) >> >> Apologies for not having checked. >> >>> I guess we need a __dynsym_end in all u-boot.lds files. >> >> I'd rather go for "_end", which does not tie the solution to dynsym >> being the last section in the image -- imagine for some reason we move >> dynsym inside the image rather than at the end, end the image size will >> be wrong again. With _end, and a suitable comment in the LD file... this >> will be averted where-ever dynsym ends up. >> >> After all, the bug you uncovered was due to using the wrong symbol, a >> BSS related one rather than an image-related one, in the first place; so >> let's try and learn from past mistakes. > > I think the location of _end in the linker scripts needs to be changed > - so far it covers the maximum of dynsym and bss, but it should refer > to the end of dynsym only. Po-Yu Chuang, can you verify Wolfgang's suggestion (and make sure no other place depends on _end) and submit a patch? As this is a fix, a quick patch could still be pulled in for the upcoming release. > Best regards, > > Wolfgang Denk Amicalement, -- Albert.