Sujet : Re: errno, Code density
De : johnl (at) *nospam* taugh.com (John Levine)
Groupes : comp.archDate : 27. Jun 2025, 22:44:32
Autres entêtes
Organisation : Taughannock Networks
Message-ID : <103n3c0$1tdi$1@gal.iecc.com>
References : 1 2 3 4
User-Agent : trn 4.0-test77 (Sep 1, 2010)
According to EricP <
ThatWouldBeTelling@thevillage.com>:
extern int *__errno_location (void) __THROW __attribute__ ((__const__));
# if !defined _LIBC || defined _LIBC_REENTRANT
/* When using threads, errno is a per-thread value. */
# define errno (*__errno_location ())
# endif
# endif /* !__ASSEMBLER__ */
#endif /* _ERRNO_H */
>
That replaces a memory reference with a function call.
Not really. On all of the Unix-like systems I know, errno is a macro
wrapped around a function call that fetches the most recent error in
the current thread, done that way to avoid breaking old programs
written back before threads when errno was an extern int. It's a
peculiar special case and I don't offhand know of anything else like
that.
Here's the ABI manual for amd64 systems:
http://refspecs.linux-foundation.org/elf/x86_64-abi-0.95.pdf-- Regards,John Levine, johnl@taugh.com, Primary Perpetrator of "The Internet for Dummies",Please consider the environment before reading this e-mail. https://jl.ly
Date | Sujet | # | | Auteur |
19 May 25 | Why I've Dropped In | 417 | | quadibloc |
19 May 25 |  Re: Why I've Dropped In | 349 | | quadibloc |
21 May 25 |   Re: Why I've Dropped In | 348 | | quadibloc |
22 May 25 |    Re: Why I've Dropped In | 11 | | David Chmelik |
22 May 25 |     Re: Why I've Dropped In | 2 | | MitchAlsup1 |
23 May 25 |      Re: Why I've Dropped In | 1 | | MitchAlsup1 |
10 Jun 25 |     Re: Why I've Dropped In | 8 | | quadibloc |
11 Jun 25 |      Re: Why I've Dropped In | 1 | | BGB |
11 Jun 25 |      Re: Why I've Dropped In | 6 | | quadibloc |
11 Jun 25 |       Re: Why I've Dropped In | 4 | | Chris M. Thomasson |
12 Jun 25 |        Re: Why I've Dropped In | 3 | | quadibloc |
12 Jun 25 |         Re: Why I've Dropped In | 1 | | Chris M. Thomasson |
16 Jun 25 |         Re: Why I've Dropped In | 1 | | Chris M. Thomasson |
12 Jun 25 |       Re: Why I've Dropped In | 1 | | quadibloc |
10 Jun 25 |    Re: Why I've Dropped In | 335 | | quadibloc |
11 Jun 25 |     Re: Why I've Dropped In | 322 | | Thomas Koenig |
11 Jun 25 |      Re: Why I've Dropped In | 23 | | BGB |
11 Jun 25 |       Re: Why I've Dropped In | 8 | | MitchAlsup1 |
11 Jun 25 |        Re: Why I've Dropped In | 7 | | BGB |
12 Jun 25 |         Re: Why I've Dropped In | 6 | | MitchAlsup1 |
12 Jun 25 |          Re: Why I've Dropped In | 5 | | BGB |
13 Jun 25 |           Re: Why I've Dropped In | 4 | | MitchAlsup1 |
15 Jun 25 |            Re: Why I've Dropped In | 3 | | BGB |
15 Jun 25 |             Re: Why I've Dropped In | 2 | | MitchAlsup1 |
15 Jun 25 |              Re: Why I've Dropped In | 1 | | BGB |
11 Jun 25 |       Re: Why I've Dropped In | 10 | | Anton Ertl |
11 Jun 25 |        Re: Why I've Dropped In | 6 | | MitchAlsup1 |
12 Jun 25 |         Re: Why I've Dropped In | 5 | | MitchAlsup1 |
12 Jun 25 |          Re: Why I've Dropped In | 4 | | Anton Ertl |
12 Jun 25 |           Re: Why I've Dropped In | 2 | | MitchAlsup1 |
20 Jun 25 |            Re: Why I've Dropped In | 1 | | Anton Ertl |
12 Jun 25 |           Re: Why I've Dropped In | 1 | | Thomas Koenig |
11 Jun 25 |        Re: Why I've Dropped In | 3 | | BGB |
12 Jun 25 |         Re: Why I've Dropped In | 2 | | Anton Ertl |
12 Jun 25 |          Re: Why I've Dropped In | 1 | | BGB |
20 Jun 25 |       Re: Why I've Dropped In | 4 | | quadibloc |
20 Jun 25 |        Re: Why I've Dropped In | 3 | | MitchAlsup1 |
20 Jun 25 |         Re: Why I've Dropped In | 2 | | moi |
20 Jun 25 |          Re: Why I've Dropped In | 1 | | quadibloc |
11 Jun 25 |      Re: Why I've Dropped In | 298 | | quadibloc |
11 Jun 25 |       Re: Why I've Dropped In | 19 | | MitchAlsup1 |
11 Jun 25 |        Re: Why I've Dropped In | 3 | | quadibloc |
11 Jun 25 |         Re: Why I've Dropped In | 2 | | MitchAlsup1 |
14 Jun 25 |          Re: Why I've Dropped In | 1 | | BGB |
16 Jun 25 |        Re: Why I've Dropped In | 15 | | Stefan Monnier |
17 Jun 25 |         Re: Why I've Dropped In | 1 | | quadibloc |
17 Jun 25 |         Re: Why I've Dropped In | 13 | | Stephen Fuld |
17 Jun 25 |          Re: Why I've Dropped In | 12 | | MitchAlsup1 |
17 Jun 25 |           Re: Why I've Dropped In | 1 | | Stephen Fuld |
17 Jun 25 |           Re: Why I've Dropped In | 10 | | Stefan Monnier |
17 Jun 25 |            Re: Why I've Dropped In | 6 | | MitchAlsup1 |
17 Jun 25 |             Re: Why I've Dropped In | 5 | | Stefan Monnier |
18 Jun 25 |              Re: Why I've Dropped In | 4 | | Anton Ertl |
18 Jun 25 |               Re: Why I've Dropped In | 2 | | Stefan Monnier |
19 Jun 25 |                Re: Why I've Dropped In | 1 | | Anton Ertl |
18 Jun 25 |               Re: Why I've Dropped In | 1 | | BGB |
18 Jun 25 |            Re: Why I've Dropped In | 3 | | Chris M. Thomasson |
18 Jun 25 |             Re: Why I've Dropped In | 2 | | Stefan Monnier |
20 Jun 25 |              Re: Why I've Dropped In | 1 | | Chris M. Thomasson |
11 Jun 25 |       Re: Why I've Dropped In | 198 | | Thomas Koenig |
12 Jun 25 |        Re: Why I've Dropped In | 197 | | quadibloc |
12 Jun 25 |         Re: Why I've Dropped In | 193 | | Stephen Fuld |
13 Jun 25 |          Re: Why I've Dropped In | 54 | | quadibloc |
13 Jun 25 |           Re: Why I've Dropped In | 53 | | Stephen Fuld |
13 Jun 25 |            Re: Why I've Dropped In | 52 | | Thomas Koenig |
13 Jun 25 |             Re: Why I've Dropped In | 1 | | quadibloc |
13 Jun 25 |             Re: Why I've Dropped In | 50 | | Stephen Fuld |
13 Jun 25 |              Re: Why I've Dropped In | 49 | | Thomas Koenig |
13 Jun 25 |               Re: Why I've Dropped In | 21 | | Stephen Fuld |
13 Jun 25 |                Re: Why I've Dropped In | 19 | | Thomas Koenig |
13 Jun 25 |                 Re: Why I've Dropped In | 2 | | MitchAlsup1 |
15 Jun 25 |                  Re: Why I've Dropped In | 1 | | Stephen Fuld |
13 Jun 25 |                 Re: Why I've Dropped In | 1 | | Stephen Fuld |
15 Jun 25 |                 Re: base and bounds, Why I've Dropped In | 15 | | John Levine |
15 Jun 25 |                  Re: base and bounds, Why I've Dropped In | 13 | | Stephen Fuld |
15 Jun 25 |                   Re: base and bounds, Why I've Dropped In | 12 | | John Levine |
15 Jun 25 |                    Re: base and bounds, Why I've Dropped In | 9 | | MitchAlsup1 |
16 Jun 25 |                     Re: base and bounds, Why I've Dropped In | 7 | | Stephen Fuld |
16 Jun 25 |                      Re: base and bounds, Why I've Dropped In | 2 | | quadibloc |
16 Jun 25 |                       Re: base and bounds, Why I've Dropped In | 1 | | Stephen Fuld |
16 Jun 25 |                      Re: base and bounds, Why I've Dropped In | 4 | | MitchAlsup1 |
16 Jun 25 |                       Re: base and bounds, Why I've Dropped In | 3 | | Stephen Fuld |
16 Jun 25 |                        Re: base and bounds, Why I've Dropped In | 2 | | quadibloc |
16 Jun 25 |                         Re: base and bounds, Why I've Dropped In | 1 | | Stephen Fuld |
16 Jun 25 |                     Re: base and bounds, Why I've Dropped In | 1 | | quadibloc |
15 Jun 25 |                    Re: base and bounds, Why I've Dropped In | 2 | | Stephen Fuld |
16 Jun 25 |                     Re: base and bounds, Why I've Dropped In | 1 | | John Levine |
16 Jun 25 |                  Re: big pages, base and bounds, Why I've Dropped In | 1 | | John Levine |
13 Jun 25 |                Re: Why I've Dropped In | 1 | | Lars Poulsen |
13 Jun 25 |               Re: Why I've Dropped In | 1 | | MitchAlsup1 |
13 Jun 25 |               Re: Why I've Dropped In | 26 | | quadibloc |
14 Jun 25 |                Re: Why I've Dropped In | 25 | | Thomas Koenig |
14 Jun 25 |                 Re: Why I've Dropped In | 24 | | Stephen Fuld |
14 Jun 25 |                  Re: Why I've Dropped In | 3 | | Thomas Koenig |
14 Jun 25 |                   Re: Why I've Dropped In | 2 | | Stephen Fuld |
14 Jun 25 |                    Re: Why I've Dropped In | 1 | | Thomas Koenig |
14 Jun 25 |                  Re: Why I've Dropped In | 14 | | Stephen Fuld |
14 Jun 25 |                   Re: Why I've Dropped In | 13 | | quadibloc |
14 Jun 25 |                    Re: Why I've Dropped In | 1 | | Stephen Fuld |
14 Jun 25 |                    Re: Why I've Dropped In | 11 | | quadibloc |
15 Jun 25 |                     Re: Why I've Dropped In | 10 | | Stephen Fuld |
15 Jun 25 |                  Re: Why I've Dropped In | 6 | | quadibloc |
13 Jun 25 |          Re: Why I've Dropped In | 134 | | quadibloc |
14 Jun 25 |          Re: base registers and addres size, Why I've Dropped In | 3 | | John Levine |
18 Jun 25 |          Re: Why I've Dropped In | 1 | | Lynn Wheeler |
13 Jun 25 |         Re: Why I've Dropped In | 3 | | BGB |
11 Jun 25 |       Re: Why I've Dropped In | 55 | | Anton Ertl |
11 Jun 25 |       Re: Why I've Dropped In | 4 | | quadibloc |
11 Jun 25 |       Re: Why I've Dropped In | 21 | | MitchAlsup1 |
11 Jun 25 |     Re: Why I've Dropped In | 11 | | quadibloc |
13 Jun 25 |     Re: Why I've Dropped In | 1 | | quadibloc |
16 Jun 25 |    Re: Why I've Dropped In | 1 | | quadibloc |
12 Jun 25 |  Re: Why I've Dropped In | 58 | | quadibloc |
27 Jun 25 |  Re: errno, Code density | 9 | | John Levine |