From 2a351e0cdc5c6fc00b65d507b8aabbc8f82b9d79 Mon Sep 17 00:00:00 2001 From: purplerain Date: Thu, 6 Jul 2023 21:55:14 +0000 Subject: [PATCH] sync --- bin/pax/pax.c | 6 +- bin/ps/ps.1 | 6 +- distrib/sets/lists/comp/clang.amd64 | 3 + distrib/sets/lists/comp/clang.arm64 | 3 + distrib/sets/lists/comp/clang.armv7 | 3 + distrib/sets/lists/comp/clang.i386 | 3 + distrib/sets/lists/man/mi | 1 + etc/root/root.mail | 4 +- etc/skel/dot.version | 2 +- gnu/lib/libcxx/Makefile | 5 +- .../libcxx/include/__algorithm/ranges_find.h | 63 + .../include/__algorithm/ranges_find_if.h | 71 + .../include/__algorithm/ranges_find_if_not.h | 63 + gnu/llvm/libcxx/include/algorithm | 32 + gnu/llvm/libcxx/include/module.modulemap | 3 + gnu/llvm/lld/docs/ld.lld.1 | 5 + gnu/usr.bin/binutils-2.17/bfd/elf-bfd.h | 3 + gnu/usr.bin/binutils-2.17/bfd/elf.c | 28 +- gnu/usr.bin/binutils-2.17/binutils/readelf.c | 12 +- gnu/usr.bin/binutils-2.17/include/bfdlink.h | 3 + .../binutils-2.17/include/elf/common.h | 3 +- .../binutils-2.17/ld/emultempl/elf32.em | 22 +- gnu/usr.bin/binutils-2.17/ld/ld.texinfo | 5 + gnu/usr.bin/binutils-2.17/ld/ldgram.y | 2 + .../perl/cpan/Pod-Perldoc/corpus/perlfunc.pod | 244 +- .../perl/ext/Pod-Functions/Functions_pm.PL | 16 +- gnu/usr.bin/perl/pod/perldiag.pod | 6 +- gnu/usr.bin/perl/pod/perlform.pod | 34 +- gnu/usr.bin/perl/regen/feature.pl | 2 +- lib/libc/stdlib/malloc.3 | 6 +- lib/libc/uuid/uuid_compare.3 | 8 +- lib/libcrypto/Makefile | 9 +- lib/libcrypto/Symbols.namespace | 374 ++ lib/libcrypto/asn1/a_bitstr.c | 13 +- lib/libcrypto/asn1/a_enum.c | 14 +- lib/libcrypto/asn1/a_int.c | 19 +- lib/libcrypto/asn1/a_mbstr.c | 4 +- lib/libcrypto/asn1/a_object.c | 10 +- lib/libcrypto/asn1/a_octet.c | 9 +- lib/libcrypto/asn1/a_pkey.c | 5 +- lib/libcrypto/asn1/a_print.c | 4 +- lib/libcrypto/asn1/a_pubkey.c | 4 +- lib/libcrypto/asn1/a_strex.c | 6 +- lib/libcrypto/asn1/a_string.c | 19 +- lib/libcrypto/asn1/a_strnid.c | 163 +- lib/libcrypto/asn1/a_time.c | 8 +- lib/libcrypto/asn1/a_time_tm.c | 24 +- lib/libcrypto/asn1/a_type.c | 14 +- lib/libcrypto/asn1/ameth_lib.c | 22 +- lib/libcrypto/asn1/asn1_err.c | 3 +- lib/libcrypto/asn1/asn1_gen.c | 4 +- lib/libcrypto/asn1/asn1_item.c | 13 +- lib/libcrypto/asn1/asn1_old.c | 7 +- lib/libcrypto/asn1/asn1_old_lib.c | 6 +- lib/libcrypto/asn1/asn1_par.c | 4 +- lib/libcrypto/asn1/asn1_types.c | 4 +- lib/libcrypto/asn1/asn_mime.c | 4 +- lib/libcrypto/asn1/asn_moid.c | 3 +- lib/libcrypto/asn1/bio_asn1.c | 7 +- lib/libcrypto/asn1/p5_pbe.c | 8 +- lib/libcrypto/asn1/p5_pbev2.c | 13 +- lib/libcrypto/asn1/p8_pkey.c | 11 +- lib/libcrypto/asn1/t_crl.c | 4 +- lib/libcrypto/asn1/t_pkey.c | 4 +- lib/libcrypto/asn1/t_req.c | 5 +- lib/libcrypto/asn1/t_spki.c | 3 +- lib/libcrypto/asn1/t_x509.c | 13 +- lib/libcrypto/asn1/t_x509a.c | 3 +- lib/libcrypto/asn1/tasn_dec.c | 5 +- lib/libcrypto/asn1/tasn_enc.c | 5 +- lib/libcrypto/asn1/tasn_fre.c | 6 +- lib/libcrypto/asn1/tasn_new.c | 6 +- lib/libcrypto/asn1/tasn_prn.c | 15 +- lib/libcrypto/asn1/tasn_typ.c | 62 +- lib/libcrypto/asn1/x_algor.c | 13 +- lib/libcrypto/asn1/x_attrib.c | 8 +- lib/libcrypto/asn1/x_crl.c | 36 +- lib/libcrypto/asn1/x_exten.c | 9 +- lib/libcrypto/asn1/x_info.c | 4 +- lib/libcrypto/asn1/x_name.c | 14 +- lib/libcrypto/asn1/x_pkey.c | 4 +- lib/libcrypto/asn1/x_pubkey.c | 35 +- lib/libcrypto/asn1/x_req.c | 13 +- lib/libcrypto/asn1/x_sig.c | 8 +- lib/libcrypto/asn1/x_spki.c | 10 +- lib/libcrypto/asn1/x_val.c | 6 +- lib/libcrypto/asn1/x_x509.c | 19 +- lib/libcrypto/asn1/x_x509a.c | 14 +- lib/libcrypto/bio/b_dump.c | 8 +- lib/libcrypto/bio/b_posix.c | 5 +- lib/libcrypto/bio/b_print.c | 7 +- lib/libcrypto/bio/b_sock.c | 10 +- lib/libcrypto/bio/bf_buff.c | 3 +- lib/libcrypto/bio/bf_nbio.c | 3 +- lib/libcrypto/bio/bf_null.c | 3 +- lib/libcrypto/bio/bio.h | 42 +- lib/libcrypto/bio/bio_cb.c | 3 +- lib/libcrypto/bio/bio_err.c | 3 +- lib/libcrypto/bio/bio_lib.c | 52 +- lib/libcrypto/bio/bio_meth.c | 20 +- lib/libcrypto/bio/bss_acpt.c | 5 +- lib/libcrypto/bio/bss_bio.c | 11 +- lib/libcrypto/bio/bss_conn.c | 7 +- lib/libcrypto/bio/bss_dgram.c | 5 +- lib/libcrypto/bio/bss_fd.c | 6 +- lib/libcrypto/bio/bss_file.c | 5 +- lib/libcrypto/bio/bss_log.c | 3 +- lib/libcrypto/bio/bss_mem.c | 4 +- lib/libcrypto/bio/bss_null.c | 3 +- lib/libcrypto/bio/bss_sock.c | 7 +- lib/libcrypto/bn/bn_local.h | 6 +- lib/libcrypto/bn/bn_print.c | 147 + lib/libcrypto/bn/bn_sqr.c | 58 +- lib/libcrypto/chacha/chacha.c | 7 +- lib/libcrypto/crypto.h | 52 +- lib/libcrypto/crypto_init.c | 11 +- lib/libcrypto/ec/ec.h | 7 +- lib/libcrypto/ec/ec_ameth.c | 34 +- lib/libcrypto/ec/ec_check.c | 13 +- lib/libcrypto/ec/ec_err.c | 7 +- lib/libcrypto/ec/ec_key.c | 31 +- lib/libcrypto/ec/ec_kmeth.c | 18 +- lib/libcrypto/ec/ec_lib.c | 9 +- lib/libcrypto/ec/ec_local.h | 13 +- lib/libcrypto/ec/eck_prn.c | 279 +- lib/libcrypto/ec/ecp_smpl.c | 4 +- lib/libcrypto/ec/ecx_methods.c | 12 +- lib/libcrypto/ecdh/{ech_key.c => ecdh.c} | 173 +- lib/libcrypto/ecdh/ecdh_kdf.c | 121 - lib/libcrypto/ecdh/ech_lib.c | 4 +- lib/libcrypto/ecdsa/ecdsa.c | 818 +++ .../ecdsa/{ecs_local.h => ecdsa_local.h} | 12 +- lib/libcrypto/ecdsa/ecs_asn1.c | 151 - lib/libcrypto/ecdsa/ecs_lib.c | 10 +- lib/libcrypto/ecdsa/ecs_ossl.c | 614 -- lib/libcrypto/gost/gostr341001.c | 4 +- lib/libcrypto/gost/gostr341001_pmeth.c | 4 +- lib/libcrypto/hidden/README | 2 +- lib/libcrypto/hidden/openssl/asn1.h | 262 + lib/libcrypto/hidden/openssl/asn1t.h | 39 + lib/libcrypto/hidden/openssl/bio.h | 154 + lib/libcrypto/hidden/openssl/chacha.h | 35 + lib/libcrypto/hidden/openssl/hmac.h | 6 +- lib/libcrypto/hidden/openssl/pkcs12.h | 6 +- lib/libcrypto/hidden/openssl/pkcs7.h | 6 +- lib/libcrypto/hidden/openssl/stack.h | 6 +- lib/libcrypto/hidden/openssl/ui.h | 6 +- lib/libcrypto/hidden/openssl/x509.h | 6 +- lib/libcrypto/hidden/openssl/x509_vfy.h | 17 +- lib/libcrypto/hidden/openssl/x509v3.h | 6 +- lib/libcrypto/opensslfeatures.h | 14 +- lib/libcrypto/sha/sha512.c | 166 +- lib/libcrypto/sm2/sm2_sign.c | 8 +- lib/libcrypto/x509/x509_purp.c | 76 +- lib/libcrypto/x509/x509_trs.c | 59 +- lib/libelf/gelf.3 | 4 +- lib/libssl/Makefile | 6 +- lib/libssl/d1_pkt.c | 22 +- lib/libssl/hidden/openssl/ssl.h | 6 +- lib/libssl/s3_lib.c | 4 +- lib/libssl/ssl_local.h | 14 +- lib/libssl/ssl_methods.c | 37 +- lib/libssl/ssl_versions.c | 12 +- lib/libtls/man/tls_config_set_protocols.3 | 12 +- lib/libtls/tls.c | 10 +- lib/libtls/tls.h | 14 +- lib/libtls/tls_config.c | 6 +- libexec/snmpd/snmpd_metrics/mib.c | 21 +- regress/gnu/usr.bin/perl/Makefile | 27 + regress/lib/libc/uuid/uuidtest.c | 142 +- regress/lib/libcrypto/bn/Makefile | 4 +- regress/lib/libcrypto/bn/bn_print.c | 278 + regress/lib/libssl/Makefile | 6 +- regress/lib/libssl/interop/version/Makefile | 4 +- regress/lib/libssl/ssl/ssltest.c | 17 +- regress/lib/libssl/ssl/testssl | 36 +- regress/lib/libssl/tls/tlstest.c | 78 +- regress/lib/libssl/tlsext/tlsexttest.c | 29 +- regress/lib/libssl/tlsfuzzer/tlsfuzzer.py | 43 +- regress/lib/libssl/unit/ssl_versions.c | 68 +- regress/lib/libtls/config/configtest.c | 23 +- regress/lib/libtls/gotls/tls.go | 2 - regress/lib/libtls/gotls/tls_test.go | 8 +- regress/sys/copy/copy.c | 6 +- regress/sys/kern/Makefile | 4 +- regress/sys/kern/syscall/Makefile | 5 - regress/sys/kern/syscall/syscall.c | 35 - regress/usr.bin/openssl/appstest.sh | 6 +- regress/usr.bin/openssl/test_client.sh | 4 +- regress/usr.bin/openssl/test_server.sh | 4 +- regress/usr.bin/pkg-config/Makefile | 38 +- regress/usr.bin/rcs/Makefile | 6 +- .../usr.sbin/syslogd/args-tls-v10-noverify.pl | 32 - .../usr.sbin/syslogd/args-tls-v10-verify.pl | 33 - sbin/disklabel/disklabel.8 | 33 +- sbin/disklabel/disklabel.c | 48 +- sbin/disklabel/dkcksum.c | 4 +- sbin/disklabel/editor.c | 134 +- sbin/wsconsctl/mouse.c | 13 +- sbin/wsconsctl/mousecfg.c | 41 +- sbin/wsconsctl/mousecfg.h | 3 +- share/man/man1/clean-old-distfiles.1 | 19 +- share/man/man1/dpb-replay.1 | 15 +- share/man/man4/Makefile | 6 +- share/man/man4/pf.4 | 32 +- share/man/man4/qccpu.4 | 50 + share/man/man4/wsmouse.4 | 8 +- share/man/man5/bsd.port.mk.5 | 12 +- share/man/man9/malloc.9 | 18 +- share/man/man9/mbuf.9 | 9 +- sys/arch/amd64/amd64/locore.S | 28 +- sys/arch/amd64/amd64/trap.c | 15 +- sys/arch/amd64/include/_types.h | 4 +- sys/arch/amd64/include/cpu.h | 7 +- sys/arch/arm/include/_types.h | 4 +- sys/arch/arm64/conf/GENERIC | 3 +- sys/arch/arm64/dev/agintc.c | 4 +- sys/arch/arm64/dev/apldc.c | 9 +- sys/arch/arm64/dev/aplhidev.c | 9 +- sys/arch/arm64/dev/apm.c | 5 +- sys/arch/arm64/include/_types.h | 4 +- sys/arch/armv7/armv7/armv7_machdep.c | 7 +- sys/arch/i386/i386/apm.c | 4 +- sys/arch/i386/include/_types.h | 4 +- sys/conf/param.c | 12 +- sys/ddb/db_command.c | 4 +- sys/ddb/db_interface.h | 4 +- sys/dev/acpi/acpi.c | 2 +- sys/dev/acpi/acpi_x86.c | 2 +- sys/dev/dt/dt_prov_kprobe.c | 56 +- sys/dev/fdt/dwmmc.c | 9 +- sys/dev/fdt/files.fdt | 7 +- sys/dev/fdt/if_dwge.c | 88 +- sys/dev/fdt/if_dwqe_fdt.c | 71 +- sys/dev/fdt/qccpu.c | 287 + sys/dev/fdt/qcpas.c | 12 +- sys/dev/fdt/qcsmptp.c | 23 +- sys/dev/ic/dwqe.c | 25 +- sys/dev/ic/mfi.c | 7 +- sys/dev/ic/mpi.c | 7 +- sys/dev/pci/drm/amd/amdgpu/amdgpu_vm.c | 4 + .../pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 73 +- .../pci/drm/amd/display/dc/core/amdgpu_dc.c | 50 +- sys/dev/pci/drm/radeon/radeon_gem.c | 4 +- sys/dev/pci/if_bge.c | 260 +- sys/dev/pci/if_bgereg.h | 5 +- sys/dev/pci/if_iwm.c | 4 +- sys/dev/pci/if_iwx.c | 8 +- sys/dev/pci/mfii.c | 7 +- sys/dev/pci/mpii.c | 7 +- sys/dev/pci/virtio_pci.c | 4 +- sys/dev/pv/hyperv.c | 5 +- sys/dev/pv/if_vio.c | 14 +- sys/dev/usb/ubcmtp.c | 9 +- sys/dev/wscons/wsconsio.h | 25 +- sys/dev/wscons/wsevent.c | 4 +- sys/dev/wscons/wstpad.c | 80 +- sys/kern/kern_clockintr.c | 26 +- sys/kern/kern_exec.c | 14 +- sys/kern/kern_fork.c | 5 +- sys/kern/kern_sysctl.c | 4 +- sys/kern/subr_suspend.c | 5 +- sys/kern/uipc_socket.c | 15 +- sys/kern/uipc_socket2.c | 10 +- sys/kern/vfs_syscalls.c | 9 +- sys/net/if.c | 36 +- sys/net/if_ethersubr.c | 7 +- sys/net/if_loop.c | 9 +- sys/net/if_pfsync.c | 5073 ++++++++++------- sys/net/if_pfsync.h | 30 +- sys/net/netisr.h | 4 +- sys/net/pf.c | 217 +- sys/net/pf_ioctl.c | 47 +- sys/net/pf_norm.c | 16 +- sys/net/pfvar.h | 12 +- sys/net/pfvar_priv.h | 35 +- sys/netinet/in_proto.c | 4 +- sys/netinet/ip_ipsp.h | 8 +- sys/netinet/ip_output.c | 4 +- sys/netinet/tcp_input.c | 30 +- sys/netinet/tcp_output.c | 7 +- sys/netinet/tcp_subr.c | 8 +- sys/netinet/tcp_timer.c | 8 +- sys/netinet/tcp_usrreq.c | 5 +- sys/netinet/tcp_var.h | 40 +- sys/scsi/scsi_base.c | 7 +- sys/sys/malloc.h | 110 +- sys/sys/mbuf.h | 5 +- sys/sys/mount.h | 5 +- sys/sys/proc.h | 4 +- sys/sys/socketvar.h | 13 +- sys/sys/sysctl.h | 5 +- sys/sys/tty.h | 3 +- sys/ufs/ffs/ffs_softdep.c | 4 +- sys/ufs/ffs/ffs_vfsops.c | 18 +- usr.bin/libtool/LT/Archive.pm | 17 +- usr.bin/libtool/LT/Exec.pm | 43 +- usr.bin/libtool/LT/Getopt.pm | 83 +- usr.bin/libtool/LT/LaFile.pm | 32 +- usr.bin/libtool/LT/LaLoFile.pm | 23 +- usr.bin/libtool/LT/LoFile.pm | 13 +- usr.bin/libtool/LT/Trace.pm | 32 +- usr.bin/netstat/inet.c | 9 +- usr.bin/openssl/ca.c | 45 +- usr.bin/openssl/openssl.1 | 39 +- usr.bin/openssl/req.c | 9 +- usr.bin/openssl/s_client.c | 66 +- usr.bin/openssl/s_server.c | 76 +- usr.bin/ssh/channels.c | 7 +- usr.bin/ssh/channels.h | 4 +- usr.bin/ssh/ssh.c | 6 +- usr.bin/systat/pftop.c | 12 +- usr.bin/tmux/arguments.c | 4 +- usr.bin/tmux/format.c | 6 +- usr.bin/tmux/grid.c | 5 +- usr.bin/tmux/input.c | 24 +- usr.bin/tmux/regsub.c | 6 +- usr.bin/tmux/tmux.1 | 16 +- usr.bin/tmux/tmux.h | 3 +- usr.bin/tmux/utf8.c | 6 +- usr.bin/tmux/window-copy.c | 75 +- usr.bin/tmux/window-tree.c | 6 +- usr.sbin/amd/amd/amd.c | 4 +- usr.sbin/amd/amd/xutil.c | 4 +- usr.sbin/eigrpd/packet.c | 6 +- usr.sbin/ldpd/hello.c | 4 +- usr.sbin/ldpd/labelmapping.c | 9 +- usr.sbin/ospf6d/lsreq.c | 7 +- usr.sbin/ospf6d/lsupdate.c | 4 +- usr.sbin/ospf6d/ospfe.c | 20 +- usr.sbin/ospf6d/packet.c | 4 +- usr.sbin/ospf6d/parse.y | 4 +- usr.sbin/ospfd/auth.c | 8 +- usr.sbin/ospfd/ospfe.c | 10 +- usr.sbin/ospfd/packet.c | 4 +- usr.sbin/pkg_add/OpenBSD/AddDelete.pm | 9 +- .../pkg_add/OpenBSD/PackageRepository/HTTP.pm | 6 +- usr.sbin/pkg_add/OpenBSD/PackingElement.pm | 12 +- usr.sbin/pkg_add/OpenBSD/PkgAdd.pm | 18 +- usr.sbin/pkg_add/OpenBSD/PkgCreate.pm | 16 +- usr.sbin/pkg_add/pkg_create.1 | 11 +- usr.sbin/relayd/check_tcp.c | 6 +- usr.sbin/relayd/check_tls.c | 6 +- usr.sbin/relayd/parse.y | 4 +- usr.sbin/ripd/message.c | 8 +- usr.sbin/smtpd/smtp_session.c | 5 - usr.sbin/vmd/vmd.c | 20 +- 347 files changed, 9596 insertions(+), 5486 deletions(-) create mode 100644 gnu/llvm/libcxx/include/__algorithm/ranges_find.h create mode 100644 gnu/llvm/libcxx/include/__algorithm/ranges_find_if.h create mode 100644 gnu/llvm/libcxx/include/__algorithm/ranges_find_if_not.h create mode 100644 lib/libcrypto/bn/bn_print.c rename lib/libcrypto/ecdh/{ech_key.c => ecdh.c} (58%) delete mode 100644 lib/libcrypto/ecdh/ecdh_kdf.c create mode 100644 lib/libcrypto/ecdsa/ecdsa.c rename lib/libcrypto/ecdsa/{ecs_local.h => ecdsa_local.h} (88%) delete mode 100644 lib/libcrypto/ecdsa/ecs_asn1.c delete mode 100644 lib/libcrypto/ecdsa/ecs_ossl.c create mode 100644 lib/libcrypto/hidden/openssl/asn1.h create mode 100644 lib/libcrypto/hidden/openssl/asn1t.h create mode 100644 lib/libcrypto/hidden/openssl/bio.h create mode 100644 lib/libcrypto/hidden/openssl/chacha.h create mode 100644 regress/gnu/usr.bin/perl/Makefile create mode 100644 regress/lib/libcrypto/bn/bn_print.c delete mode 100644 regress/sys/kern/syscall/Makefile delete mode 100644 regress/sys/kern/syscall/syscall.c delete mode 100644 regress/usr.sbin/syslogd/args-tls-v10-noverify.pl delete mode 100644 regress/usr.sbin/syslogd/args-tls-v10-verify.pl create mode 100644 share/man/man4/qccpu.4 create mode 100644 sys/dev/fdt/qccpu.c diff --git a/bin/pax/pax.c b/bin/pax/pax.c index 0ddfd9d91..cd5fcd690 100644 --- a/bin/pax/pax.c +++ b/bin/pax/pax.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pax.c,v 1.53 2019/06/28 13:34:59 deraadt Exp $ */ +/* $OpenBSD: pax.c,v 1.54 2023/07/05 18:45:14 guenther Exp $ */ /* $NetBSD: pax.c,v 1.5 1996/03/26 23:54:20 mrg Exp $ */ /*- @@ -93,7 +93,7 @@ char *dirptr; /* destination dir in a copy */ char *argv0; /* root of argv[0] */ enum op_mode op_mode; /* what program are we acting as? */ sigset_t s_mask; /* signal mask for cleanup critical sect */ -FILE *listf = stderr; /* file pointer to print file list to */ +FILE *listf; /* file pointer to print file list to */ int listfd = STDERR_FILENO; /* fd matching listf, for sighandler output */ char *tempfile; /* tempfile to use for mkstemp(3) */ char *tempbase; /* basename of tempfile to use for mkstemp(3) */ @@ -224,6 +224,8 @@ main(int argc, char **argv) char *tmpdir; size_t tdlen; + listf = stderr; + /* * Keep a reference to cwd, so we can always come back home. */ diff --git a/bin/ps/ps.1 b/bin/ps/ps.1 index 9ad7e8c99..9ce71cb3a 100644 --- a/bin/ps/ps.1 +++ b/bin/ps/ps.1 @@ -1,4 +1,4 @@ -.\" $OpenBSD: ps.1,v 1.129 2022/10/13 21:37:05 jmc Exp $ +.\" $OpenBSD: ps.1,v 1.130 2023/07/06 10:07:09 deraadt Exp $ .\" $NetBSD: ps.1,v 1.16 1996/03/21 01:36:28 jtc Exp $ .\" .\" Copyright (c) 1980, 1990, 1991, 1993, 1994 @@ -30,7 +30,7 @@ .\" .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 .\" -.Dd $Mdocdate: October 13 2022 $ +.Dd $Mdocdate: July 6 2023 $ .Dt PS 1 .Os .Sh NAME @@ -357,6 +357,8 @@ PS_PLEDGE 0x100000 process has called pledge(2) PS_WXNEEDED 0x00200000 process allowed to violate W^X PS_EXECPLEDGE 0x00400000 has exec pledges PS_ORPHAN 0x00800000 process is on an orphan list +PS_CHROOT 0x01000000 process is chrooted +PS_NOBTCFI 0x02000000 no Branch Target CFI .Ed .It Cm re Core residency time (in seconds; 127 = infinity). diff --git a/distrib/sets/lists/comp/clang.amd64 b/distrib/sets/lists/comp/clang.amd64 index 4f3db2d9d..577ce7129 100644 --- a/distrib/sets/lists/comp/clang.amd64 +++ b/distrib/sets/lists/comp/clang.amd64 @@ -70,6 +70,9 @@ ./usr/include/c++/v1/__algorithm/pop_heap.h ./usr/include/c++/v1/__algorithm/prev_permutation.h ./usr/include/c++/v1/__algorithm/push_heap.h +./usr/include/c++/v1/__algorithm/ranges_find.h +./usr/include/c++/v1/__algorithm/ranges_find_if.h +./usr/include/c++/v1/__algorithm/ranges_find_if_not.h ./usr/include/c++/v1/__algorithm/remove.h ./usr/include/c++/v1/__algorithm/remove_copy.h ./usr/include/c++/v1/__algorithm/remove_copy_if.h diff --git a/distrib/sets/lists/comp/clang.arm64 b/distrib/sets/lists/comp/clang.arm64 index 056e8801c..d21d297ff 100644 --- a/distrib/sets/lists/comp/clang.arm64 +++ b/distrib/sets/lists/comp/clang.arm64 @@ -70,6 +70,9 @@ ./usr/include/c++/v1/__algorithm/pop_heap.h ./usr/include/c++/v1/__algorithm/prev_permutation.h ./usr/include/c++/v1/__algorithm/push_heap.h +./usr/include/c++/v1/__algorithm/ranges_find.h +./usr/include/c++/v1/__algorithm/ranges_find_if.h +./usr/include/c++/v1/__algorithm/ranges_find_if_not.h ./usr/include/c++/v1/__algorithm/remove.h ./usr/include/c++/v1/__algorithm/remove_copy.h ./usr/include/c++/v1/__algorithm/remove_copy_if.h diff --git a/distrib/sets/lists/comp/clang.armv7 b/distrib/sets/lists/comp/clang.armv7 index 9f2884c05..225bda3b7 100644 --- a/distrib/sets/lists/comp/clang.armv7 +++ b/distrib/sets/lists/comp/clang.armv7 @@ -68,6 +68,9 @@ ./usr/include/c++/v1/__algorithm/pop_heap.h ./usr/include/c++/v1/__algorithm/prev_permutation.h ./usr/include/c++/v1/__algorithm/push_heap.h +./usr/include/c++/v1/__algorithm/ranges_find.h +./usr/include/c++/v1/__algorithm/ranges_find_if.h +./usr/include/c++/v1/__algorithm/ranges_find_if_not.h ./usr/include/c++/v1/__algorithm/remove.h ./usr/include/c++/v1/__algorithm/remove_copy.h ./usr/include/c++/v1/__algorithm/remove_copy_if.h diff --git a/distrib/sets/lists/comp/clang.i386 b/distrib/sets/lists/comp/clang.i386 index 212b5ac41..802f5a64a 100644 --- a/distrib/sets/lists/comp/clang.i386 +++ b/distrib/sets/lists/comp/clang.i386 @@ -68,6 +68,9 @@ ./usr/include/c++/v1/__algorithm/pop_heap.h ./usr/include/c++/v1/__algorithm/prev_permutation.h ./usr/include/c++/v1/__algorithm/push_heap.h +./usr/include/c++/v1/__algorithm/ranges_find.h +./usr/include/c++/v1/__algorithm/ranges_find_if.h +./usr/include/c++/v1/__algorithm/ranges_find_if_not.h ./usr/include/c++/v1/__algorithm/remove.h ./usr/include/c++/v1/__algorithm/remove_copy.h ./usr/include/c++/v1/__algorithm/remove_copy_if.h diff --git a/distrib/sets/lists/man/mi b/distrib/sets/lists/man/mi index 3b2a0d1d1..cfcd46f72 100644 --- a/distrib/sets/lists/man/mi +++ b/distrib/sets/lists/man/mi @@ -1838,6 +1838,7 @@ ./usr/share/man/man4/pwmfan.4 ./usr/share/man/man4/pwmleds.4 ./usr/share/man/man4/pwmreg.4 +./usr/share/man/man4/qccpu.4 ./usr/share/man/man4/qcdwusb.4 ./usr/share/man/man4/qcgpio.4 ./usr/share/man/man4/qciic.4 diff --git a/etc/root/root.mail b/etc/root/root.mail index a62e8c490..b3b34b432 100644 --- a/etc/root/root.mail +++ b/etc/root/root.mail @@ -1,6 +1,6 @@ -From purplerain@secbsd.org Wed Jun 7 00:00:00 UTC 2023 +From purplerain@secbsd.org Thu Jul 6 00:00:00 UTC 2023 Return-Path: root -Date: Jun 7 00:00:00 UTC 2023 +Date: Jul 6 00:00:00 UTC 2023 From: purplerain@secbsd.org (Purple Rain) To: root Subject: Welcome to SecBSD 1.3! diff --git a/etc/skel/dot.version b/etc/skel/dot.version index 0e5b91d99..7b27a965d 100644 --- a/etc/skel/dot.version +++ b/etc/skel/dot.version @@ -1 +1 @@ -# SecBSD 1.3-3cf4eea: Wed Jun 7 00:00:00 UTC 2023 (Quetzalcoatl) +# SecBSD 1.3-3c7d048: Thu Jul 6 00:00:00 UTC 2023 (Quetzalcoatl) diff --git a/gnu/lib/libcxx/Makefile b/gnu/lib/libcxx/Makefile index 15ab0659b..580d6eb55 100644 --- a/gnu/lib/libcxx/Makefile +++ b/gnu/lib/libcxx/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.5 2021/12/17 14:55:43 patrick Exp $ +# $OpenBSD: Makefile,v 1.6 2023/07/05 15:34:52 robert Exp $ .include @@ -135,6 +135,9 @@ STD_HEADERS= \ __algorithm/pop_heap.h \ __algorithm/prev_permutation.h \ __algorithm/push_heap.h \ + __algorithm/ranges_find.h \ + __algorithm/ranges_find_if.h \ + __algorithm/ranges_find_if_not.h \ __algorithm/remove_copy_if.h \ __algorithm/remove_copy.h \ __algorithm/remove_if.h \ diff --git a/gnu/llvm/libcxx/include/__algorithm/ranges_find.h b/gnu/llvm/libcxx/include/__algorithm/ranges_find.h new file mode 100644 index 000000000..ca6d2f438 --- /dev/null +++ b/gnu/llvm/libcxx/include/__algorithm/ranges_find.h @@ -0,0 +1,63 @@ +//===----------------------------------------------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#ifndef _LIBCPP___ALGORITHM_RANGES_FIND_H +#define _LIBCPP___ALGORITHM_RANGES_FIND_H + +#include <__algorithm/ranges_find_if.h> +#include <__config> +#include <__functional/identity.h> +#include <__functional/invoke.h> +#include <__functional/ranges_operations.h> +#include <__iterator/concepts.h> +#include <__iterator/projected.h> +#include <__ranges/access.h> +#include <__ranges/concepts.h> +#include <__ranges/dangling.h> +#include <__utility/forward.h> +#include <__utility/move.h> + +#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) +# pragma GCC system_header +#endif + +#if _LIBCPP_STD_VER > 17 && !defined(_LIBCPP_HAS_NO_INCOMPLETE_RANGES) + +_LIBCPP_BEGIN_NAMESPACE_STD + +namespace ranges { +namespace __find { +struct __fn { + template _Sp, class _Tp, class _Proj = identity> + requires indirect_binary_predicate, const _Tp*> + _LIBCPP_HIDE_FROM_ABI constexpr + _Ip operator()(_Ip __first, _Sp __last, const _Tp& __value, _Proj __proj = {}) const { + auto __pred = [&](auto&& __e) { return std::forward(__e) == __value; }; + return ranges::__find_if_impl(std::move(__first), std::move(__last), __pred, __proj); + } + + template + requires indirect_binary_predicate, _Proj>, const _Tp*> + _LIBCPP_HIDE_FROM_ABI constexpr + borrowed_iterator_t<_Rp> operator()(_Rp&& __r, const _Tp& __value, _Proj __proj = {}) const { + auto __pred = [&](auto&& __e) { return std::forward(__e) == __value; }; + return ranges::__find_if_impl(ranges::begin(__r), ranges::end(__r), __pred, __proj); + } +}; +} // namespace __find + +inline namespace __cpo { + inline constexpr auto find = __find::__fn{}; +} // namespace __cpo +} // namespace ranges + +_LIBCPP_END_NAMESPACE_STD + +#endif // _LIBCPP_STD_VER > 17 && !defined(_LIBCPP_HAS_NO_INCOMPLETE_RANGES) + +#endif // _LIBCPP___ALGORITHM_RANGES_FIND_H diff --git a/gnu/llvm/libcxx/include/__algorithm/ranges_find_if.h b/gnu/llvm/libcxx/include/__algorithm/ranges_find_if.h new file mode 100644 index 000000000..65ac122f6 --- /dev/null +++ b/gnu/llvm/libcxx/include/__algorithm/ranges_find_if.h @@ -0,0 +1,71 @@ +//===----------------------------------------------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#ifndef _LIBCPP___ALGORITHM_RANGES_FIND_IF_H +#define _LIBCPP___ALGORITHM_RANGES_FIND_IF_H + +#include <__config> +#include <__functional/identity.h> +#include <__functional/invoke.h> +#include <__functional/ranges_operations.h> +#include <__iterator/concepts.h> +#include <__iterator/projected.h> +#include <__ranges/access.h> +#include <__ranges/concepts.h> +#include <__ranges/dangling.h> +#include <__utility/move.h> + +#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) +# pragma GCC system_header +#endif + +#if _LIBCPP_STD_VER > 17 && !defined(_LIBCPP_HAS_NO_INCOMPLETE_RANGES) + +_LIBCPP_BEGIN_NAMESPACE_STD + +namespace ranges { + +template +_LIBCPP_HIDE_FROM_ABI static constexpr +_Ip __find_if_impl(_Ip __first, _Sp __last, _Pred& __pred, _Proj& __proj) { + for (; __first != __last; ++__first) { + if (std::invoke(__pred, std::invoke(__proj, *__first))) + break; + } + return __first; +} + +namespace __find_if { +struct __fn { + + template _Sp, class _Proj = identity, + indirect_unary_predicate> _Pred> + _LIBCPP_HIDE_FROM_ABI constexpr + _Ip operator()(_Ip __first, _Sp __last, _Pred __pred, _Proj __proj = {}) const { + return ranges::__find_if_impl(std::move(__first), std::move(__last), __pred, __proj); + } + + template , _Proj>> _Pred> + _LIBCPP_HIDE_FROM_ABI constexpr + borrowed_iterator_t<_Rp> operator()(_Rp&& __r, _Pred __pred, _Proj __proj = {}) const { + return ranges::__find_if_impl(ranges::begin(__r), ranges::end(__r), __pred, __proj); + } +}; +} // namespace __find_if + +inline namespace __cpo { + inline constexpr auto find_if = __find_if::__fn{}; +} // namespace __cpo +} // namespace ranges + +_LIBCPP_END_NAMESPACE_STD + +#endif // _LIBCPP_STD_VER > 17 && !defined(_LIBCPP_HAS_NO_INCOMPLETE_RANGES) + +#endif // _LIBCPP___ALGORITHM_RANGES_FIND_IF_H diff --git a/gnu/llvm/libcxx/include/__algorithm/ranges_find_if_not.h b/gnu/llvm/libcxx/include/__algorithm/ranges_find_if_not.h new file mode 100644 index 000000000..9a1adf71f --- /dev/null +++ b/gnu/llvm/libcxx/include/__algorithm/ranges_find_if_not.h @@ -0,0 +1,63 @@ +//===----------------------------------------------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#ifndef _LIBCPP___ALGORITHM_RANGES_FIND_IF_NOT_H +#define _LIBCPP___ALGORITHM_RANGES_FIND_IF_NOT_H + +#include <__algorithm/ranges_find_if.h> +#include <__config> +#include <__functional/identity.h> +#include <__functional/invoke.h> +#include <__functional/ranges_operations.h> +#include <__iterator/concepts.h> +#include <__iterator/projected.h> +#include <__ranges/access.h> +#include <__ranges/concepts.h> +#include <__ranges/dangling.h> +#include <__utility/forward.h> +#include <__utility/move.h> + +#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) +# pragma GCC system_header +#endif + +#if _LIBCPP_STD_VER > 17 && !defined(_LIBCPP_HAS_NO_INCOMPLETE_RANGES) + +_LIBCPP_BEGIN_NAMESPACE_STD + +namespace ranges { +namespace __find_if_not { +struct __fn { + template _Sp, class _Proj = identity, + indirect_unary_predicate> _Pred> + _LIBCPP_HIDE_FROM_ABI constexpr + _Ip operator()(_Ip __first, _Sp __last, _Pred __pred, _Proj __proj = {}) const { + auto __pred2 = [&](auto&& __e) { return !std::invoke(__pred, std::forward(__e)); }; + return ranges::__find_if_impl(std::move(__first), std::move(__last), __pred2, __proj); + } + + template , _Proj>> _Pred> + _LIBCPP_HIDE_FROM_ABI constexpr + borrowed_iterator_t<_Rp> operator()(_Rp&& __r, _Pred __pred, _Proj __proj = {}) const { + auto __pred2 = [&](auto&& __e) { return !std::invoke(__pred, std::forward(__e)); }; + return ranges::__find_if_impl(ranges::begin(__r), ranges::end(__r), __pred2, __proj); + } +}; +} // namespace __find_if_not + +inline namespace __cpo { + inline constexpr auto find_if_not = __find_if_not::__fn{}; +} // namespace __cpo +} // namespace ranges + +_LIBCPP_END_NAMESPACE_STD + +#endif // _LIBCPP_STD_VER > 17 && !defined(_LIBCPP_HAS_NO_INCOMPLETE_RANGES) + +#endif // _LIBCPP___ALGORITHM_RANGES_FIND_IF_NOT_H diff --git a/gnu/llvm/libcxx/include/algorithm b/gnu/llvm/libcxx/include/algorithm index 849302a7d..60c5cabc0 100644 --- a/gnu/llvm/libcxx/include/algorithm +++ b/gnu/llvm/libcxx/include/algorithm @@ -18,6 +18,35 @@ namespace std { +namespace ranges { + template S, class T, class Proj = identity> + requires indirect_binary_predicate, const T*> + constexpr I find(I first, S last, const T& value, Proj proj = {}); // since C++20 + + template + requires indirect_binary_predicate, Proj>, const T*> + constexpr borrowed_iterator_t + find(R&& r, const T& value, Proj proj = {}); // since C++20 + + template S, class Proj = identity, + indirect_unary_predicate> Pred> + constexpr I find_if(I first, S last, Pred pred, Proj proj = {}); // since C++20 + + template, Proj>> Pred> + constexpr borrowed_iterator_t + find_if(R&& r, Pred pred, Proj proj = {}); // since C++20 + + template S, class Proj = identity, + indirect_unary_predicate> Pred> + constexpr I find_if_not(I first, S last, Pred pred, Proj proj = {}); // since C++20 + + template, Proj>> Pred> + constexpr borrowed_iterator_t + find_if_not(R&& r, Pred pred, Proj proj = {}); // since C++20 +} + template constexpr bool // constexpr in C++20 all_of(InputIterator first, InputIterator last, Predicate pred); @@ -720,6 +749,9 @@ template #include <__algorithm/pop_heap.h> #include <__algorithm/prev_permutation.h> #include <__algorithm/push_heap.h> +#include <__algorithm/ranges_find.h> +#include <__algorithm/ranges_find_if.h> +#include <__algorithm/ranges_find_if_not.h> #include <__algorithm/remove.h> #include <__algorithm/remove_copy.h> #include <__algorithm/remove_copy_if.h> diff --git a/gnu/llvm/libcxx/include/module.modulemap b/gnu/llvm/libcxx/include/module.modulemap index b5781b027..d02a2b285 100644 --- a/gnu/llvm/libcxx/include/module.modulemap +++ b/gnu/llvm/libcxx/include/module.modulemap @@ -279,6 +279,9 @@ module std [system] { module pop_heap { private header "__algorithm/pop_heap.h" } module prev_permutation { private header "__algorithm/prev_permutation.h" } module push_heap { private header "__algorithm/push_heap.h" } + module ranges_find { private header "__algorithm/ranges_find.h" } + module ranges_find_if { private header "__algorithm/ranges_find_if.h" } + module ranges_find_if_not { private header "__algorithm/ranges_find_if_not.h" } module remove { private header "__algorithm/remove.h" } module remove_copy { private header "__algorithm/remove_copy.h" } module remove_copy_if { private header "__algorithm/remove_copy_if.h" } diff --git a/gnu/llvm/lld/docs/ld.lld.1 b/gnu/llvm/lld/docs/ld.lld.1 index e0d792b55..51acf147a 100644 --- a/gnu/llvm/lld/docs/ld.lld.1 +++ b/gnu/llvm/lld/docs/ld.lld.1 @@ -833,6 +833,11 @@ This is the default. Create a .Dv PT_OPENBSD_WXNEEDED segment. +.Pp +.It Cm nobtcfi +Create a +.Dv PT_OPENBSD_NOBTCFI +segment. .El .El .Sh IMPLEMENTATION NOTES diff --git a/gnu/usr.bin/binutils-2.17/bfd/elf-bfd.h b/gnu/usr.bin/binutils-2.17/bfd/elf-bfd.h index 2abac0e34..e4a2f5f5a 100644 --- a/gnu/usr.bin/binutils-2.17/bfd/elf-bfd.h +++ b/gnu/usr.bin/binutils-2.17/bfd/elf-bfd.h @@ -1318,6 +1318,9 @@ struct elf_obj_tdata /* TRUE if output program should be marked to request W^X permission */ bfd_boolean wxneeded; + /* TRUE if output program should be marked to stop branch target CFI enforcement */ + bfd_boolean nobtcfi; + /* Symbol version definitions in external objects. */ Elf_Internal_Verdef *verdef; diff --git a/gnu/usr.bin/binutils-2.17/bfd/elf.c b/gnu/usr.bin/binutils-2.17/bfd/elf.c index a2804f5a0..01d3b3445 100644 --- a/gnu/usr.bin/binutils-2.17/bfd/elf.c +++ b/gnu/usr.bin/binutils-2.17/bfd/elf.c @@ -1102,6 +1102,7 @@ get_segment_type (unsigned int p_type) case PT_GNU_RELRO: pt = "RELRO"; break; case PT_OPENBSD_RANDOMIZE: pt = "OPENBSD_RANDOMIZE"; break; case PT_OPENBSD_WXNEEDED: pt = "OPENBSD_WXNEEDED"; break; + case PT_OPENBSD_NOBTCFI: pt = "OPENBSD_NOBTCFI"; break; case PT_OPENBSD_BOOTDATA: pt = "OPENBSD_BOOTDATA"; break; case PT_OPENBSD_MUTABLE: pt = "OPENBSD_MUTABLE"; break; default: pt = NULL; break; @@ -2646,6 +2647,10 @@ bfd_section_from_phdr (bfd *abfd, Elf_Internal_Phdr *hdr, int index) return _bfd_elf_make_section_from_phdr (abfd, hdr, index, "openbsd_wxneeded"); + case PT_OPENBSD_NOBTCFI: + return _bfd_elf_make_section_from_phdr (abfd, hdr, index, + "openbsd_nobtcfi"); + case PT_OPENBSD_MUTABLE: return _bfd_elf_make_section_from_phdr (abfd, hdr, index, "openbsd_mutable"); @@ -3981,7 +3986,22 @@ map_sections_to_segments (bfd *abfd) goto error_return; m->next = NULL; m->p_type = PT_OPENBSD_WXNEEDED; - m->p_flags = 1; + m->p_flags = PF_X; + m->p_flags_valid = 1; + + *pm = m; + pm = &m->next; + } + + if (elf_tdata (abfd)->nobtcfi) + { + amt = sizeof (struct elf_segment_map); + m = bfd_zalloc (abfd, amt); + if (m == NULL) + goto error_return; + m->next = NULL; + m->p_type = PT_OPENBSD_NOBTCFI; + m->p_flags = PF_X; m->p_flags_valid = 1; *pm = m; @@ -4800,6 +4820,12 @@ get_program_header_size (bfd *abfd) ++segs; } + if (elf_tdata (abfd)->nobtcfi) + { + /* We need a PT_OPENBSD_NOBTCFI segment. */ + ++segs; + } + for (s = abfd->sections; s != NULL; s = s->next) { if ((s->flags & SEC_LOAD) != 0 diff --git a/gnu/usr.bin/binutils-2.17/binutils/readelf.c b/gnu/usr.bin/binutils-2.17/binutils/readelf.c index 54fe6e991..c947d9ba7 100644 --- a/gnu/usr.bin/binutils-2.17/binutils/readelf.c +++ b/gnu/usr.bin/binutils-2.17/binutils/readelf.c @@ -21,7 +21,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ - + /* The difference between readelf and objdump: Both programs are capable of displaying the contents of ELF format files, @@ -40,7 +40,7 @@ There is also the case that readelf can provide more information about an ELF file than is provided by objdump. In particular it can display DWARF debugging information which (at the moment) objdump cannot. */ - + #include #include #include @@ -976,7 +976,7 @@ slurp_relr_relocs (FILE *file, while ((val >>= 1) != 0) { addr += 4; - if (val & 1) + if (val & 1) { rels[j].r_offset = addr; rels[j].r_info = ELF32_R_INFO(0, type); @@ -1041,7 +1041,7 @@ slurp_relr_relocs (FILE *file, while ((val >>= 1) != 0) { addr += 8; - if (val & 1) + if (val & 1) { rels[j].r_offset = addr; rels[j].r_info = ELF64_R_INFO(0, type); @@ -2278,7 +2278,7 @@ get_machine_flags (unsigned e_flags, unsigned e_machine) char const *isa = _("unknown"); char const *mac = _("unknown mac"); char const *additional = NULL; - + switch (e_flags & EF_M68K_ISA_MASK) { case EF_M68K_ISA_A_NODIV: @@ -2712,6 +2712,8 @@ get_segment_type (unsigned long p_type) return "OPENBSD_BOOTDATA"; case PT_OPENBSD_MUTABLE: return "OPENBSD_MUTABLE"; + case PT_OPENBSD_NOBTCFI: + return "OPENBSD_NOBTCFI"; default: if ((p_type >= PT_LOPROC) && (p_type <= PT_HIPROC)) diff --git a/gnu/usr.bin/binutils-2.17/include/bfdlink.h b/gnu/usr.bin/binutils-2.17/include/bfdlink.h index 8c17bf888..15b97b6d2 100644 --- a/gnu/usr.bin/binutils-2.17/include/bfdlink.h +++ b/gnu/usr.bin/binutils-2.17/include/bfdlink.h @@ -270,6 +270,9 @@ struct bfd_link_info /* TRUE if output program should be marked to request W^X permission */ unsigned int wxneeded: 1; + /* TRUE if output program should be marked to stop branch target CFI enforcement */ + unsigned int nobtcfi: 1; + /* TRUE if ok to have version with no definition. */ unsigned int allow_undefined_version: 1; diff --git a/gnu/usr.bin/binutils-2.17/include/elf/common.h b/gnu/usr.bin/binutils-2.17/include/elf/common.h index b84256b48..98f8b1890 100644 --- a/gnu/usr.bin/binutils-2.17/include/elf/common.h +++ b/gnu/usr.bin/binutils-2.17/include/elf/common.h @@ -186,7 +186,7 @@ #define EM_BLACKFIN 106 /* ADI Blackfin */ #define EM_ALTERA_NIOS2 113 /* Altera Nios II soft-core processor */ #define EM_CRX 114 /* National Semiconductor CRX */ -#define EM_AARCH64 183 +#define EM_AARCH64 183 #define EM_RISCV 243 /* If it is necessary to assign new unofficial EM_* values, please pick large @@ -313,6 +313,7 @@ #define PT_OPENBSD_RANDOMIZE 0x65a3dbe6 /* Fill with random data. */ #define PT_OPENBSD_WXNEEDED 0x65a3dbe7 /* Program does W^X violations */ +#define PT_OPENBSD_NOBTCFI 0x65a3dbe8 /* no branch target CFI */ #define PT_OPENBSD_BOOTDATA 0x65a41be6 /* Section for boot arguments */ #define PT_OPENBSD_MUTABLE 0x65a3dbe5 /* Like bss, but not immutable */ diff --git a/gnu/usr.bin/binutils-2.17/ld/emultempl/elf32.em b/gnu/usr.bin/binutils-2.17/ld/emultempl/elf32.em index 1cf28e1b9..61ad68a20 100644 --- a/gnu/usr.bin/binutils-2.17/ld/emultempl/elf32.em +++ b/gnu/usr.bin/binutils-2.17/ld/emultempl/elf32.em @@ -105,8 +105,8 @@ gld${EMULATION_NAME}_split_lib_name (name, pmaj, pmin) *pmaj = -1; *pmin = -1; - - if (strncmp(lib, "lib", 3) == 0) + + if (strncmp(lib, "lib", 3) == 0) lib += 3; s = lib; @@ -136,7 +136,7 @@ gld${EMULATION_NAME}_split_lib_name (name, pmaj, pmin) s += 3; } - + /* lib[name].so.[M].[N] */ /* s ^ */ s += 1; @@ -173,12 +173,12 @@ gld${EMULATION_NAME}_search_dir_needed (dirlist, filename) char *fnam, *fnam_alloc, *lib; char *found = NULL; int maj = -1, min = -1; - + dlist_alloc = dlist = xstrdup(dirlist); fnam_alloc = fnam = xstrdup(filename); - + lib = gld${EMULATION_NAME}_split_lib_name(fnam, &maj, &min); - + while (lib != NULL && found == NULL) { dir = strsep(&dlist, ":"); @@ -188,7 +188,7 @@ gld${EMULATION_NAME}_search_dir_needed (dirlist, filename) continue; /* skip dirlist of ...::... */ found = gld${EMULATION_NAME}_search_dir(dir, lib, maj, min); } - + free(dlist_alloc); free(fnam_alloc); return found; @@ -221,7 +221,7 @@ gld${EMULATION_NAME}_search_dir (dirname, filename, req_maj, req_min) if (dir == NULL) return NULL; dirnamelen = strlen (dirname); - + while ((entry = readdir (dir)) != NULL) { const char *s; @@ -263,13 +263,13 @@ gld${EMULATION_NAME}_search_dir (dirname, filename, req_maj, req_min) found_maj = strtoul (entry->d_name + 7 + len, &eptr, 10); /* do not support libN.so. or libN.so.X */ - if (*eptr != '.' || ((entry->d_name + 3 + len) == eptr)) + if (*eptr != '.' || ((entry->d_name + 3 + len) == eptr)) continue; found_min = strtoul (eptr+1, &eptr1, 10); /* do not support libN.so.X. or libN.so.X.Y.[anything] */ - if (*eptr1 != '\0' || (eptr+1 == eptr1)) + if (*eptr1 != '\0' || (eptr+1 == eptr1)) continue; } @@ -2206,6 +2206,8 @@ cat >>e${EMULATION_NAME}.c < like a function, therefore it I a function, and precedence doesn't matter. Otherwise it's a list operator or unary operator, and precedence does matter. Whitespace @@ -175,7 +175,7 @@ C, C, C, C, C Except for C, these are available only if you enable the C<"switch"> feature or use the C prefix. -See L and L. +See L and L. Alternately, include a C or later to the current scope. In Perl 5.14 and earlier, C required the C<"switch"> feature, like the other keywords. @@ -250,7 +250,7 @@ C, C, C