[COMMITTED 0/4] bpf: backports to releases/gcc-10

Jose E. Marchesi jose.marchesi@oracle.com
Wed Aug 12 15:06:48 GMT 2020


Hi people!

Just a few BPF related backports from master to the gcc-10 branch.

I left the changelog entry dates of the original commits untouched,
and added `(cherry-pick from commit XXX)' lines to the commit
messages.  Hope that is ok... please let me know otherwise! :)

Salud!

Jose E. Marchesi (4):
  bpf: add support for the -mxbpf option
  bpf: do not save/restore callee-saved registers in function
    prolog/epilog
  bpf: more flexible support for kernel helpers
  bpf: remove trailing whitespaces from source files

 gcc/config/bpf/bpf-helpers.def                | 194 -------
 gcc/config/bpf/bpf-helpers.h                  | 530 +++++++++++-------
 gcc/config/bpf/bpf.c                          | 305 +++++-----
 gcc/config/bpf/bpf.md                         |   2 +-
 gcc/config/bpf/bpf.opt                        |   6 +
 gcc/config/bpf/constraints.md                 |   1 -
 gcc/config/bpf/predicates.md                  |   1 -
 gcc/doc/extend.texi                           | 172 +-----
 gcc/doc/invoke.texi                           |  10 +-
 gcc/testsuite/gcc.target/bpf/diag-funargs-2.c |   1 -
 gcc/testsuite/gcc.target/bpf/diag-funargs-3.c |   1 -
 gcc/testsuite/gcc.target/bpf/helper-bind.c    |   4 +-
 .../gcc.target/bpf/helper-bpf-redirect.c      |   4 +-
 .../gcc.target/bpf/helper-clone-redirect.c    |   4 +-
 .../gcc.target/bpf/helper-csum-diff.c         |   4 +-
 .../gcc.target/bpf/helper-csum-update.c       |   4 +-
 .../bpf/helper-current-task-under-cgroup.c    |   4 +-
 .../gcc.target/bpf/helper-fib-lookup.c        |   4 +-
 .../bpf/helper-get-cgroup-classid.c           |   4 +-
 .../bpf/helper-get-current-cgroup-id.c        |   6 +-
 .../gcc.target/bpf/helper-get-current-comm.c  |   4 +-
 .../bpf/helper-get-current-pid-tgid.c         |   4 +-
 .../gcc.target/bpf/helper-get-current-task.c  |   4 +-
 .../bpf/helper-get-current-uid-gid.c          |   4 +-
 .../gcc.target/bpf/helper-get-hash-recalc.c   |   4 +-
 .../gcc.target/bpf/helper-get-listener-sock.c |   4 +-
 .../gcc.target/bpf/helper-get-local-storage.c |   6 +-
 .../gcc.target/bpf/helper-get-numa-node-id.c  |   4 +-
 .../gcc.target/bpf/helper-get-prandom-u32.c   |   4 +-
 .../gcc.target/bpf/helper-get-route-realm.c   |   4 +-
 .../bpf/helper-get-smp-processor-id.c         |   4 +-
 .../gcc.target/bpf/helper-get-socket-cookie.c |   6 +-
 .../gcc.target/bpf/helper-get-socket-uid.c    |   6 +-
 .../gcc.target/bpf/helper-get-stack.c         |   4 +-
 .../gcc.target/bpf/helper-get-stackid.c       |   4 +-
 .../gcc.target/bpf/helper-getsockopt.c        |   8 +-
 .../gcc.target/bpf/helper-ktime-get-ns.c      |   4 +-
 .../gcc.target/bpf/helper-l3-csum-replace.c   |   4 +-
 .../gcc.target/bpf/helper-l4-csum-replace.c   |   4 +-
 .../gcc.target/bpf/helper-lwt-push-encap.c    |   6 +-
 .../gcc.target/bpf/helper-lwt-seg6-action.c   |   8 +-
 .../bpf/helper-lwt-seg6-adjust-srh.c          |   7 +-
 .../bpf/helper-lwt-seg6-store-bytes.c         |   7 +-
 .../gcc.target/bpf/helper-map-delete-elem.c   |   5 +-
 .../gcc.target/bpf/helper-map-lookup-elem.c   |   5 +-
 .../gcc.target/bpf/helper-map-peek-elem.c     |   5 +-
 .../gcc.target/bpf/helper-map-pop-elem.c      |   5 +-
 .../gcc.target/bpf/helper-map-push-elem.c     |   4 +-
 .../gcc.target/bpf/helper-map-update-elem.c   |   4 +-
 .../gcc.target/bpf/helper-msg-apply-bytes.c   |   6 +-
 .../gcc.target/bpf/helper-msg-cork-bytes.c    |   6 +-
 .../gcc.target/bpf/helper-msg-pop-data.c      |   4 +-
 .../gcc.target/bpf/helper-msg-pull-data.c     |   9 +-
 .../gcc.target/bpf/helper-msg-push-data.c     |   4 +-
 .../gcc.target/bpf/helper-msg-redirect-hash.c |   4 +-
 .../gcc.target/bpf/helper-msg-redirect-map.c  |   7 +-
 .../gcc.target/bpf/helper-override-return.c   |   6 +-
 .../gcc.target/bpf/helper-perf-event-output.c |   3 +-
 .../bpf/helper-perf-event-read-value.c        |   6 +-
 .../gcc.target/bpf/helper-perf-event-read.c   |   4 +-
 .../bpf/helper-perf-prog-read-value.c         |   6 +-
 .../gcc.target/bpf/helper-probe-read-str.c    |   6 +-
 .../gcc.target/bpf/helper-probe-read.c        |   4 +-
 .../gcc.target/bpf/helper-probe-write-user.c  |   4 +-
 .../gcc.target/bpf/helper-rc-keydown.c        |   7 +-
 .../gcc.target/bpf/helper-rc-pointer-rel.c    |   4 +-
 .../gcc.target/bpf/helper-rc-repeat.c         |   6 +-
 .../gcc.target/bpf/helper-redirect-map.c      |   6 +-
 .../gcc.target/bpf/helper-set-hash-invalid.c  |   4 +-
 .../gcc.target/bpf/helper-set-hash.c          |   6 +-
 .../gcc.target/bpf/helper-setsockopt.c        |   7 +-
 .../gcc.target/bpf/helper-sk-fullsock.c       |   4 +-
 .../gcc.target/bpf/helper-sk-lookup-tcp.c     |  12 +-
 .../gcc.target/bpf/helper-sk-lookup-upd.c     |  12 +-
 .../gcc.target/bpf/helper-sk-redirect-hash.c  |   5 +-
 .../gcc.target/bpf/helper-sk-redirect-map.c   |   6 +-
 .../gcc.target/bpf/helper-sk-release.c        |   6 +-
 .../bpf/helper-sk-select-reuseport.c          |   8 +-
 .../gcc.target/bpf/helper-sk-storage-delete.c |   6 +-
 .../gcc.target/bpf/helper-sk-storage-get.c    |   7 +-
 .../gcc.target/bpf/helper-skb-adjust-room.c   |   6 +-
 .../gcc.target/bpf/helper-skb-cgroup-id.c     |   6 +-
 .../gcc.target/bpf/helper-skb-change-head.c   |   6 +-
 .../gcc.target/bpf/helper-skb-change-proto.c  |   4 +-
 .../gcc.target/bpf/helper-skb-change-tail.c   |   4 +-
 .../gcc.target/bpf/helper-skb-change-type.c   |   4 +-
 .../gcc.target/bpf/helper-skb-ecn-set-ce.c    |   4 +-
 .../bpf/helper-skb-get-tunnel-key.c           |   4 +-
 .../bpf/helper-skb-get-tunnel-opt.c           |   4 +-
 .../bpf/helper-skb-get-xfrm-state.c           |   6 +-
 .../bpf/helper-skb-load-bytes-relative.c      |   8 +-
 .../gcc.target/bpf/helper-skb-load-bytes.c    |   4 +-
 .../gcc.target/bpf/helper-skb-pull-data.c     |   4 +-
 .../bpf/helper-skb-set-tunnel-key.c           |   4 +-
 .../bpf/helper-skb-set-tunnel-opt.c           |   4 +-
 .../gcc.target/bpf/helper-skb-store-bytes.c   |   4 +-
 .../gcc.target/bpf/helper-skb-under-cgroup.c  |   4 +-
 .../gcc.target/bpf/helper-skb-vlan-pop.c      |   4 +-
 .../gcc.target/bpf/helper-skb-vlan-push.c     |   4 +-
 .../gcc.target/bpf/helper-skc-lookup-tcp.c    |   6 +-
 .../gcc.target/bpf/helper-sock-hash-update.c  |   4 +-
 .../gcc.target/bpf/helper-sock-map-update.c   |   7 +-
 .../bpf/helper-sock-ops-cb-flags-set.c        |   7 +-
 .../gcc.target/bpf/helper-spin-lock.c         |   4 +-
 .../gcc.target/bpf/helper-spin-unlock.c       |   4 +-
 gcc/testsuite/gcc.target/bpf/helper-strtol.c  |   6 +-
 gcc/testsuite/gcc.target/bpf/helper-strtoul.c |   6 +-
 .../bpf/helper-sysctl-get-current-value.c     |   7 +-
 .../gcc.target/bpf/helper-sysctl-get-name.c   |   7 +-
 .../bpf/helper-sysctl-get-new-value.c         |   7 +-
 .../bpf/helper-sysctl-set-new-value.c         |   7 +-
 .../gcc.target/bpf/helper-tail-call.c         |   5 +-
 .../bpf/helper-tcp-check-syncookie.c          |  10 +-
 .../gcc.target/bpf/helper-tcp-sock.c          |   4 +-
 .../gcc.target/bpf/helper-trace-printk.c      |   5 +-
 .../gcc.target/bpf/helper-xdp-adjust-head.c   |   6 +-
 .../gcc.target/bpf/helper-xdp-adjust-meta.c   |   6 +-
 .../gcc.target/bpf/helper-xdp-adjust-tail.c   |   3 +-
 .../gcc.target/bpf/skb-ancestor-cgroup-id.c   |   7 +-
 .../gcc.target/bpf/xbpf-callee-saved-regs-1.c |  17 +
 .../gcc.target/bpf/xbpf-callee-saved-regs-2.c |  17 +
 121 files changed, 924 insertions(+), 904 deletions(-)
 delete mode 100644 gcc/config/bpf/bpf-helpers.def
 create mode 100644 gcc/testsuite/gcc.target/bpf/xbpf-callee-saved-regs-1.c
 create mode 100644 gcc/testsuite/gcc.target/bpf/xbpf-callee-saved-regs-2.c

-- 
2.25.0.2.g232378479e



More information about the Gcc-patches mailing list