Dear Jeroen, In message <1400416665.2394.20.camel@yellow> you wrote: > > > > So, I think the 4kb alignment would be a requirement or restriction. > > > Gcc did not declare it explicitly > > > due to in normal world memory are allocated with page aligned. > > > If u-boot for aarch64 want to be compiled at address not 4kb aligned > > > the relocated address > > > should also be shifted with the same offset. > > > > Sorry, I don't understand anything here. At which exact place is > > there any such 4 k alignment restriction? When we relocate U-Boot, we > > just process a list of addresses. Even if the start of the image is > > aligned to a 4 k boundary, there are a zillion of other addresses that > > are not, and these can be relocated just fine. > > > > The following document [1] mentions: > > "ADRP Xd, label ... > And apparently gcc choose to use it as such. Since the instructions in
Where exactly does it chose to do so? I cannot understand why that should be a problem for _start, but not for any of the other symbols we're relocating? > question are relative to the most significant bits of the pc it does not > need fixups, so it is not included in the "list of addresses" you > mention. The compiler does create the 4k requirement though by using the > instruction the way it does. Sorry, I cannot follow. where exactly does this happen, and why there, and not anywhere else? Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de "Any excuse will serve a tyrant." - Aesop _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot