This is the mail archive of the
binutils@sourceware.cygnus.com
mailing list for the binutils project.
Re: gas generating bad code for i386
- To: ftr at oracom dot com
- Subject: Re: gas generating bad code for i386
- From: Andrew Haley <aph at pasanda dot cygnus dot co dot uk>
- Date: 7 Mar 2000 19:51:03 -0000
- CC: ian at zembu dot com, binutils at sourceware dot cygnus dot com
> Date: Tue, 07 Mar 2000 14:39:39 -0500
> From: Tom Riddle <ftr@oracom.com>
> metamail: Ignoring invalid mailcap entry: application/pdf: xpdf %s
> Ian Lance Taylor wrote:
>
> > Date: Tue, 07 Mar 2000 14:17:01 -0500
> > From: Tom Riddle <ftr@oracom.com>
> >
> > Please do not send base64 messages to this mailing list. Send plain
> > text.
>
> What I sent was plain text, not sure what you received.
It was not. I have appended your message, in full, to this email.
Please turn off base64 encoding.
> > I'm surprised that the instruction `je 4' ever did what you want it to
> > do. To me that is a jump to the absolute address 4.
> >
> > Use something like `je .+4' instead.
>
> According to the gas info pages, Node: i386-Memory:
>
> Absolute (as opposed to PC relative) call and jump operands must be
> prefixed with `*'. If no `*' is specified, `as' always chooses PC
> relative addressing for jump/call labels.
Yeah, but do "je" and the other conditional branches fit this pattern?
It looks to me like this rule applies to "jmp" and "call" only.
Andrew.
> Delivered-To: mailing list binutils@sourceware.cygnus.com
> Date: Tue, 07 Mar 2000 14:39:39 -0500
> From: Tom Riddle <ftr@oracom.com>
> Organization: Oracom Inc.
> X-Mailer: Mozilla 4.51 [en] (X11; I; Linux 2.2.5-15 i686)
> X-Accept-Language: en
> MIME-Version: 1.0
> CC: binutils@sourceware.cygnus.com
> References: <38C555AD.F9C8D6CE@oracom.com> <20000307192319.893.qmail@daffy.airs.com>
> Content-Type: text/plain; charset=iso-8859-1
> Content-Transfer-Encoding: base64
>
> SWFuIExhbmNlIFRheWxvciB3cm90ZToNCg0KPiAgICBEYXRlOiBUdWUsIDA3IE1hciAyMDAw
> IDE0OjE3OjAxIC0wNTAwDQo+ICAgIEZyb206IFRvbSBSaWRkbGUgPGZ0ckBvcmFjb20uY29t
> Pg0KPg0KPiBQbGVhc2UgZG8gbm90IHNlbmQgYmFzZTY0IG1lc3NhZ2VzIHRvIHRoaXMgbWFp
> bGluZyBsaXN0LiAgU2VuZCBwbGFpbg0KPiB0ZXh0Lg0KDQpXaGF0IEkgc2VudCB3YXMgcGxh
> aW4gdGV4dCwgbm90IHN1cmUgd2hhdCB5b3UgcmVjZWl2ZWQuDQoNCj4NCj4NCj4gSSdtIHN1
> cnByaXNlZCB0aGF0IHRoZSBpbnN0cnVjdGlvbiBgamUgNCcgZXZlciBkaWQgd2hhdCB5b3Ug
> d2FudCBpdCB0bw0KPiBkby4gIFRvIG1lIHRoYXQgaXMgYSBqdW1wIHRvIHRoZSBhYnNvbHV0
> ZSBhZGRyZXNzIDQuDQo+DQo+IFVzZSBzb21ldGhpbmcgbGlrZSBgamUgLis0JyBpbnN0ZWFk
> Lg0KDQpBY2NvcmRpbmcgdG8gdGhlIGdhcyBpbmZvIHBhZ2VzLCBOb2RlOiBpMzg2LU1lbW9y
> eToNCg0KICAgQWJzb2x1dGUgKGFzIG9wcG9zZWQgdG8gUEMgcmVsYXRpdmUpIGNhbGwgYW5k
> IGp1bXAgb3BlcmFuZHMgbXVzdCBiZQ0KcHJlZml4ZWQgd2l0aCBgKicuICBJZiBubyBgKicg
> aXMgc3BlY2lmaWVkLCBgYXMnIGFsd2F5cyBjaG9vc2VzIFBDDQpyZWxhdGl2ZSBhZGRyZXNz
> aW5nIGZvciBqdW1wL2NhbGwgbGFiZWxzLg0KDQoNCi0tDQoNClRvbSBSaWRkbGUNCg0KT3Jh
> Y29tLCBJbmMuDQpodHRwOi8vd3d3Lm9yYWNvbS5jb20NCg0KVGVsLiArMSA5NzguNTU3LjU3
> MTB4MzA1DQpGYXggICsxIDk3OC41NTcuNTcxNg0KDQoNCg==
>