]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst
sphinx: add missing trailing newline
[thirdparty/gcc.git] / gcc / doc / gcc / extensions-to-the-c-language-family / declaring-attributes-of-functions / ia-64-function-attributes.rst
CommitLineData
c63539ff
ML
1..
2 Copyright 1988-2022 Free Software Foundation, Inc.
3 This is part of the GCC manual.
4 For copying conditions, see the copyright.rst file.
5
6.. _ia-64-function-attributes:
7
8IA-64 Function Attributes
9^^^^^^^^^^^^^^^^^^^^^^^^^
10
11These function attributes are supported on IA-64 targets:
12
13.. index:: syscall_linkage function attribute, IA-64
14
15.. ia-64-fn-attr:: syscall_linkage
16
17 This attribute is used to modify the IA-64 calling convention by marking
18 all input registers as live at all function exits. This makes it possible
19 to restart a system call after an interrupt without having to save/restore
20 the input registers. This also prevents kernel data from leaking into
21 application code.
22
23.. index:: version_id function attribute, IA-64
24
25.. ia-64-fn-attr:: version_id
26
27 This IA-64 HP-UX attribute, attached to a global variable or function, renames a
28 symbol to contain a version string, thus allowing for function level
29 versioning. HP-UX system header files may use function level versioning
30 for some system calls.
31
32 .. code-block:: c++
33
34 extern int foo () __attribute__((version_id ("20040821")));
35
3ed1b4ce 36 Calls to ``foo`` are mapped to calls to ``foo{20040821}``.