#### 6.33.12 IA-64 Function Attributes

These function attributes are supported on IA-64 targets:

`syscall_linkage`

  This attribute is used to modify the IA-64 calling convention by marking all input registers as live at all function exits. This makes it possible to restart a system call after an interrupt without having to save/restore the input registers. This also prevents kernel data from leaking into application code.

`version_id`

  This IA-64 HP-UX attribute, attached to a global variable or function, renames a symbol to contain a version string, thus allowing for function level versioning. HP-UX system header files may use function level versioning for some system calls.

      extern int foo () __attribute__((version_id ("20040821")));

  Calls to `foo` are mapped to calls to `foo{20040821}`.