section manipulation directive--- .previous

Quoted from: http://sources.redhat.com/ml/binutils/2000-08/msg00043.html
 -------------------------------------

Re: means of .previous directive

  • To: qiao guopei <qiaogp at krdl dot org dot sg>
  • Subject: Re: means of .previous directive
  • From: Alan Modra <alan at linuxcare dot com dot au>
  • Date: Fri, 4 Aug 2000 21:23:56 +1000 (EST)
  • cc: binutils at sourceware dot cygnus dot com

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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值