PR_SET_UNALIGN − set unaligned access control bits
Standard C library (libc, −lc)
#include
<linux/prctl.h> /* Definition of PR_*
constants */
#include <sys/prctl.h>
int prctl(PR_SET_UNALIGN, unsigned long flag);
Set unaligned access control bits to arg2.
Pass PR_UNALIGN_NOPRINT to silently fix up unaligned user accesses, or PR_UNALIGN_SIGBUS to generate SIGBUS on unaligned user access.
Alpha also supports an additional flag with the value of 4 and no corresponding named constant, which instructs kernel to not fix up unaligned accesses (it is analogous to providing the UAC_NOFIX flag in SSI_NVPAIRS operation of the setsysinfo() system call on Tru64).
On success, 0 is returned. On error, −1 is returned, and errno is set to indicate the error.
|
EINVAL |
flag is not a valid value. |
Linux.
Only on:
|
• |
ia64, since Linux 2.3.48 |
|||
|
• |
parisc, since Linux 2.6.15 |
|||
|
• |
PowerPC, since Linux 2.6.18 |
|||
|
• |
Alpha, since Linux 2.6.22 |
|||
|
• |
sh, since Linux 2.6.34 |
|||
|
• |
tile, since Linux 3.12 |
prctl(2), PR_GET_UNALIGN(2const)