Skip to contentSkip to conversation

Usage of "elf" IMAGE_TYPES

DISCUSSION Saul Wold 2 participants 4 messages Aug 28, 2017

lore
Share & tools
lore

Saul Wold

author
#0 lore raw

Folks,

I know it's late in our 2.4 cycle, but we recently discovered that mkelfImage fails due to a recent upgrade to binutils. In doing some research, mkelfimage was removed back in Oct 2014 from the coreboot repo. It was replaced with cbfstool.

Unless I hear otherwise, I recommend that we mark elf Images as deprecated for 2.4 and remove them in 2.5.

I have not yet dived into exactly what binutil change triggered the failure.

Further thoughts?

Sau!

#1 lore raw
Quoted 8 lines · Saul Wold

Folks,

I know it's late in our 2.4 cycle, but we recently discovered that mkelfImage fails due to a recent upgrade to binutils. In doing some research, mkelfimage was removed back in Oct 2014 from the coreboot repo. It was replaced with cbfstool.

Quoted 7 lines

Unless I hear otherwise, I recommend that we mark elf Images as deprecated for 2.4 and remove them in 2.5.

I have not yet dived into exactly what binutil change triggered the failure.

Further thoughts?

you should describe what the errors are, maybe then we can make further inroads into problem. As far as removal is concerned, I support that

Quoted 7 lines

Sau!

_______________________________________________
Openembedded-architecture mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-architecture

author
#2 lore raw
Quoted 14 lines · Khem Raj
Quoted 12 lines · Saul Wold

Folks,

I know it's late in our 2.4 cycle, but we recently discovered that mkelfImage fails due to a recent upgrade to binutils. In doing some research, mkelfimage was removed back in Oct 2014 from the coreboot repo. It was replaced with cbfstool.

Unless I hear otherwise, I recommend that we mark elf Images as deprecated for 2.4 and remove them in 2.5.

Quoted 9 lines
Quoted 4 lines

I have not yet dived into exactly what binutil change triggered the failure.

Further thoughts?

you should describe what the errors are, maybe then we can make further
inroads into problem. As far as removal is concerned, I support that

My Bad!  During testing we found the following bug: https://bugzilla.yo
ctoproject.org/show_bug.cgi?id=11967

The code that goes along with the Internal error is:
       /* A sanity check against bad versions of binutils */ if (params->convert_magic != CONVERT_MAGIC) { die("Internal error convert_magic %16llx != %16llx\n", (unsigned long long)(params->convert_magic), CONVERT_MAGIC);
        }

params->convert_magic is set inside some assembly code:
        .section ".trailer", "a"
        /* Constants set at build time, these are at the very end of my image */
        .balign 16
        .global params
params:
convert_magic:
        .quad   CONVERT_MAGIC

It might be a simple fix, but I have not dived the rest of the way!

Sau!

Quoted 9 lines
Quoted 9 lines

Sau!

_______________________________________________
Openembedded-architecture mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-archite
cture

#3 lore raw
Quoted 41 lines · Saul Wold
Quoted 14 lines · Khem Raj
Quoted 12 lines · Saul Wold

Folks,

I know it's late in our 2.4 cycle, but we recently discovered that mkelfImage fails due to a recent upgrade to binutils. In doing some research, mkelfimage was removed back in Oct 2014 from the coreboot repo. It was replaced with cbfstool.

Unless I hear otherwise, I recommend that we mark elf Images as deprecated for 2.4 and remove them in 2.5.

Quoted 9 lines
Quoted 4 lines

I have not yet dived into exactly what binutil change triggered the failure.

Further thoughts?

you should describe what the errors are, maybe then we can make further
inroads into problem. As far as removal is concerned, I support that

My Bad! During testing we found the following bug: https://bugzilla.yo
ctoproject.org/show_bug.cgi?id=11967

The code that goes along with the Internal error is:

       /* A sanity check against bad versions of binutils */
        if (params->convert_magic != CONVERT_MAGIC) {
                die("Internal error convert_magic %16llx != %16llx\n",
                        (unsigned long long)(params->convert_magic),
CONVERT_MAGIC);
        }

params->convert_magic is set inside some assembly code:

        .section ".trailer", "a"
        /* Constants set at build time, these are at the very end of my
image */
        .balign 16
        .global params
Quoted 6 lines

params:
convert_magic:
.quad CONVERT_MAGIC

It might be a simple fix, but I have not dived the rest of the way!

looks like there are some parameter mismatch. its quite likely that some displaced
addresses are being fed. Its probably easy enough to debug it. Just match the elf
header and the members of struct image_parameters which it is mapping into

static unsigned char payload[] = {
#include "convert.bin.c"
};

so check whats the content of convert.bin.c and may be answer is there

secondly I do not see it handling ET_DYN objects. If you are building with PIE that could
be another issue

Quoted 12 lines

Sau!

Quoted 9 lines
Quoted 9 lines

Sau!

_______________________________________________
Openembedded-architecture mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-archite
cture