including signal.h exposes various PSR_MODE #defines
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Linaro AArch64 cross-distro work |
Fix Committed
|
Medium
|
Riku Voipio | ||
Linaro GCC |
Fix Released
|
Undecided
|
Yvan Roux |
Bug Description
I have a userspace application (part of the Xen userspace) which #includes <signal.h>. On arm64this causes preprocessor symbols such as PSR_MODE_EL0t to become defined and these clash with the applications own use of those names (via its inclusion of the Xen public headers):
tools/include/
In file included from \
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
h:360, from xentrace.c:21:
/usr/lib/
ace.h:30:0: note: this is the location of the previous definition
I am running Raring in a chroot using Wookey's aarch64 multiarch bootstrap repos. The details of how I setup my chroots are at http://
Interesting packages:
libc 2.17-0ubuntu4pr
binutils-
gcc-aarch64-
Xen is, FWIW, the latest http://
I initially fixed thi swith the kernel patch seen at http://
Changed in linaro-aarch64: | |
importance: | Undecided → Low |
Changed in linaro-aarch64: | |
importance: | Low → Medium |
Changed in gcc-linaro: | |
assignee: | nobody → Ryan S. Arnold (ryan-arnold) |
Changed in linaro-aarch64: | |
assignee: | nobody → Riku Voipio (riku-voipio) |
Changed in gcc-linaro: | |
assignee: | Ryan S. Arnold (ryan-arnold) → Yvan Roux (yvan-roux) |
Changed in linaro-aarch64: | |
status: | Triaged → Fix Committed |
Changed in gcc-linaro: | |
status: | Fix Committed → Fix Released |
Looking at differences between x86_64 and aarch64 versions of signal.h, both include sys/ucontext.h, where only the aarch64 version includes <sys/procfs.h> which in turn says:
/* Anyway, the whole purpose of this file is for GDB and GDB only.
Don't read too much into it. Don't use it for anything other than
GDB unless you know what you are doing. */
Doesn't seem like including it from a posix header like <signal.h> is safe.