This is the mail archive of the mailing list for the binutils project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Specifying symbol names under which binary values are added


Thanks for the suggestion. I am trying for now to make it compatible
data-wise with the output from before, only symbol names should be
different. I made:

.section images
.global _binary_image_jpg_start
.type _binary_image_jpg_start, @object
.align 4
.incbin "/long/path/to/image.jpg"
.global _binary_image_jpg_end
.type _binary_image_jpg_end, @object
.align 4
.global _binary_image_jpg_size
.type _binary_image_jpg_size, @object
.align 4
.int _binary_image_jpg_end - _binary_image_jpg_start

And I assemble it with "as -o image.o". But something does
not work. Resolving symbols in my other code and accessing data
returns me garbage now. Or at least something decoder fails to parse.
Is there anything more to do?


On Sun, Mar 12, 2017 at 9:20 AM, Cary Coutant <> wrote:
>> ld --relocatable --format==binary /long/path/to/image.jpg -o image.o
>> To add the image.jpg to object. The issue is that symbols under which
>> the image is added are based on that filename provided. So for
>> /long/path/to/image.jpg this is something like
>> _long_path_to_image_jpg. Is there a way to specify the base symbol
>> name (to which then start, end, and size are appended) myself? The
>> issue is that by embedding paths, builds become harder to make
>> reproducible.
> Take a look at the .incbin assembler directive -- you can embed your
> file into an object using the assembler instead of the linker, and
> specify your own symbols.
> -cary


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]