This is the mail archive of the binutils@sourceware.org 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: ld/emulparams/sparc*.sh NOP missing in all but one file


From: Joel Sherrill <joel.sherrill@oarcorp.com>
Date: Thu, 3 Jun 2010 20:23:39 -0500

> Thanks for looking at this.

Those things you see after the final instructions of IMFS_chown are
not padding, they are some set of references to other locations in
the binary.

My best guess is that this is a local table of code addresses used by
the switch() statement in the code for IMFS_create_node().

And this makes sense since the next symbol after IMFS_chown is in
the same section (.text) and the .text sections in all of the input
objects have the same alignment (2*2 == 4 bytes) which on sparc
should never require alignment padding since all instructions are
4 bytes in size and 4 byte aligned.

In the case where real padding actually got created by the linker, for
the gap at the end of strncpy() leading up to __start_set_sysctl_set,
where a directive stating ". = ALIGN(16)" occurs in the linker script,
the proper nops were emitted once elf32_sparc.sh has the proper NOP
statement added.

Anyways, when I get a chance I'll commit that NOP addition to the tree.


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