about summary refs log tree commit diff
path: root/include/bits
diff options
context:
space:
mode:
authorTulio Magno Quites Machado Filho <tuliom@linux.ibm.com>2022-07-07 18:12:58 -0300
committerTulio Magno Quites Machado Filho <tuliom@linux.ibm.com>2022-07-14 16:01:14 -0300
commitd0fa09a7701956036ff36f8ca188e9fff81553d8 (patch)
tree26e7f93e4d5bd5a291ee139cced70688751d2c03 /include/bits
parent779aa039fc4151bdc0d79ef2e141604863856a60 (diff)
downloadglibc-d0fa09a7701956036ff36f8ca188e9fff81553d8.tar.gz
glibc-d0fa09a7701956036ff36f8ca188e9fff81553d8.tar.xz
glibc-d0fa09a7701956036ff36f8ca188e9fff81553d8.zip
Apply asm redirections in stdio.h before first use [BZ #27087]
Compilers may not be able to apply asm redirections to functions after
these functions are used for the first time, e.g. clang 13.
Fix [BZ #27087] by applying all long double-related asm redirections
before using functions in bits/stdio.h.
However, as these asm redirections depend on the declarations provided
by libio/bits/stdio2.h, this header was split in 2:

 - libio/bits/stdio2-decl.h contains all function declarations;
 - libio/bits/stdio2.h remains with the remaining contents, including
   redirections.

This also adds the access attribute to __vsnprintf_chk that was missing.

Tested with build-many-glibcs.py.

Reviewed-by: Paul E. Murphy <murphyp@linux.ibm.com>
Diffstat (limited to 'include/bits')
-rw-r--r--include/bits/stdio2-decl.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/bits/stdio2-decl.h b/include/bits/stdio2-decl.h
new file mode 100644
index 0000000000..bbb052f192
--- /dev/null
+++ b/include/bits/stdio2-decl.h
@@ -0,0 +1 @@
+#include <libio/bits/stdio2-decl.h>