diff options
author | Rich Felker <dalias@aerifal.cx> | 2015-04-22 03:07:38 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2015-04-22 03:07:38 -0400 |
commit | b8dda24fe1caa901a99580f7a52defb95aedb67c (patch) | |
tree | c986b69214816ed634c7285ab75b8a357e84aab2 /src/internal/vis.h | |
parent | f203b3511f4715695ee932049944c4922d5d3025 (diff) | |
download | musl-b8dda24fe1caa901a99580f7a52defb95aedb67c.tar.gz musl-b8dda24fe1caa901a99580f7a52defb95aedb67c.tar.xz musl-b8dda24fe1caa901a99580f7a52defb95aedb67c.zip |
in visibility preinclude, remove overrides for stdin/stdout/stderr
the motivation for this change is that the extra declaration (with or without visibility) using "struct _IO_FILE" instead of "FILE" seems to trigger a bug in gcc 3.x where it considers the types mismatched. however, this change also results in slightly better code and it is valid because (1) these three objects are constant, and (2) applying the & operator to any of them is invalid C, since they are not even specified to be objects. thus it does not matter if the application and libc see different addresses for them, as long as the (initial, unchanging) value is seen the same by both.
Diffstat (limited to 'src/internal/vis.h')
-rw-r--r-- | src/internal/vis.h | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/src/internal/vis.h b/src/internal/vis.h index bf7a5b20..a01fda18 100644 --- a/src/internal/vis.h +++ b/src/internal/vis.h @@ -12,9 +12,6 @@ * exported data symbols. */ __attribute__((__visibility__("default"))) -extern struct _IO_FILE *const stdin, *const stdout, *const stderr; - -__attribute__((__visibility__("default"))) extern int optind, opterr, optopt, optreset, __optreset, getdate_err, h_errno, daylight, __daylight, signgam, __signgam; __attribute__((__visibility__("default"))) |