"value size does not match register size specified by the constraint and modifier" on arm64
- Dominant language
- C
- Stars
- 22.7k
- Forks
- 4.1k
- Avg merge
- 10d 4h
- Merged PRs (30d)
- 3
Description
Hi. I compile and run bcc on arm64 platform, but meet the following warning.
```
root@opt$ trace vfs_open
In file included from /virtual/main.c:2:
In file included from include/linux/ptrace.h:6:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:39:
In file included from include/linux/irqflags.h:16:
arch/arm64/include/asm/irqflags.h:122:10: warning: value size does not match register size specified by the constraint and modifier [-Wasm-operand-widths]
: "r" ((int)flags)
```
opensnoop, execsnoop, same problem.
And opensnoop doesn't print the `PATH` column:
```
Croot@bcc (master %)$ opensnoop -n file
In file included from /virtual/main.c:16:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:39:
In file included from include/linux/irqflags.h:16:
arch/arm64/include/asm/irqflags.h:122:10: warning: value size does not match register size specified by the constraint and modifier [-Wasm-operand-widths]
: "r" ((int)flags)
^
arch/arm64/include/asm/irqflags.h:116:15: note: use constraint modifier "w"
"msr daif, %0\n"
^~
%w0
arch/arm64/include/asm/alternative.h:286:19: note: expanded from macro 'ALTERNATIVE'
_ALTERNATIVE_CFG(oldinstr, newinstr, __VA_ARGS__, 1)
^
arch/arm64/include/asm/alternative.h:88:20: note: expanded from macro '_ALTERNATIVE_CFG'
__ALTERNATIVE_CFG(oldinstr, newinstr, feature, IS_ENABLED(cfg), 0)
^
arch/arm64/include/asm/alternative.h:68:2: note: expanded from macro '__ALTERNATIVE_CFG'
oldinstr "\n" \
^
In file included from /virtual/main.c:16:
In file included from include/linux/sched.h:14:
In file included from include/linux/pid.h:5:
In file included from include/linux/rculist.h:11:
In file included from include/linux/rcupdate.h:39:
In file included from include/linux/irqflags.h:16:
arch/arm64/include/asm/irqflags.h:122:10: warning: value size does not match register size specified by the constraint and modifier [-Wasm-operand-widths]
: "r" ((int)flags)
^
arch/arm64/include/asm/irqflags.h:118:45: note: use constraint modifier "w"
"msr_s " __stringify(SYS_ICC_PMR_EL1) ", %0\n"
^~
%w0
arch/arm64/include/asm/alternative.h:286:29: note: expanded from macro 'ALTERNATIVE'
_ALTERNATIVE_CFG(oldinstr, newinstr, __VA_ARGS__, 1)
^
arch/arm64/include/asm/alternative.h:88:30: note: expanded from macro '_ALTERNATIVE_CFG'
__ALTERNATIVE_CFG(oldinstr, newinstr, feature, IS_ENABLED(cfg), 0)
^
arch/arm64/include/asm/alternative.h:76:2: note: expanded from macro '__ALTERNATIVE_CFG'
newinstr "\n" \
^
2 warnings generated.
PID COMM FD ERR PATH
29649 file 3 0
29649 file -1 2
29649 file -1 2
29649 file -1 2
29649 file -1 2
29649 file -1 2
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.