This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: Why is cld used?
- From: Andreas Schwab <schwab at suse dot de>
- To: Ulrich Drepper <drepper at redhat dot com>
- Cc: "H. J. Lu" <hjl at lucon dot org>,GNU C Library <libc-alpha at sources dot redhat dot com>
- Date: Tue, 01 Jul 2003 13:18:41 +0200
- Subject: Re: Why is cld used?
- References: <20030701004150.GA32230@lucon.org> <3F00DE72.2090406@redhat.com>
Ulrich Drepper <drepper@redhat.com> writes:
|> H. J. Lu wrote:
|> > According to the i386 psABI, the direct flag should be set to zero
|> > before entry and upon exit from a function, why does glibc use
|> > "cld" in some functions where the direct flag won't be changed?
|>
|> And what happens if some incorrect code (or some attacker) adds std and
|> leaves it this way before jumping into libc? Nice way to open security
|> holes. The clds are necessary.
In which way is this different from any other ABI violation of the caller?
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, Deutschherrnstr. 15-19, D-90429 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."