On Oct 3, 2006, at 5:43 PM, Brendon Costa wrote:
I think I could insert my data into the .s file into a particular
section. I am not sure if I should create my own named section

I'd recommend .comment probably. If you want to productize it, add your own, and put it into your linker script.

If I place it into the .data section then would it then be possible to
have conflicts with code symbols?

Only if you add a symbol that can have conflicts with code symbols, see the language spec for which symbols you can and cannot use. __foo $bar is safe for example to use. printf generally isn't.

I am also not yet sure how I would extract this data from the objects (Using libbfd somehow I will have to look further into it).

man objcopy, man objdump

  objdump --section=.comment --full-contents a.out

for example.

What would be the best directive to use to insert binary data into the
section?

If you have a word

  .word 0

see the assembler manual for other possibilities.

  .string "Hello world\n\0"

might also work, if you have strings. Also, you can ask the compiler how to output data by using the -S flag.

Also does using ar/ld on resulting .o files filter out any sections they don't know about?

as no. ld -r, no. Final link, probably. --print-map for example might tell you some of the information you might need. Look at the default linker script. I can use use emacs /usr/bin/ld to view mine for example. :-)

You can google("ld options dump liinker script") and find out that ld --verbose is an easier way to figure out the default linker script for GNU ld.

Or do they always just include sections into the resulting archive/ executable even if the sections are non-standard containing meta- data that they don't understand?

.comment is standard on my platform.

Reply via email to