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]

'broken words' misbehavior?


This piece of code

	.data
table:
	.org table + 8
end:
	.word end - table + 0x8000

	.text
start:
	ret

causes two jumps (a short and a long one) to be inserted right before 'start'
(i386 or x86-64). While I understand that this is caused by the logic dealing
with 'broken words', I can neither see what's wrong (or even in need of
special treatment) with the code above, nor do I understand what these
jumps are supposed to help with (in general, and even more in the given
case, where there isn't any code needing fixing up).

Also, I don't have an idea how to work around it in the general case (older
assemblers also choke on .skip or .fill instead of .org, but that seems to
have gone with the improvements to expression evaluation, so for
compatibility reasons I can't use either of those).

Thanks, Jan


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