Index: head/Mk/Uses/cargo.mk =================================================================== --- head/Mk/Uses/cargo.mk +++ head/Mk/Uses/cargo.mk @@ -45,7 +45,7 @@ CARGO_BUILDDEP?= yes .if ${CARGO_BUILDDEP:tl} == "yes" -BUILD_DEPENDS+= ${RUST_DEFAULT}>=1.50.0:lang/${RUST_DEFAULT} +BUILD_DEPENDS+= ${RUST_DEFAULT}>=1.51.0:lang/${RUST_DEFAULT} .endif # Location of cargo binary (default to lang/rust's Cargo binary) Index: head/Mk/bsd.gecko.mk =================================================================== --- head/Mk/bsd.gecko.mk +++ head/Mk/bsd.gecko.mk @@ -78,7 +78,7 @@ BUILD_DEPENDS+= llvm${LLVM_DEFAULT}>0:devel/llvm${LLVM_DEFAULT} \ rust-cbindgen>=0.16.0:devel/rust-cbindgen \ - ${RUST_DEFAULT}>=1.50:lang/${RUST_DEFAULT} \ + ${RUST_DEFAULT}>=1.51.0:lang/${RUST_DEFAULT} \ node:www/node LIB_DEPENDS+= libdrm.so:graphics/libdrm MOZ_EXPORT+= ${CONFIGURE_ENV} \ Index: head/lang/rust-bootstrap/Makefile =================================================================== --- head/lang/rust-bootstrap/Makefile +++ head/lang/rust-bootstrap/Makefile @@ -4,8 +4,7 @@ # to upload them to ~/public_distfiles on freefall in preparation # for the next lang/rust update. PORTNAME= rust -PORTVERSION= 1.50.0 -PORTREVISION= 2 +PORTVERSION= 1.51.0 CATEGORIES= lang MASTER_SITES= https://static.rust-lang.org/dist/:rust \ LOCAL/mikael:armbase \ Index: head/lang/rust-bootstrap/distinfo =================================================================== --- head/lang/rust-bootstrap/distinfo +++ head/lang/rust-bootstrap/distinfo @@ -1,6 +1,6 @@ -TIMESTAMP = 1613722755 -SHA256 (rust/rustc-1.50.0-src.tar.xz) = f54adf9204ed3cb3998cdc1baa5645b346d8cf8f18205e3b15fcae194ba5457c -SIZE (rust/rustc-1.50.0-src.tar.xz) = 108666272 +TIMESTAMP = 1616754064 +SHA256 (rust/rustc-1.51.0-src.tar.xz) = 92c68a91fca33cbafb83442cde722d010cc387dc1ee8a2680e2fb33a575821a1 +SIZE (rust/rustc-1.51.0-src.tar.xz) = 109596164 SHA256 (FreeBSD-12.2-RELEASE-arm64.tar.xz) = 3f82224fbcc6b2a2e1a1358cec5f32c0a08b5c5e6796e1a998369eb624a11cf3 SIZE (FreeBSD-12.2-RELEASE-arm64.tar.xz) = 158493712 SHA256 (FreeBSD-11.4-RELEASE-amd64.tar.xz) = 3bac8257bdd5e5b071f7b80cc591ebecd01b9314ca7839a2903096cbf82169f9 Index: head/lang/rust/Makefile =================================================================== --- head/lang/rust/Makefile +++ head/lang/rust/Makefile @@ -2,14 +2,13 @@ # $FreeBSD$ PORTNAME= rust -PORTVERSION?= 1.50.0 -PORTREVISION?= 1 +PORTVERSION?= 1.51.0 +PORTREVISION?= 0 CATEGORIES= lang MASTER_SITES= https://static.rust-lang.org/dist/:src \ https://dev-static.rust-lang.org/dist/:src \ - LOCAL/bdragon/rust:bootstrap \ - LOCAL/mikael/rust:bootstrap \ LOCAL/tobik/rust:bootstrap \ + LOCAL/mikael/rust:bootstrap \ https://static.rust-lang.org/dist/:bootstrap DISTNAME?= ${PORTNAME}c-${PORTVERSION}-src DISTFILES?= ${NIGHTLY_DATE:D${NIGHTLY_DATE}/}${DISTNAME}${EXTRACT_SUFX}:src \ @@ -63,8 +62,8 @@ WASM_VARS_OFF= _RUST_BUILD_WASM=false # See WRKSRC/src/stage0.txt for the date and version values. -BOOTSTRAPS_DATE?= 2020-12-31 -RUST_BOOTSTRAP_VERSION?= 1.49.0 +BOOTSTRAPS_DATE?= 2021-02-11 +RUST_BOOTSTRAP_VERSION?= 1.50.0 BOOTSTRAPS_SUFFIX?= ${BOOTSTRAPS_SUFFIX_${ARCH}} BOOTSTRAPS_SUFFIX_powerpc64?= -${PPC_ABI:tl} @@ -112,6 +111,11 @@ # Disable vendor checksums @${REINPLACE_CMD} 's,"files":{[^}]*},"files":{},' \ ${CARGO_VENDOR_DIR}/*/.cargo-checksum.json +.if defined(PPC_ABI) && ${PPC_ABI} == ELFv1 && ${LOCALBASE} != /usr/local + @${REINPLACE_CMD} 's,/usr/local/,${LOCALBASE}/,g' \ + ${WRKSRC}/compiler/rustc_llvm/build.rs \ + ${WRKSRC}/src/bootstrap/native.rs +.endif do-configure: # Check that the running kernel has COMPAT_FREEBSD11 required by lang/rust post-ino64 @@ -123,6 +127,9 @@ .endfor @${ECHO_CMD} 'changelog-seen=2' > ${WRKSRC}/config.toml @${ECHO_CMD} '[build]' >> ${WRKSRC}/config.toml + @${ECHO_CMD} 'build-stage=2' >> ${WRKSRC}/config.toml + @${ECHO_CMD} 'doc-stage=2' >> ${WRKSRC}/config.toml + @${ECHO_CMD} 'test-stage=2' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'vendor=true' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'extended=true' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'python="${PYTHON_CMD}"' >> ${WRKSRC}/config.toml Index: head/lang/rust/distinfo =================================================================== --- head/lang/rust/distinfo +++ head/lang/rust/distinfo @@ -1,51 +1,51 @@ -TIMESTAMP = 1613066854 -SHA256 (rust/rustc-1.50.0-src.tar.xz) = f54adf9204ed3cb3998cdc1baa5645b346d8cf8f18205e3b15fcae194ba5457c -SIZE (rust/rustc-1.50.0-src.tar.xz) = 108666272 -SHA256 (rust/2020-12-31/cargo-1.49.0-aarch64-unknown-freebsd.tar.xz) = 1f29206d9bdebc4f7a85bc40e26bed20919a7efc374493ef6dc8fcb76d9dd757 -SIZE (rust/2020-12-31/cargo-1.49.0-aarch64-unknown-freebsd.tar.xz) = 4124680 -SHA256 (rust/2020-12-31/rust-std-1.49.0-aarch64-unknown-freebsd.tar.xz) = b326929f61f90ca47d9e5ca683a1bd0c72da308e15758f3b1358707c39763890 -SIZE (rust/2020-12-31/rust-std-1.49.0-aarch64-unknown-freebsd.tar.xz) = 16758184 -SHA256 (rust/2020-12-31/rustc-1.49.0-aarch64-unknown-freebsd.tar.xz) = aa469cc62df63c4718106a6c47c6a3b9e4d294691a61d03e446ceea1f182557e -SIZE (rust/2020-12-31/rustc-1.49.0-aarch64-unknown-freebsd.tar.xz) = 36458176 -SHA256 (rust/2020-12-31/rustc-1.49.0-x86_64-unknown-freebsd.tar.xz) = 6e4b19b96663042bfe94634025565d57c944ad6e1c6c40dd7b1c56f72eaa2808 -SIZE (rust/2020-12-31/rustc-1.49.0-x86_64-unknown-freebsd.tar.xz) = 39597956 -SHA256 (rust/2020-12-31/rust-std-1.49.0-x86_64-unknown-freebsd.tar.xz) = 55fabca711092c67bbffb3e3fec886acf6b90094b256c10998e4f77f90281805 -SIZE (rust/2020-12-31/rust-std-1.49.0-x86_64-unknown-freebsd.tar.xz) = 19435648 -SHA256 (rust/2020-12-31/cargo-1.49.0-x86_64-unknown-freebsd.tar.xz) = 8af89e8c81beaa3222c2da65a43d8fda5e887552684601ceb35666184ae54294 -SIZE (rust/2020-12-31/cargo-1.49.0-x86_64-unknown-freebsd.tar.xz) = 4877948 -SHA256 (rust/2020-12-31/rustc-1.49.0-armv6-unknown-freebsd.tar.xz) = c713f8c1662abf2e1d55183907b1ddae17888352bafafd88bc67952da7abc3a5 -SIZE (rust/2020-12-31/rustc-1.49.0-armv6-unknown-freebsd.tar.xz) = 38281092 -SHA256 (rust/2020-12-31/rust-std-1.49.0-armv6-unknown-freebsd.tar.xz) = a867971dcceecc41e3bb19befef2f77513a130d512df961a2b0954b6236aff3e -SIZE (rust/2020-12-31/rust-std-1.49.0-armv6-unknown-freebsd.tar.xz) = 17007160 -SHA256 (rust/2020-12-31/cargo-1.49.0-armv6-unknown-freebsd.tar.xz) = b416f6df6cbf22a0cf656b9ae462859062abaa26cf66c62cf90688558e90a814 -SIZE (rust/2020-12-31/cargo-1.49.0-armv6-unknown-freebsd.tar.xz) = 4283936 -SHA256 (rust/2020-12-31/rustc-1.49.0-armv7-unknown-freebsd.tar.xz) = 812f52a37c15da4f344bd2e6f4ef13482931013dc51ddf8a340fb7d7045aa7cd -SIZE (rust/2020-12-31/rustc-1.49.0-armv7-unknown-freebsd.tar.xz) = 37941452 -SHA256 (rust/2020-12-31/rust-std-1.49.0-armv7-unknown-freebsd.tar.xz) = a73f9b10f537ea3538d7139414ec1dd38926a9f892d03f85df7ce779421117ba -SIZE (rust/2020-12-31/rust-std-1.49.0-armv7-unknown-freebsd.tar.xz) = 17139628 -SHA256 (rust/2020-12-31/cargo-1.49.0-armv7-unknown-freebsd.tar.xz) = 0e47d84c6caa9fbcece0a1affefb730466b66de03422d666a0ad12acb2ef8504 -SIZE (rust/2020-12-31/cargo-1.49.0-armv7-unknown-freebsd.tar.xz) = 4273576 -SHA256 (rust/2020-12-31/rustc-1.49.0-i686-unknown-freebsd.tar.xz) = 38e60e3870d7be62bd38dd27418821e0bda403663941b245eb1e06d16cb15254 -SIZE (rust/2020-12-31/rustc-1.49.0-i686-unknown-freebsd.tar.xz) = 40971152 -SHA256 (rust/2020-12-31/rust-std-1.49.0-i686-unknown-freebsd.tar.xz) = 0c14316074c3ae6690b0f9169fd40c2889aab54baa856a55ebd814a5aed23081 -SIZE (rust/2020-12-31/rust-std-1.49.0-i686-unknown-freebsd.tar.xz) = 19461844 -SHA256 (rust/2020-12-31/cargo-1.49.0-i686-unknown-freebsd.tar.xz) = 4b3e30c79baef4ca4bb7f061e61a97652289d42f2c10653ccbe99a82b60ba345 -SIZE (rust/2020-12-31/cargo-1.49.0-i686-unknown-freebsd.tar.xz) = 4942980 -SHA256 (rust/2020-12-31/rustc-1.49.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 1557c59eeaa7db5f037b51e01787f55dfcccb00aa01f32dfab5b22880a8c3f0a -SIZE (rust/2020-12-31/rustc-1.49.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 44844340 -SHA256 (rust/2020-12-31/rust-std-1.49.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = d1807da240efabe0dfc038ce9bf71170d2d0ef6d5a8c14d206cb42a08bb84b55 -SIZE (rust/2020-12-31/rust-std-1.49.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 16862016 -SHA256 (rust/2020-12-31/cargo-1.49.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = e2d032d66a14a5fba1a0c74da283f49b09dd0d9f795d87defad661fe59c433b5 -SIZE (rust/2020-12-31/cargo-1.49.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 4752512 -SHA256 (rust/2020-12-31/rustc-1.49.0-powerpc64le-unknown-freebsd.tar.xz) = 7885b37a3b68ce9faa6dcc3d400157a514d57483af3e1d383774a0be7d3845df -SIZE (rust/2020-12-31/rustc-1.49.0-powerpc64le-unknown-freebsd.tar.xz) = 39868780 -SHA256 (rust/2020-12-31/rust-std-1.49.0-powerpc64le-unknown-freebsd.tar.xz) = 2997b1593c5ec28e32040d2bb643712f9a555a257e7a32bb0b5db4e3bc3f95c5 -SIZE (rust/2020-12-31/rust-std-1.49.0-powerpc64le-unknown-freebsd.tar.xz) = 17006712 -SHA256 (rust/2020-12-31/cargo-1.49.0-powerpc64le-unknown-freebsd.tar.xz) = 0fd8651dda85b1548986ba5b9286c8de70543adabba547d065c45ee6a96c831b -SIZE (rust/2020-12-31/cargo-1.49.0-powerpc64le-unknown-freebsd.tar.xz) = 4693276 -SHA256 (rust/2020-12-31/rustc-1.49.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 04144ce50f91a175ea5b9954909c2d408c265e7191d7175f2c8c316ad8eab12a -SIZE (rust/2020-12-31/rustc-1.49.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 38025780 -SHA256 (rust/2020-12-31/rust-std-1.49.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 43a08e6459bfb4498a395b07c194a4bbc38915e7027ba2ec4e8939087abeeb7a -SIZE (rust/2020-12-31/rust-std-1.49.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 16795244 -SHA256 (rust/2020-12-31/cargo-1.49.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = cae1f2f35330bbfd82a5ab1e3f3b82d3981f7b22541becf69659323edb9a6a8c -SIZE (rust/2020-12-31/cargo-1.49.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 4447368 +TIMESTAMP = 1616749421 +SHA256 (rust/rustc-1.51.0-src.tar.xz) = 92c68a91fca33cbafb83442cde722d010cc387dc1ee8a2680e2fb33a575821a1 +SIZE (rust/rustc-1.51.0-src.tar.xz) = 109596164 +SHA256 (rust/2021-02-11/rustc-1.50.0-aarch64-unknown-freebsd.tar.xz) = 35861e14be840d59465c3958d7bf56960be362f593f14f440329504d29bdc0e0 +SIZE (rust/2021-02-11/rustc-1.50.0-aarch64-unknown-freebsd.tar.xz) = 45220868 +SHA256 (rust/2021-02-11/rust-std-1.50.0-aarch64-unknown-freebsd.tar.xz) = e9a8237c2f3b8e7cf40608f48d27345a3c1601fa0ddcf8abfb94b879ca1a8bbc +SIZE (rust/2021-02-11/rust-std-1.50.0-aarch64-unknown-freebsd.tar.xz) = 17429788 +SHA256 (rust/2021-02-11/cargo-1.50.0-aarch64-unknown-freebsd.tar.xz) = 4daf13681f990bcf8d0ca28ab410e0a3d0e5b533772f55e7568eea7e61bca89a +SIZE (rust/2021-02-11/cargo-1.50.0-aarch64-unknown-freebsd.tar.xz) = 4287964 +SHA256 (rust/2021-02-11/rustc-1.50.0-x86_64-unknown-freebsd.tar.xz) = c0148c65ab21f7a49f6d393ba140bf53c05e73276383dd7eb2b65048b1ba4a16 +SIZE (rust/2021-02-11/rustc-1.50.0-x86_64-unknown-freebsd.tar.xz) = 47818616 +SHA256 (rust/2021-02-11/rust-std-1.50.0-x86_64-unknown-freebsd.tar.xz) = c9ff9ef502675bf40f8d7a806d967551f8c3402ff54c48aec7afd63291f64009 +SIZE (rust/2021-02-11/rust-std-1.50.0-x86_64-unknown-freebsd.tar.xz) = 21624016 +SHA256 (rust/2021-02-11/cargo-1.50.0-x86_64-unknown-freebsd.tar.xz) = 1a49a9aa5374258499048c163de3f0c736f75d12210f299afdbca2099060926d +SIZE (rust/2021-02-11/cargo-1.50.0-x86_64-unknown-freebsd.tar.xz) = 5073160 +SHA256 (rust/2021-02-11/rustc-1.50.0-armv6-unknown-freebsd.tar.xz) = 628987b6f5cd018a650d1a0b1ec27132cf0a1dd0dd6bffb4387a72466ecb9460 +SIZE (rust/2021-02-11/rustc-1.50.0-armv6-unknown-freebsd.tar.xz) = 46037188 +SHA256 (rust/2021-02-11/rust-std-1.50.0-armv6-unknown-freebsd.tar.xz) = ed722bfe0c3c3267550767afc59d5d93056018cd664d1182dce3b187d00d3b96 +SIZE (rust/2021-02-11/rust-std-1.50.0-armv6-unknown-freebsd.tar.xz) = 17375956 +SHA256 (rust/2021-02-11/cargo-1.50.0-armv6-unknown-freebsd.tar.xz) = 27ce8e045304146879c48792447de0eb09e92c0e9ce27d80f4dc5d96a005adf8 +SIZE (rust/2021-02-11/cargo-1.50.0-armv6-unknown-freebsd.tar.xz) = 4459520 +SHA256 (rust/2021-02-11/rustc-1.50.0-armv7-unknown-freebsd.tar.xz) = 479b2c740e1244863f4450bb800e96832182b80dcfdc6f8c70d0248bac312e4f +SIZE (rust/2021-02-11/rustc-1.50.0-armv7-unknown-freebsd.tar.xz) = 46085828 +SHA256 (rust/2021-02-11/rust-std-1.50.0-armv7-unknown-freebsd.tar.xz) = cce6d3a91ba8f982ca218782be1ea0500add316bd83cbe3ce701ec1f10dcf498 +SIZE (rust/2021-02-11/rust-std-1.50.0-armv7-unknown-freebsd.tar.xz) = 17546932 +SHA256 (rust/2021-02-11/cargo-1.50.0-armv7-unknown-freebsd.tar.xz) = 307586fb4d0d33b861d008472b65f6bae9502b7ef44921881046442a81da32d6 +SIZE (rust/2021-02-11/cargo-1.50.0-armv7-unknown-freebsd.tar.xz) = 4453420 +SHA256 (rust/2021-02-11/rustc-1.50.0-i686-unknown-freebsd.tar.xz) = ad52fa90b986770ed2809aae666b9ebe3062b1b0f470fdaa519bc0633a4eab92 +SIZE (rust/2021-02-11/rustc-1.50.0-i686-unknown-freebsd.tar.xz) = 48989020 +SHA256 (rust/2021-02-11/rust-std-1.50.0-i686-unknown-freebsd.tar.xz) = d59650dea7fed2dbcc03fdc006d691c8fceb18db6ad575801e5b898ffbdf71a0 +SIZE (rust/2021-02-11/rust-std-1.50.0-i686-unknown-freebsd.tar.xz) = 21622960 +SHA256 (rust/2021-02-11/cargo-1.50.0-i686-unknown-freebsd.tar.xz) = 7b07204894a3c5c1f4b39e03c475d8a5ea523a30721af19ba49211c8f46e0cf4 +SIZE (rust/2021-02-11/cargo-1.50.0-i686-unknown-freebsd.tar.xz) = 5145204 +SHA256 (rust/2021-02-11/rustc-1.50.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = a215d00ffd5e561471ded1ee546c66b3852c83a727f459c3c224eb78cfd67fd5 +SIZE (rust/2021-02-11/rustc-1.50.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 55203080 +SHA256 (rust/2021-02-11/rust-std-1.50.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = c80da6b2b3ba447550c311eda47748e1cf6620e095bec5e60c65d24e711f7eb6 +SIZE (rust/2021-02-11/rust-std-1.50.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 17337608 +SHA256 (rust/2021-02-11/cargo-1.50.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = b5347cc6d5369a93667249b68d19075971836c536128053abf768ed759bdde48 +SIZE (rust/2021-02-11/cargo-1.50.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 4946400 +SHA256 (rust/2021-02-11/rustc-1.50.0-powerpc64le-unknown-freebsd.tar.xz) = 11a9ec86be232486f2f42f44e28b7be3baa7cc19d137d87a95851529e3e64f61 +SIZE (rust/2021-02-11/rustc-1.50.0-powerpc64le-unknown-freebsd.tar.xz) = 48136856 +SHA256 (rust/2021-02-11/rust-std-1.50.0-powerpc64le-unknown-freebsd.tar.xz) = 8c5ad05fcb0cf55c762ad6f85cbe0d67663cba0cdd82cfe1378d6004e4b4abeb +SIZE (rust/2021-02-11/rust-std-1.50.0-powerpc64le-unknown-freebsd.tar.xz) = 17429708 +SHA256 (rust/2021-02-11/cargo-1.50.0-powerpc64le-unknown-freebsd.tar.xz) = bc9ea6b58fa346f1ed04ef21561a8cd81937eb61fa6c7a3272586336d734089e +SIZE (rust/2021-02-11/cargo-1.50.0-powerpc64le-unknown-freebsd.tar.xz) = 4887040 +SHA256 (rust/2021-02-11/rustc-1.50.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = b88a9b5ea755207ad431852e009c1e0d993bffca40c6aaa69f76183876b5c603 +SIZE (rust/2021-02-11/rustc-1.50.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 46199556 +SHA256 (rust/2021-02-11/rust-std-1.50.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = f55a7b1560aef7cbb44cbbffa6d0baee4598d715fe32865cf3fcae9951b2cd70 +SIZE (rust/2021-02-11/rust-std-1.50.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 17233672 +SHA256 (rust/2021-02-11/cargo-1.50.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = f8ea608809f9bd760e9e280d2b183b003727cae682eae16892cc570379e83d13 +SIZE (rust/2021-02-11/cargo-1.50.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 4627136 Index: head/lang/rust/files/patch-backtrace =================================================================== --- head/lang/rust/files/patch-backtrace +++ head/lang/rust/files/patch-backtrace @@ -10,909 +10,3 @@ ))] { // Other Unix (e.g. Linux) platforms use ELF as an object file format // and typically implement an API called `dl_iterate_phdr` to load ---- vendor/libc-0.2.77/src/unix/bsd/freebsdlike/mod.rs.orig 2021-02-10 18:18:38 UTC -+++ vendor/libc-0.2.77/src/unix/bsd/freebsdlike/mod.rs -@@ -14,6 +14,38 @@ pub type nl_item = ::c_int; - pub type id_t = i64; - pub type vm_size_t = ::uintptr_t; - -+// elf.h -+ -+pub type Elf32_Addr = u32; -+pub type Elf32_Half = u16; -+pub type Elf32_Lword = u64; -+pub type Elf32_Off = u32; -+pub type Elf32_Sword = i32; -+pub type Elf32_Word = u32; -+ -+pub type Elf64_Addr = u64; -+pub type Elf64_Half = u16; -+pub type Elf64_Lword = u64; -+pub type Elf64_Off = u64; -+pub type Elf64_Sword = i32; -+pub type Elf64_Sxword = i64; -+pub type Elf64_Word = u32; -+pub type Elf64_Xword = u64; -+ -+cfg_if! { -+ if #[cfg(target_pointer_width = "64")] { -+ type Elf_Addr = Elf64_Addr; -+ type Elf_Half = Elf64_Half; -+ type Elf_Phdr = Elf64_Phdr; -+ } else if #[cfg(target_pointer_width = "32")] { -+ type Elf_Addr = Elf32_Addr; -+ type Elf_Half = Elf32_Half; -+ type Elf_Phdr = Elf32_Phdr; -+ } -+} -+ -+// link.h -+ - #[cfg_attr(feature = "extra_traits", derive(Debug))] - pub enum timezone {} - impl ::Copy for timezone {} -@@ -233,6 +265,43 @@ s! { - pub piod_addr: *mut ::c_void, - pub piod_len: ::size_t, - } -+ -+ // elf.h -+ -+ pub struct Elf32_Phdr { -+ pub p_type: Elf32_Word, -+ pub p_offset: Elf32_Off, -+ pub p_vaddr: Elf32_Addr, -+ pub p_paddr: Elf32_Addr, -+ pub p_filesz: Elf32_Word, -+ pub p_memsz: Elf32_Word, -+ pub p_flags: Elf32_Word, -+ pub p_align: Elf32_Word, -+ } -+ -+ pub struct Elf64_Phdr { -+ pub p_type: Elf64_Word, -+ pub p_flags: Elf64_Word, -+ pub p_offset: Elf64_Off, -+ pub p_vaddr: Elf64_Addr, -+ pub p_paddr: Elf64_Addr, -+ pub p_filesz: Elf64_Xword, -+ pub p_memsz: Elf64_Xword, -+ pub p_align: Elf64_Xword, -+ } -+ -+ // link.h -+ -+ pub struct dl_phdr_info { -+ pub dlpi_addr: Elf_Addr, -+ pub dlpi_name: *const ::c_char, -+ pub dlpi_phdr: *const Elf_Phdr, -+ pub dlpi_phnum: Elf_Half, -+ pub dlpi_adds: ::c_ulonglong, -+ pub dlpi_subs: ::c_ulonglong, -+ pub dlpi_tls_modid: usize, -+ pub dlpi_tls_data: *mut ::c_void, -+ } - } - - s_no_extra_traits! { -@@ -1514,6 +1583,18 @@ extern "C" { - - pub fn ntp_adjtime(buf: *mut timex) -> ::c_int; - pub fn ntp_gettime(buf: *mut ntptimeval) -> ::c_int; -+ -+ // #include -+ pub fn dl_iterate_phdr( -+ callback: ::Option< -+ unsafe extern "C" fn( -+ info: *mut dl_phdr_info, -+ size: usize, -+ data: *mut ::c_void, -+ ) -> ::c_int, -+ >, -+ data: *mut ::c_void, -+ ) -> ::c_int; - } - - #[link(name = "rt")] ---- vendor/libc-0.2.77/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig 2021-02-10 18:18:38 UTC -+++ vendor/libc-0.2.77/src/unix/bsd/netbsdlike/netbsd/mod.rs -@@ -11,6 +11,36 @@ pub type vm_size_t = ::uintptr_t; - pub type lwpid_t = ::c_uint; - pub type shmatt_t = ::c_uint; - -+// elf.h -+ -+pub type Elf32_Addr = u32; -+pub type Elf32_Half = u16; -+pub type Elf32_Lword = u64; -+pub type Elf32_Off = u32; -+pub type Elf32_Sword = i32; -+pub type Elf32_Word = u32; -+ -+pub type Elf64_Addr = u64; -+pub type Elf64_Half = u16; -+pub type Elf64_Lword = u64; -+pub type Elf64_Off = u64; -+pub type Elf64_Sword = i32; -+pub type Elf64_Sxword = i64; -+pub type Elf64_Word = u32; -+pub type Elf64_Xword = u64; -+ -+cfg_if! { -+ if #[cfg(target_pointer_width = "64")] { -+ type Elf_Addr = Elf64_Addr; -+ type Elf_Half = Elf64_Half; -+ type Elf_Phdr = Elf64_Phdr; -+ } else if #[cfg(target_pointer_width = "32")] { -+ type Elf_Addr = Elf32_Addr; -+ type Elf_Half = Elf32_Half; -+ type Elf_Phdr = Elf32_Phdr; -+ } -+} -+ - impl siginfo_t { - pub unsafe fn si_value(&self) -> ::sigval { - #[repr(C)] -@@ -341,6 +371,42 @@ s! { - pub time_state: ::c_int, - } - -+ // elf.h -+ -+ pub struct Elf32_Phdr { -+ pub p_type: Elf32_Word, -+ pub p_offset: Elf32_Off, -+ pub p_vaddr: Elf32_Addr, -+ pub p_paddr: Elf32_Addr, -+ pub p_filesz: Elf32_Word, -+ pub p_memsz: Elf32_Word, -+ pub p_flags: Elf32_Word, -+ pub p_align: Elf32_Word, -+ } -+ -+ pub struct Elf64_Phdr { -+ pub p_type: Elf64_Word, -+ pub p_flags: Elf64_Word, -+ pub p_offset: Elf64_Off, -+ pub p_vaddr: Elf64_Addr, -+ pub p_paddr: Elf64_Addr, -+ pub p_filesz: Elf64_Xword, -+ pub p_memsz: Elf64_Xword, -+ pub p_align: Elf64_Xword, -+ } -+ -+ // link.h -+ -+ pub struct dl_phdr_info { -+ pub dlpi_addr: Elf_Addr, -+ pub dlpi_name: *const ::c_char, -+ pub dlpi_phdr: *const Elf_Phdr, -+ pub dlpi_phnum: Elf_Half, -+ pub dlpi_adds: ::c_ulonglong, -+ pub dlpi_subs: ::c_ulonglong, -+ pub dlpi_tls_modid: usize, -+ pub dlpi_tls_data: *mut ::c_void, -+ } - } - - s_no_extra_traits! { -@@ -1988,6 +2054,19 @@ extern "C" { - needle: *const ::c_void, - needlelen: ::size_t, - ) -> *mut ::c_void; -+ -+ // link.h -+ -+ pub fn dl_iterate_phdr( -+ callback: ::Option< -+ unsafe extern "C" fn( -+ info: *mut dl_phdr_info, -+ size: usize, -+ data: *mut ::c_void, -+ ) -> ::c_int, -+ >, -+ data: *mut ::c_void, -+ ) -> ::c_int; - } - - #[link(name = "util")] ---- vendor/libc-0.2.77/src/unix/bsd/netbsdlike/openbsd/mod.rs.orig 2021-02-10 18:18:38 UTC -+++ vendor/libc-0.2.77/src/unix/bsd/netbsdlike/openbsd/mod.rs -@@ -16,6 +16,36 @@ pub type pthread_rwlock_t = *mut ::c_void; - pub type pthread_rwlockattr_t = *mut ::c_void; - pub type caddr_t = *mut ::c_char; - -+// elf.h -+ -+pub type Elf32_Addr = u32; -+pub type Elf32_Half = u16; -+pub type Elf32_Lword = u64; -+pub type Elf32_Off = u32; -+pub type Elf32_Sword = i32; -+pub type Elf32_Word = u32; -+ -+pub type Elf64_Addr = u64; -+pub type Elf64_Half = u16; -+pub type Elf64_Lword = u64; -+pub type Elf64_Off = u64; -+pub type Elf64_Sword = i32; -+pub type Elf64_Sxword = i64; -+pub type Elf64_Word = u32; -+pub type Elf64_Xword = u64; -+ -+cfg_if! { -+ if #[cfg(target_pointer_width = "64")] { -+ type Elf_Addr = Elf64_Addr; -+ type Elf_Half = Elf64_Half; -+ type Elf_Phdr = Elf64_Phdr; -+ } else if #[cfg(target_pointer_width = "32")] { -+ type Elf_Addr = Elf32_Addr; -+ type Elf_Half = Elf32_Half; -+ type Elf_Phdr = Elf32_Phdr; -+ } -+} -+ - s! { - pub struct glob_t { - pub gl_pathc: ::size_t, -@@ -321,6 +351,38 @@ s! { - __shm_ctimensec: c_long, - pub shm_internal: *mut ::c_void, - } -+ -+ // elf.h -+ pub struct Elf32_Phdr { -+ pub p_type: Elf32_Word, -+ pub p_offset: Elf32_Off, -+ pub p_vaddr: Elf32_Addr, -+ pub p_paddr: Elf32_Addr, -+ pub p_filesz: Elf32_Word, -+ pub p_memsz: Elf32_Word, -+ pub p_flags: Elf32_Word, -+ pub p_align: Elf32_Word, -+ } -+ -+ pub struct Elf64_Phdr { -+ pub p_type: Elf64_Word, -+ pub p_flags: Elf64_Word, -+ pub p_offset: Elf64_Off, -+ pub p_vaddr: Elf64_Addr, -+ pub p_paddr: Elf64_Addr, -+ pub p_filesz: Elf64_Xword, -+ pub p_memsz: Elf64_Xword, -+ pub p_align: Elf64_Xword, -+ } -+ -+ // link.h -+ -+ pub struct dl_phdr_info { -+ pub dlpi_addr: Elf_Addr, -+ pub dlpi_name: *const ::c_char, -+ pub dlpi_phdr: *const Elf_Phdr, -+ pub dlpi_phnum: Elf_Half, -+ } - } - - impl siginfo_t { -@@ -1480,6 +1542,17 @@ extern "C" { - needle: *const ::c_void, - needlelen: ::size_t, - ) -> *mut ::c_void; -+ // #include -+ pub fn dl_iterate_phdr( -+ callback: ::Option< -+ unsafe extern "C" fn( -+ info: *mut dl_phdr_info, -+ size: usize, -+ data: *mut ::c_void, -+ ) -> ::c_int, -+ >, -+ data: *mut ::c_void, -+ ) -> ::c_int; - } - - cfg_if! { ---- vendor/libc-0.2.79/src/unix/bsd/freebsdlike/mod.rs.orig 2021-02-10 18:18:38 UTC -+++ vendor/libc-0.2.79/src/unix/bsd/freebsdlike/mod.rs -@@ -14,6 +14,38 @@ pub type nl_item = ::c_int; - pub type id_t = i64; - pub type vm_size_t = ::uintptr_t; - -+// elf.h -+ -+pub type Elf32_Addr = u32; -+pub type Elf32_Half = u16; -+pub type Elf32_Lword = u64; -+pub type Elf32_Off = u32; -+pub type Elf32_Sword = i32; -+pub type Elf32_Word = u32; -+ -+pub type Elf64_Addr = u64; -+pub type Elf64_Half = u16; -+pub type Elf64_Lword = u64; -+pub type Elf64_Off = u64; -+pub type Elf64_Sword = i32; -+pub type Elf64_Sxword = i64; -+pub type Elf64_Word = u32; -+pub type Elf64_Xword = u64; -+ -+cfg_if! { -+ if #[cfg(target_pointer_width = "64")] { -+ type Elf_Addr = Elf64_Addr; -+ type Elf_Half = Elf64_Half; -+ type Elf_Phdr = Elf64_Phdr; -+ } else if #[cfg(target_pointer_width = "32")] { -+ type Elf_Addr = Elf32_Addr; -+ type Elf_Half = Elf32_Half; -+ type Elf_Phdr = Elf32_Phdr; -+ } -+} -+ -+// link.h -+ - #[cfg_attr(feature = "extra_traits", derive(Debug))] - pub enum timezone {} - impl ::Copy for timezone {} -@@ -233,6 +265,43 @@ s! { - pub piod_addr: *mut ::c_void, - pub piod_len: ::size_t, - } -+ -+ // elf.h -+ -+ pub struct Elf32_Phdr { -+ pub p_type: Elf32_Word, -+ pub p_offset: Elf32_Off, -+ pub p_vaddr: Elf32_Addr, -+ pub p_paddr: Elf32_Addr, -+ pub p_filesz: Elf32_Word, -+ pub p_memsz: Elf32_Word, -+ pub p_flags: Elf32_Word, -+ pub p_align: Elf32_Word, -+ } -+ -+ pub struct Elf64_Phdr { -+ pub p_type: Elf64_Word, -+ pub p_flags: Elf64_Word, -+ pub p_offset: Elf64_Off, -+ pub p_vaddr: Elf64_Addr, -+ pub p_paddr: Elf64_Addr, -+ pub p_filesz: Elf64_Xword, -+ pub p_memsz: Elf64_Xword, -+ pub p_align: Elf64_Xword, -+ } -+ -+ // link.h -+ -+ pub struct dl_phdr_info { -+ pub dlpi_addr: Elf_Addr, -+ pub dlpi_name: *const ::c_char, -+ pub dlpi_phdr: *const Elf_Phdr, -+ pub dlpi_phnum: Elf_Half, -+ pub dlpi_adds: ::c_ulonglong, -+ pub dlpi_subs: ::c_ulonglong, -+ pub dlpi_tls_modid: usize, -+ pub dlpi_tls_data: *mut ::c_void, -+ } - } - - s_no_extra_traits! { -@@ -1514,6 +1583,18 @@ extern "C" { - - pub fn ntp_adjtime(buf: *mut timex) -> ::c_int; - pub fn ntp_gettime(buf: *mut ntptimeval) -> ::c_int; -+ -+ // #include -+ pub fn dl_iterate_phdr( -+ callback: ::Option< -+ unsafe extern "C" fn( -+ info: *mut dl_phdr_info, -+ size: usize, -+ data: *mut ::c_void, -+ ) -> ::c_int, -+ >, -+ data: *mut ::c_void, -+ ) -> ::c_int; - } - - #[link(name = "rt")] ---- vendor/libc-0.2.79/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig 2021-02-10 18:18:38 UTC -+++ vendor/libc-0.2.79/src/unix/bsd/netbsdlike/netbsd/mod.rs -@@ -11,6 +11,36 @@ pub type vm_size_t = ::uintptr_t; - pub type lwpid_t = ::c_uint; - pub type shmatt_t = ::c_uint; - -+// elf.h -+ -+pub type Elf32_Addr = u32; -+pub type Elf32_Half = u16; -+pub type Elf32_Lword = u64; -+pub type Elf32_Off = u32; -+pub type Elf32_Sword = i32; -+pub type Elf32_Word = u32; -+ -+pub type Elf64_Addr = u64; -+pub type Elf64_Half = u16; -+pub type Elf64_Lword = u64; -+pub type Elf64_Off = u64; -+pub type Elf64_Sword = i32; -+pub type Elf64_Sxword = i64; -+pub type Elf64_Word = u32; -+pub type Elf64_Xword = u64; -+ -+cfg_if! { -+ if #[cfg(target_pointer_width = "64")] { -+ type Elf_Addr = Elf64_Addr; -+ type Elf_Half = Elf64_Half; -+ type Elf_Phdr = Elf64_Phdr; -+ } else if #[cfg(target_pointer_width = "32")] { -+ type Elf_Addr = Elf32_Addr; -+ type Elf_Half = Elf32_Half; -+ type Elf_Phdr = Elf32_Phdr; -+ } -+} -+ - impl siginfo_t { - pub unsafe fn si_value(&self) -> ::sigval { - #[repr(C)] -@@ -341,6 +371,42 @@ s! { - pub time_state: ::c_int, - } - -+ // elf.h -+ -+ pub struct Elf32_Phdr { -+ pub p_type: Elf32_Word, -+ pub p_offset: Elf32_Off, -+ pub p_vaddr: Elf32_Addr, -+ pub p_paddr: Elf32_Addr, -+ pub p_filesz: Elf32_Word, -+ pub p_memsz: Elf32_Word, -+ pub p_flags: Elf32_Word, -+ pub p_align: Elf32_Word, -+ } -+ -+ pub struct Elf64_Phdr { -+ pub p_type: Elf64_Word, -+ pub p_flags: Elf64_Word, -+ pub p_offset: Elf64_Off, -+ pub p_vaddr: Elf64_Addr, -+ pub p_paddr: Elf64_Addr, -+ pub p_filesz: Elf64_Xword, -+ pub p_memsz: Elf64_Xword, -+ pub p_align: Elf64_Xword, -+ } -+ -+ // link.h -+ -+ pub struct dl_phdr_info { -+ pub dlpi_addr: Elf_Addr, -+ pub dlpi_name: *const ::c_char, -+ pub dlpi_phdr: *const Elf_Phdr, -+ pub dlpi_phnum: Elf_Half, -+ pub dlpi_adds: ::c_ulonglong, -+ pub dlpi_subs: ::c_ulonglong, -+ pub dlpi_tls_modid: usize, -+ pub dlpi_tls_data: *mut ::c_void, -+ } - } - - s_no_extra_traits! { -@@ -1990,6 +2056,19 @@ extern "C" { - needle: *const ::c_void, - needlelen: ::size_t, - ) -> *mut ::c_void; -+ -+ // link.h -+ -+ pub fn dl_iterate_phdr( -+ callback: ::Option< -+ unsafe extern "C" fn( -+ info: *mut dl_phdr_info, -+ size: usize, -+ data: *mut ::c_void, -+ ) -> ::c_int, -+ >, -+ data: *mut ::c_void, -+ ) -> ::c_int; - } - - #[link(name = "util")] ---- vendor/libc-0.2.79/src/unix/bsd/netbsdlike/openbsd/mod.rs.orig 2021-02-10 18:18:38 UTC -+++ vendor/libc-0.2.79/src/unix/bsd/netbsdlike/openbsd/mod.rs -@@ -16,6 +16,36 @@ pub type pthread_rwlock_t = *mut ::c_void; - pub type pthread_rwlockattr_t = *mut ::c_void; - pub type caddr_t = *mut ::c_char; - -+// elf.h -+ -+pub type Elf32_Addr = u32; -+pub type Elf32_Half = u16; -+pub type Elf32_Lword = u64; -+pub type Elf32_Off = u32; -+pub type Elf32_Sword = i32; -+pub type Elf32_Word = u32; -+ -+pub type Elf64_Addr = u64; -+pub type Elf64_Half = u16; -+pub type Elf64_Lword = u64; -+pub type Elf64_Off = u64; -+pub type Elf64_Sword = i32; -+pub type Elf64_Sxword = i64; -+pub type Elf64_Word = u32; -+pub type Elf64_Xword = u64; -+ -+cfg_if! { -+ if #[cfg(target_pointer_width = "64")] { -+ type Elf_Addr = Elf64_Addr; -+ type Elf_Half = Elf64_Half; -+ type Elf_Phdr = Elf64_Phdr; -+ } else if #[cfg(target_pointer_width = "32")] { -+ type Elf_Addr = Elf32_Addr; -+ type Elf_Half = Elf32_Half; -+ type Elf_Phdr = Elf32_Phdr; -+ } -+} -+ - s! { - pub struct glob_t { - pub gl_pathc: ::size_t, -@@ -321,6 +351,38 @@ s! { - __shm_ctimensec: c_long, - pub shm_internal: *mut ::c_void, - } -+ -+ // elf.h -+ pub struct Elf32_Phdr { -+ pub p_type: Elf32_Word, -+ pub p_offset: Elf32_Off, -+ pub p_vaddr: Elf32_Addr, -+ pub p_paddr: Elf32_Addr, -+ pub p_filesz: Elf32_Word, -+ pub p_memsz: Elf32_Word, -+ pub p_flags: Elf32_Word, -+ pub p_align: Elf32_Word, -+ } -+ -+ pub struct Elf64_Phdr { -+ pub p_type: Elf64_Word, -+ pub p_flags: Elf64_Word, -+ pub p_offset: Elf64_Off, -+ pub p_vaddr: Elf64_Addr, -+ pub p_paddr: Elf64_Addr, -+ pub p_filesz: Elf64_Xword, -+ pub p_memsz: Elf64_Xword, -+ pub p_align: Elf64_Xword, -+ } -+ -+ // link.h -+ -+ pub struct dl_phdr_info { -+ pub dlpi_addr: Elf_Addr, -+ pub dlpi_name: *const ::c_char, -+ pub dlpi_phdr: *const Elf_Phdr, -+ pub dlpi_phnum: Elf_Half, -+ } - } - - impl siginfo_t { -@@ -1482,6 +1544,17 @@ extern "C" { - needle: *const ::c_void, - needlelen: ::size_t, - ) -> *mut ::c_void; -+ // #include -+ pub fn dl_iterate_phdr( -+ callback: ::Option< -+ unsafe extern "C" fn( -+ info: *mut dl_phdr_info, -+ size: usize, -+ data: *mut ::c_void, -+ ) -> ::c_int, -+ >, -+ data: *mut ::c_void, -+ ) -> ::c_int; - } - - cfg_if! { ---- vendor/libc/src/unix/bsd/freebsdlike/mod.rs.orig 2021-02-10 18:18:38 UTC -+++ vendor/libc/src/unix/bsd/freebsdlike/mod.rs -@@ -14,6 +14,38 @@ pub type nl_item = ::c_int; - pub type id_t = i64; - pub type vm_size_t = ::uintptr_t; - -+// elf.h -+ -+pub type Elf32_Addr = u32; -+pub type Elf32_Half = u16; -+pub type Elf32_Lword = u64; -+pub type Elf32_Off = u32; -+pub type Elf32_Sword = i32; -+pub type Elf32_Word = u32; -+ -+pub type Elf64_Addr = u64; -+pub type Elf64_Half = u16; -+pub type Elf64_Lword = u64; -+pub type Elf64_Off = u64; -+pub type Elf64_Sword = i32; -+pub type Elf64_Sxword = i64; -+pub type Elf64_Word = u32; -+pub type Elf64_Xword = u64; -+ -+cfg_if! { -+ if #[cfg(target_pointer_width = "64")] { -+ type Elf_Addr = Elf64_Addr; -+ type Elf_Half = Elf64_Half; -+ type Elf_Phdr = Elf64_Phdr; -+ } else if #[cfg(target_pointer_width = "32")] { -+ type Elf_Addr = Elf32_Addr; -+ type Elf_Half = Elf32_Half; -+ type Elf_Phdr = Elf32_Phdr; -+ } -+} -+ -+// link.h -+ - #[cfg_attr(feature = "extra_traits", derive(Debug))] - pub enum timezone {} - impl ::Copy for timezone {} -@@ -233,6 +265,43 @@ s! { - pub piod_addr: *mut ::c_void, - pub piod_len: ::size_t, - } -+ -+ // elf.h -+ -+ pub struct Elf32_Phdr { -+ pub p_type: Elf32_Word, -+ pub p_offset: Elf32_Off, -+ pub p_vaddr: Elf32_Addr, -+ pub p_paddr: Elf32_Addr, -+ pub p_filesz: Elf32_Word, -+ pub p_memsz: Elf32_Word, -+ pub p_flags: Elf32_Word, -+ pub p_align: Elf32_Word, -+ } -+ -+ pub struct Elf64_Phdr { -+ pub p_type: Elf64_Word, -+ pub p_flags: Elf64_Word, -+ pub p_offset: Elf64_Off, -+ pub p_vaddr: Elf64_Addr, -+ pub p_paddr: Elf64_Addr, -+ pub p_filesz: Elf64_Xword, -+ pub p_memsz: Elf64_Xword, -+ pub p_align: Elf64_Xword, -+ } -+ -+ // link.h -+ -+ pub struct dl_phdr_info { -+ pub dlpi_addr: Elf_Addr, -+ pub dlpi_name: *const ::c_char, -+ pub dlpi_phdr: *const Elf_Phdr, -+ pub dlpi_phnum: Elf_Half, -+ pub dlpi_adds: ::c_ulonglong, -+ pub dlpi_subs: ::c_ulonglong, -+ pub dlpi_tls_modid: usize, -+ pub dlpi_tls_data: *mut ::c_void, -+ } - } - - s_no_extra_traits! { -@@ -1514,6 +1583,18 @@ extern "C" { - - pub fn ntp_adjtime(buf: *mut timex) -> ::c_int; - pub fn ntp_gettime(buf: *mut ntptimeval) -> ::c_int; -+ -+ // #include -+ pub fn dl_iterate_phdr( -+ callback: ::Option< -+ unsafe extern "C" fn( -+ info: *mut dl_phdr_info, -+ size: usize, -+ data: *mut ::c_void, -+ ) -> ::c_int, -+ >, -+ data: *mut ::c_void, -+ ) -> ::c_int; - } - - #[link(name = "rt")] ---- vendor/libc/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig 2021-02-10 18:18:38 UTC -+++ vendor/libc/src/unix/bsd/netbsdlike/netbsd/mod.rs -@@ -11,6 +11,36 @@ pub type vm_size_t = ::uintptr_t; - pub type lwpid_t = ::c_uint; - pub type shmatt_t = ::c_uint; - -+// elf.h -+ -+pub type Elf32_Addr = u32; -+pub type Elf32_Half = u16; -+pub type Elf32_Lword = u64; -+pub type Elf32_Off = u32; -+pub type Elf32_Sword = i32; -+pub type Elf32_Word = u32; -+ -+pub type Elf64_Addr = u64; -+pub type Elf64_Half = u16; -+pub type Elf64_Lword = u64; -+pub type Elf64_Off = u64; -+pub type Elf64_Sword = i32; -+pub type Elf64_Sxword = i64; -+pub type Elf64_Word = u32; -+pub type Elf64_Xword = u64; -+ -+cfg_if! { -+ if #[cfg(target_pointer_width = "64")] { -+ type Elf_Addr = Elf64_Addr; -+ type Elf_Half = Elf64_Half; -+ type Elf_Phdr = Elf64_Phdr; -+ } else if #[cfg(target_pointer_width = "32")] { -+ type Elf_Addr = Elf32_Addr; -+ type Elf_Half = Elf32_Half; -+ type Elf_Phdr = Elf32_Phdr; -+ } -+} -+ - impl siginfo_t { - pub unsafe fn si_value(&self) -> ::sigval { - #[repr(C)] -@@ -341,6 +371,42 @@ s! { - pub time_state: ::c_int, - } - -+ // elf.h -+ -+ pub struct Elf32_Phdr { -+ pub p_type: Elf32_Word, -+ pub p_offset: Elf32_Off, -+ pub p_vaddr: Elf32_Addr, -+ pub p_paddr: Elf32_Addr, -+ pub p_filesz: Elf32_Word, -+ pub p_memsz: Elf32_Word, -+ pub p_flags: Elf32_Word, -+ pub p_align: Elf32_Word, -+ } -+ -+ pub struct Elf64_Phdr { -+ pub p_type: Elf64_Word, -+ pub p_flags: Elf64_Word, -+ pub p_offset: Elf64_Off, -+ pub p_vaddr: Elf64_Addr, -+ pub p_paddr: Elf64_Addr, -+ pub p_filesz: Elf64_Xword, -+ pub p_memsz: Elf64_Xword, -+ pub p_align: Elf64_Xword, -+ } -+ -+ // link.h -+ -+ pub struct dl_phdr_info { -+ pub dlpi_addr: Elf_Addr, -+ pub dlpi_name: *const ::c_char, -+ pub dlpi_phdr: *const Elf_Phdr, -+ pub dlpi_phnum: Elf_Half, -+ pub dlpi_adds: ::c_ulonglong, -+ pub dlpi_subs: ::c_ulonglong, -+ pub dlpi_tls_modid: usize, -+ pub dlpi_tls_data: *mut ::c_void, -+ } - } - - s_no_extra_traits! { -@@ -2002,6 +2068,19 @@ extern "C" { - needle: *const ::c_void, - needlelen: ::size_t, - ) -> *mut ::c_void; -+ -+ // link.h -+ -+ pub fn dl_iterate_phdr( -+ callback: ::Option< -+ unsafe extern "C" fn( -+ info: *mut dl_phdr_info, -+ size: usize, -+ data: *mut ::c_void, -+ ) -> ::c_int, -+ >, -+ data: *mut ::c_void, -+ ) -> ::c_int; - } - - #[link(name = "util")] ---- vendor/libc/src/unix/bsd/netbsdlike/openbsd/mod.rs.orig 2021-02-10 18:18:38 UTC -+++ vendor/libc/src/unix/bsd/netbsdlike/openbsd/mod.rs -@@ -16,6 +16,36 @@ pub type pthread_rwlock_t = *mut ::c_void; - pub type pthread_rwlockattr_t = *mut ::c_void; - pub type caddr_t = *mut ::c_char; - -+// elf.h -+ -+pub type Elf32_Addr = u32; -+pub type Elf32_Half = u16; -+pub type Elf32_Lword = u64; -+pub type Elf32_Off = u32; -+pub type Elf32_Sword = i32; -+pub type Elf32_Word = u32; -+ -+pub type Elf64_Addr = u64; -+pub type Elf64_Half = u16; -+pub type Elf64_Lword = u64; -+pub type Elf64_Off = u64; -+pub type Elf64_Sword = i32; -+pub type Elf64_Sxword = i64; -+pub type Elf64_Word = u32; -+pub type Elf64_Xword = u64; -+ -+cfg_if! { -+ if #[cfg(target_pointer_width = "64")] { -+ type Elf_Addr = Elf64_Addr; -+ type Elf_Half = Elf64_Half; -+ type Elf_Phdr = Elf64_Phdr; -+ } else if #[cfg(target_pointer_width = "32")] { -+ type Elf_Addr = Elf32_Addr; -+ type Elf_Half = Elf32_Half; -+ type Elf_Phdr = Elf32_Phdr; -+ } -+} -+ - s! { - pub struct glob_t { - pub gl_pathc: ::size_t, -@@ -321,6 +351,38 @@ s! { - __shm_ctimensec: c_long, - pub shm_internal: *mut ::c_void, - } -+ -+ // elf.h -+ pub struct Elf32_Phdr { -+ pub p_type: Elf32_Word, -+ pub p_offset: Elf32_Off, -+ pub p_vaddr: Elf32_Addr, -+ pub p_paddr: Elf32_Addr, -+ pub p_filesz: Elf32_Word, -+ pub p_memsz: Elf32_Word, -+ pub p_flags: Elf32_Word, -+ pub p_align: Elf32_Word, -+ } -+ -+ pub struct Elf64_Phdr { -+ pub p_type: Elf64_Word, -+ pub p_flags: Elf64_Word, -+ pub p_offset: Elf64_Off, -+ pub p_vaddr: Elf64_Addr, -+ pub p_paddr: Elf64_Addr, -+ pub p_filesz: Elf64_Xword, -+ pub p_memsz: Elf64_Xword, -+ pub p_align: Elf64_Xword, -+ } -+ -+ // link.h -+ -+ pub struct dl_phdr_info { -+ pub dlpi_addr: Elf_Addr, -+ pub dlpi_name: *const ::c_char, -+ pub dlpi_phdr: *const Elf_Phdr, -+ pub dlpi_phnum: Elf_Half, -+ } - } - - impl siginfo_t { -@@ -1482,6 +1544,17 @@ extern "C" { - needle: *const ::c_void, - needlelen: ::size_t, - ) -> *mut ::c_void; -+ // #include -+ pub fn dl_iterate_phdr( -+ callback: ::Option< -+ unsafe extern "C" fn( -+ info: *mut dl_phdr_info, -+ size: usize, -+ data: *mut ::c_void, -+ ) -> ::c_int, -+ >, -+ data: *mut ::c_void, -+ ) -> ::c_int; - } - - cfg_if! { Index: head/lang/rust/files/patch-src_bootstrap_native.rs =================================================================== --- head/lang/rust/files/patch-src_bootstrap_native.rs +++ head/lang/rust/files/patch-src_bootstrap_native.rs @@ -1,15 +1,7 @@ -From 9741fbd202b2b55de95abe1eb7f3d8185e312444 Mon Sep 17 00:00:00 2001 -From: Jake Goulding -Date: Sat, 11 Jul 2020 09:38:01 -0400 -Subject: [PATCH] Don't allow `DESTDIR` to influence LLVM builds - -When running a command like `DESTDIR=foo x.py install` in a completely -clean build directory, this will cause LLVM to be installed into -`DESTDIR`, which then causes the build to fail later when it attempts -to *use* those LLVM files. ---- - src/bootstrap/native.rs | 5 +++++ - 1 file changed, 5 insertions(+) +There seems to be some kind of race when using llvm-config-wrapper +for building rust-lld. Attempt to improve reliability of the build +by not using it. llvm-config-wrapper is a hack in the first place +that is only really needed on Windows. --- src/bootstrap/native.rs.orig 2020-08-24 15:00:49 UTC +++ src/bootstrap/native.rs Index: head/lang/rust/files/powerpc64-elfv2/patch-compiler_rustc__target_src_spec_powerpc64__unknown__freebsd.rs =================================================================== --- head/lang/rust/files/powerpc64-elfv2/patch-compiler_rustc__target_src_spec_powerpc64__unknown__freebsd.rs +++ head/lang/rust/files/powerpc64-elfv2/patch-compiler_rustc__target_src_spec_powerpc64__unknown__freebsd.rs @@ -4,9 +4,9 @@ pointer_width: 64, data_layout: "E-m:e-i64:64-n32:64".to_string(), arch: "powerpc64".to_string(), -- options: TargetOptions { endian: "big".to_string(), mcount: "_mcount".to_string(), ..base }, +- options: TargetOptions { endian: Endian::Big, mcount: "_mcount".to_string(), ..base }, + options: TargetOptions { -+ endian: "big".to_string(), ++ endian: Endian::Big, + mcount: "_mcount".to_string(), + llvm_abiname: "elfv2".to_string(), + ..base }, Index: head/lang/rust/files/powerpc64le/patch-compiler_rustc__target_src_spec_powerpc64le__unknown__freebsd.rs =================================================================== --- head/lang/rust/files/powerpc64le/patch-compiler_rustc__target_src_spec_powerpc64le__unknown__freebsd.rs +++ head/lang/rust/files/powerpc64le/patch-compiler_rustc__target_src_spec_powerpc64le__unknown__freebsd.rs @@ -10,10 +10,10 @@ + base.max_atomic_width = Some(64); + + Target { -+ llvm_target: "powerpc64le-unknown-freebsd".to_string(), -+ pointer_width: 64, -+ data_layout: "e-m:e-i64:64-n32:64".to_string(), -+ arch: "powerpc64".to_string(), -+ options: TargetOptions { endian: "little".to_string(), mcount: "_mcount".to_string(), ..base }, ++ llvm_target: "powerpc64le-unknown-freebsd".to_string(), ++ pointer_width: 64, ++ data_layout: "e-m:e-i64:64-n32:64".to_string(), ++ arch: "powerpc64".to_string(), ++ options: TargetOptions { mcount: "_mcount".to_string(), ..base }, + } +}