|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v10 17/24] build_id: Provide ld-embedded build-ids
On Mon, May 02, 2016 at 05:13:24AM -0600, Jan Beulich wrote:
> >>> On 02.05.16 at 13:05, <wei.liu2@xxxxxxxxxx> wrote:
> > On Mon, May 02, 2016 at 12:02:43AM -0600, Jan Beulich wrote:
> >> >>> On 29.04.16 at 19:23, <konrad.wilk@xxxxxxxxxx> wrote:
> >> > On Fri, Apr 29, 2016 at 10:38:07AM -0600, Jan Beulich wrote:
> >> >> >>> On 27.04.16 at 21:27, <konrad.wilk@xxxxxxxxxx> wrote:
> >> >> > @@ -304,6 +338,32 @@ int main(int argc, char **argv)
> >> >> > /*mem_siz = (u32)in64_phdr.p_memsz;*/
> >> >> > mem_siz = (u32)(final_exec_addr - in64_phdr.p_vaddr);
> >> >> >
> >> >> > + note_sz = note_base = offset = 0;
> >> >> > + if ( num_phdrs > 1 )
> >> >> > + {
> >> >> > + offset = in64_phdr.p_offset;
> >> >> > + note_base = in64_phdr.p_vaddr;
> >> >> > +
> >> >> > + (void)lseek(infd, in64_ehdr.e_phoff+sizeof(in64_phdr),
> >> >> > SEEK_SET);
> >> >> > + do_read(infd, &in64_phdr, sizeof(in64_phdr));
> >> >> > + endianadjust_phdr64(&in64_phdr);
> >> >> > +
> >> >> > + (void)lseek(infd, offset, SEEK_SET);
> >> >> > +
> >> >> > + note_sz = in64_phdr.p_memsz;
> >> >> > + note_base = in64_phdr.p_vaddr - note_base;
> >> >> > +
> >> >> > + if ( in64_phdr.p_offset > dat_siz || offset >
> >> >> > in64_phdr.p_offset )
> >> >> > + {
> >> >> > + fprintf(stderr, "Expected .note section within .text
> >> > section!\n" \
> >> >> > + "Offset %ld not within %d!\n",
> >> >> > + in64_phdr.p_offset, dat_siz);
> >> >>
> >> >> This fails to build on a 32-bit build host (which is one of the two
> >> >> post-commit, pre-push checks I normally do).
> >> >
> >> > I hadn't realized that it was possible to build an 64-bit hypervisor on
> >> > 32-bit
> >> > GCC toolchain. I've never done that - always built the hypervisor in
> >> > 64-bit
> >> > env and the 32-bit toolstack in 32-bit environment. Then booted it.
> >>
> >> 32-bit toolchain? No. A 64-bit cross tool chain (similar to what I use
> >> for ARM build testing, except that here I also actively run the
> >> resulting hypervisor).
> >
> > Then I'm a bit confused what you meant by "32-bit build host" in your
> > previous email.
>
> What's confusing you here? Running a 64-bit hypervisor and/or a
> 64-bit kernel underneath a 32-bit distro is working quite fine.
>
Hmm... How did you discover that problem if you did not cross-compile
with 32-bit toolchain? That's how I discovered the breakage.
Actually never mind. It's probably counter-productive to quibble over
words we use to describe build setups, especially ...
> > Anyway, does my patch ("mkelf32: fix compilation on 32 bit build host")
> > fix the problem you saw?
>
> Yes. That was also what I had used as a temporary workaround. I
> just didn't have the time right away to put this into proper patch
> shape.
>
... now that you confirm the build is fixed.
Thanks for confirming BTW.
Wei.
> Jan
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |