[SeaBIOS] [PATCH] ld: fix .text section address alignment

Kevin O'Connor kevin at koconnor.net
Tue Feb 23 20:43:22 CET 2016


On Tue, Feb 23, 2016 at 04:06:20PM +0100, Roger Pau Monné wrote:
> El 23/2/16 a les 15:53, Kevin O'Connor ha escrit:
> > On Mon, Feb 22, 2016 at 12:07:00PM +0100, Roger Pau Monné wrote:
> >> El 20/2/16 a les 3:41, Kevin O'Connor ha escrit:
> >>> On Tue, Feb 16, 2016 at 06:21:10PM +0100, Roger Pau Monné wrote:
> >>>> It seems like ELF toolchain objcopy chokes if a section address is not
> >>>> aligned to the alignment specified by the section, see:
> >>>>
> >>>> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=207170
> >>>>
> >>>> The snippet shown above has addr aligned to 16 (which matches latest
> >>>> upstream), so it's not a problem, but the current SeaBIOS version
> >>>> shipped in Xen 4.5 (1.7.5 IIRC) ends up with an addr that's not a
> >>>> multiple of 16, as shown in the bug report, and objcopy complains with:
> >>>>
> >>>> objcopy: elf_update() failed: Layout constraint violation
> >>>
> >>> Thanks.  I agree it should be fixed.  However, I think there are a few
> >>> other cases that could cause the ".text" section alignment to be off.
> >>> Are you okay with the patch below instead?
> >>
> >> Yes, looks fine to me. AFAICT SeaBIOS packs all the sections (.text,
> >> .data, .rodata) ibnside of the .text section, which I didn't realize before.
> > 
> > Thanks, I committed the change.
> 
> Thanks, I would also like to request this fix to be backported to stable
> branches. Should I send a formal request, or is this email enough?
> 
> Ideally I would like to see it applied to 1.9, 1.8 and 1.7.5.

Gerd maintains the stable trees.

I don't know Gerd's thoughts on supporting older stable branches, but
I can say that the build changed significantly after 1.7.5 and it
would require more than a simple backport of this patch.

-Kevin



More information about the SeaBIOS mailing list