aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorJose E. Marchesi <jose.marchesi@oracle.com>2024-04-25 16:53:49 +0200
committerJose E. Marchesi <jose.marchesi@oracle.com>2024-04-25 17:33:45 +0200
commitc96c2a304b4a98116520cce497fbf5bab7465f23 (patch)
treeb92254a9977b42af759c918e392e9dbc990c5fd9 /libgcc
parentad45086178d833254d66fab518b14234418f002b (diff)
downloadgcc-c96c2a304b4a98116520cce497fbf5bab7465f23.zip
gcc-c96c2a304b4a98116520cce497fbf5bab7465f23.tar.gz
gcc-c96c2a304b4a98116520cce497fbf5bab7465f23.tar.bz2
bpf: default to using pseudo-C assembly syntax by default
At this point the kernel headers that almost all BPF programs use contain pseudo-C inline assembly and having the GNU toolchain using the conventional assembly syntax by default would force users to specify the command-line option explicitly almost all of the time, which is very inconvenient. This patch changes GCC in order to recognize and generate the pseudo-C assembly syntax of BPF by default. The ASM_SPEC is adapted accordingly, and in a way that the current release of the BPF assembler (which still expects conventional assembler syntax by default) does the right thing. Tested in bpf-unknown-none-bpf target and x86_64-linux-gnu host. No regressions. gcc/ChangeLog * config/bpf/bpf.opt: Use ASM_PSEUDOC for the default value of -masm. * config/bpf/bpf.h (ASM_SPEC): Adapt accordingly. * doc/invoke.texi (eBPF Options): Update. gcc/testsuite/ChangeLog * gcc.target/bpf/alu-1.c: Specify conventional asm dialect. * gcc.target/bpf/xbpf-indirect-call-1.c: Likewise. * gcc.target/bpf/sync-fetch-and-add.c: Likewise. * gcc.target/bpf/smov-2.c: Likewise. * gcc.target/bpf/smov-1.c: Likewise. * gcc.target/bpf/smod-1.c: Likewise. * gcc.target/bpf/sload-1.c: Likewise. * gcc.target/bpf/sdiv-1.c: Likewise. * gcc.target/bpf/nop-1.c: Likewise. * gcc.target/bpf/neg-1.c: Likewise. * gcc.target/bpf/ldxdw.c: Likewise. * gcc.target/bpf/jmp-1.c: Likewise. * gcc.target/bpf/inline-memops-threshold-1.c: Likewise. * gcc.target/bpf/float-1.c: Likewise. * gcc.target/bpf/double-2.c: Likewise. * gcc.target/bpf/double-1.c: Likewise. * gcc.target/bpf/core-builtin-type-id.c: Likewise. * gcc.target/bpf/core-builtin-type-based.c: Likewise. * gcc.target/bpf/core-builtin-fieldinfo-size-1.c: Likewise. * gcc.target/bpf/core-builtin-fieldinfo-sign-2.c: Likewise. * gcc.target/bpf/core-builtin-fieldinfo-sign-1.c: Likewise. * gcc.target/bpf/core-builtin-fieldinfo-rshift-2.c: Likewise. * gcc.target/bpf/core-builtin-fieldinfo-rshift-1.c: Likewise. * gcc.target/bpf/core-builtin-fieldinfo-offset-1.c: Likewise. * gcc.target/bpf/core-builtin-fieldinfo-lshift-2.c: Likewise. * gcc.target/bpf/core-builtin-fieldinfo-lshift-1-le.c: Likewise. * gcc.target/bpf/core-builtin-fieldinfo-lshift-1-be.c: Likewise. * gcc.target/bpf/core-builtin-fieldinfo-existence-1.c: Likewise. * gcc.target/bpf/core-builtin-fieldinfo-errors-2.c: Likewise. * gcc.target/bpf/core-builtin-fieldinfo-errors-1.c: Likewise. * gcc.target/bpf/core-builtin-fieldinfo-const-elimination.c: Likewise. * gcc.target/bpf/core-builtin-exprlist-4.c: Likewise. * gcc.target/bpf/core-builtin-exprlist-3.c: Likewise. * gcc.target/bpf/core-builtin-exprlist-2.c: Likewise. * gcc.target/bpf/core-builtin-exprlist-1.c: Likewise. * gcc.target/bpf/core-builtin-enumvalue-opt.c: Likewise. * gcc.target/bpf/core-builtin-enumvalue-errors.c: Likewise. * gcc.target/bpf/core-builtin-enumvalue.c: Likewise. * gcc.target/bpf/core-builtin-3.c: Likewise. * gcc.target/bpf/core-builtin-2.c: Likewise. * gcc.target/bpf/core-builtin-1.c: Likewise. * gcc.target/bpf/core-attr-struct-as-array.c: Likewise. * gcc.target/bpf/core-attr-6.c: Likewise. * gcc.target/bpf/core-attr-5.c: Likewise. * gcc.target/bpf/core-attr-4.c: Likewise. * gcc.target/bpf/core-attr-3.c: Likewise. * gcc.target/bpf/core-attr-2.c: Likewise. * gcc.target/bpf/core-attr-1.c: Likewise. * gcc.target/bpf/builtin-load.c: Likewise. * gcc.target/bpf/btfext-funcinfo-nocore.c: Likewise. * gcc.target/bpf/btfext-funcinfo.c: Likewise. * gcc.target/bpf/bswap-1.c: Likewise. * gcc.target/bpf/bswap-2.c: Likewise. * gcc.target/bpf/attr-kernel-helper.c: Likewise. * gcc.target/bpf/atomic-xchg-2.c: Likewise. * gcc.target/bpf/atomic-xchg-1.c: Likewise. * gcc.target/bpf/atomic-op-3.c: Likewise. * gcc.target/bpf/atomic-op-2.c: Likewise. * gcc.target/bpf/atomic-op-1.c: Likewise. * gcc.target/bpf/atomic-fetch-op-3.c: Likewise. * gcc.target/bpf/atomic-fetch-op-2.c: Likewise. * gcc.target/bpf/atomic-fetch-op-1.c: Likewise. * gcc.target/bpf/atomic-cmpxchg-2.c: Likewise. * gcc.target/bpf/atomic-cmpxchg-1.c: Likewise. * gcc.target/bpf/alu-2.c: Likewise.
Diffstat (limited to 'libgcc')
0 files changed, 0 insertions, 0 deletions