means of .previous directive

Alan Modra alan@linuxcare.com.au
Fri Aug 4 04:27:00 GMT 2000


On Fri, 4 Aug 2000, qiao guopei wrote:

> I saw a lot of .previous directive is used in Linux kernel. But I can
> not find the definition of .previous directive in GAS document. Could
> anyone help me?

It changes the current section (ie. where instructions/data are output) to
the previous section.  At least, that is the case when .popsection isn't
used.  Things are a little more complicated when .pushsection/.popsection
are used as .pushsection/.popsection saves/restores both the current
section and it's previous section.

eg. (from the gas elf testsuite)

 .data
	.byte 0
 .section A
	.byte 1
 .previous
	.byte 0
 .previous
	.byte 1
 .pushsection B
	.byte 2
 .previous
	.byte 1
 .previous
	.byte 2
 .pushsection C
	.byte 3
 .previous
	.byte 2
 .previous
	.byte 3
 .popsection
	.byte 2
 .previous
	.byte 1
 .previous
	.byte 2
 .popsection
	.byte 1
 .previous
	.byte 0
 .previous
	.byte 1

will put all the 0's in section .data, all the 1's in section A, all the
2's in section B, and all the 3's in section C

Alan Modra
-- 
Linuxcare.  Support for the Revolution.



More information about the Binutils mailing list