View | Details | Raw Unified | Return to bug 254578
Collapse All | Expand All

(-)Mk/Uses/cargo.mk (-1 / +1 lines)
Lines 45-51 Link Here
45
45
46
CARGO_BUILDDEP?=	yes
46
CARGO_BUILDDEP?=	yes
47
.if ${CARGO_BUILDDEP:tl} == "yes"
47
.if ${CARGO_BUILDDEP:tl} == "yes"
48
BUILD_DEPENDS+=	${RUST_DEFAULT}>=1.50.0:lang/${RUST_DEFAULT}
48
BUILD_DEPENDS+=	${RUST_DEFAULT}>=1.51.0:lang/${RUST_DEFAULT}
49
.endif
49
.endif
50
50
51
# Location of cargo binary (default to lang/rust's Cargo binary)
51
# Location of cargo binary (default to lang/rust's Cargo binary)
(-)lang/rust/Makefile (-6 / +8 lines)
Lines 2-15 Link Here
2
# $FreeBSD$
2
# $FreeBSD$
3
3
4
PORTNAME=	rust
4
PORTNAME=	rust
5
PORTVERSION?=	1.50.0
5
PORTVERSION?=	1.51.0
6
PORTREVISION?=	1
6
PORTREVISION?=	0
7
CATEGORIES=	lang
7
CATEGORIES=	lang
8
MASTER_SITES=	https://static.rust-lang.org/dist/:src \
8
MASTER_SITES=	https://static.rust-lang.org/dist/:src \
9
		https://dev-static.rust-lang.org/dist/:src \
9
		https://dev-static.rust-lang.org/dist/:src \
10
		LOCAL/bdragon/rust:bootstrap \
10
		LOCAL/tobik/rust:bootstrap \
11
		LOCAL/mikael/rust:bootstrap \
11
		LOCAL/mikael/rust:bootstrap \
12
		LOCAL/tobik/rust:bootstrap \
13
		https://static.rust-lang.org/dist/:bootstrap
12
		https://static.rust-lang.org/dist/:bootstrap
14
DISTNAME?=	${PORTNAME}c-${PORTVERSION}-src
13
DISTNAME?=	${PORTNAME}c-${PORTVERSION}-src
15
DISTFILES?=	${NIGHTLY_DATE:D${NIGHTLY_DATE}/}${DISTNAME}${EXTRACT_SUFX}:src \
14
DISTFILES?=	${NIGHTLY_DATE:D${NIGHTLY_DATE}/}${DISTNAME}${EXTRACT_SUFX}:src \
Lines 63-70 Link Here
63
WASM_VARS_OFF=		_RUST_BUILD_WASM=false
62
WASM_VARS_OFF=		_RUST_BUILD_WASM=false
64
63
65
# See WRKSRC/src/stage0.txt for the date and version values.
64
# See WRKSRC/src/stage0.txt for the date and version values.
66
BOOTSTRAPS_DATE?=		2020-12-31
65
BOOTSTRAPS_DATE?=		2021-02-11
67
RUST_BOOTSTRAP_VERSION?=	1.49.0
66
RUST_BOOTSTRAP_VERSION?=	1.50.0
68
67
69
BOOTSTRAPS_SUFFIX?=		${BOOTSTRAPS_SUFFIX_${ARCH}}
68
BOOTSTRAPS_SUFFIX?=		${BOOTSTRAPS_SUFFIX_${ARCH}}
70
BOOTSTRAPS_SUFFIX_powerpc64?=	-${PPC_ABI:tl}
69
BOOTSTRAPS_SUFFIX_powerpc64?=	-${PPC_ABI:tl}
Lines 123-128 Link Here
123
.endfor
122
.endfor
124
	@${ECHO_CMD} 'changelog-seen=2' > ${WRKSRC}/config.toml
123
	@${ECHO_CMD} 'changelog-seen=2' > ${WRKSRC}/config.toml
125
	@${ECHO_CMD} '[build]' >> ${WRKSRC}/config.toml
124
	@${ECHO_CMD} '[build]' >> ${WRKSRC}/config.toml
125
	@${ECHO_CMD} 'build-stage=2' >> ${WRKSRC}/config.toml
126
	@${ECHO_CMD} 'doc-stage=2' >> ${WRKSRC}/config.toml
127
	@${ECHO_CMD} 'test-stage=2' >> ${WRKSRC}/config.toml
126
	@${ECHO_CMD} 'vendor=true' >> ${WRKSRC}/config.toml
128
	@${ECHO_CMD} 'vendor=true' >> ${WRKSRC}/config.toml
127
	@${ECHO_CMD} 'extended=true' >> ${WRKSRC}/config.toml
129
	@${ECHO_CMD} 'extended=true' >> ${WRKSRC}/config.toml
128
	@${ECHO_CMD} 'python="${PYTHON_CMD}"' >> ${WRKSRC}/config.toml
130
	@${ECHO_CMD} 'python="${PYTHON_CMD}"' >> ${WRKSRC}/config.toml
(-)lang/rust/distinfo (-51 / +51 lines)
Lines 1-51 Link Here
1
TIMESTAMP = 1613066854
1
TIMESTAMP = 1616749421
2
SHA256 (rust/rustc-1.50.0-src.tar.xz) = f54adf9204ed3cb3998cdc1baa5645b346d8cf8f18205e3b15fcae194ba5457c
2
SHA256 (rust/rustc-1.51.0-src.tar.xz) = 92c68a91fca33cbafb83442cde722d010cc387dc1ee8a2680e2fb33a575821a1
3
SIZE (rust/rustc-1.50.0-src.tar.xz) = 108666272
3
SIZE (rust/rustc-1.51.0-src.tar.xz) = 109596164
4
SHA256 (rust/2020-12-31/cargo-1.49.0-aarch64-unknown-freebsd.tar.xz) = 1f29206d9bdebc4f7a85bc40e26bed20919a7efc374493ef6dc8fcb76d9dd757
4
SHA256 (rust/2021-02-11/rustc-1.50.0-aarch64-unknown-freebsd.tar.xz) = 35861e14be840d59465c3958d7bf56960be362f593f14f440329504d29bdc0e0
5
SIZE (rust/2020-12-31/cargo-1.49.0-aarch64-unknown-freebsd.tar.xz) = 4124680
5
SIZE (rust/2021-02-11/rustc-1.50.0-aarch64-unknown-freebsd.tar.xz) = 45220868
6
SHA256 (rust/2020-12-31/rust-std-1.49.0-aarch64-unknown-freebsd.tar.xz) = b326929f61f90ca47d9e5ca683a1bd0c72da308e15758f3b1358707c39763890
6
SHA256 (rust/2021-02-11/rust-std-1.50.0-aarch64-unknown-freebsd.tar.xz) = e9a8237c2f3b8e7cf40608f48d27345a3c1601fa0ddcf8abfb94b879ca1a8bbc
7
SIZE (rust/2020-12-31/rust-std-1.49.0-aarch64-unknown-freebsd.tar.xz) = 16758184
7
SIZE (rust/2021-02-11/rust-std-1.50.0-aarch64-unknown-freebsd.tar.xz) = 17429788
8
SHA256 (rust/2020-12-31/rustc-1.49.0-aarch64-unknown-freebsd.tar.xz) = aa469cc62df63c4718106a6c47c6a3b9e4d294691a61d03e446ceea1f182557e
8
SHA256 (rust/2021-02-11/cargo-1.50.0-aarch64-unknown-freebsd.tar.xz) = 4daf13681f990bcf8d0ca28ab410e0a3d0e5b533772f55e7568eea7e61bca89a
9
SIZE (rust/2020-12-31/rustc-1.49.0-aarch64-unknown-freebsd.tar.xz) = 36458176
9
SIZE (rust/2021-02-11/cargo-1.50.0-aarch64-unknown-freebsd.tar.xz) = 4287964
10
SHA256 (rust/2020-12-31/rustc-1.49.0-x86_64-unknown-freebsd.tar.xz) = 6e4b19b96663042bfe94634025565d57c944ad6e1c6c40dd7b1c56f72eaa2808
10
SHA256 (rust/2021-02-11/rustc-1.50.0-x86_64-unknown-freebsd.tar.xz) = c0148c65ab21f7a49f6d393ba140bf53c05e73276383dd7eb2b65048b1ba4a16
11
SIZE (rust/2020-12-31/rustc-1.49.0-x86_64-unknown-freebsd.tar.xz) = 39597956
11
SIZE (rust/2021-02-11/rustc-1.50.0-x86_64-unknown-freebsd.tar.xz) = 47818616
12
SHA256 (rust/2020-12-31/rust-std-1.49.0-x86_64-unknown-freebsd.tar.xz) = 55fabca711092c67bbffb3e3fec886acf6b90094b256c10998e4f77f90281805
12
SHA256 (rust/2021-02-11/rust-std-1.50.0-x86_64-unknown-freebsd.tar.xz) = c9ff9ef502675bf40f8d7a806d967551f8c3402ff54c48aec7afd63291f64009
13
SIZE (rust/2020-12-31/rust-std-1.49.0-x86_64-unknown-freebsd.tar.xz) = 19435648
13
SIZE (rust/2021-02-11/rust-std-1.50.0-x86_64-unknown-freebsd.tar.xz) = 21624016
14
SHA256 (rust/2020-12-31/cargo-1.49.0-x86_64-unknown-freebsd.tar.xz) = 8af89e8c81beaa3222c2da65a43d8fda5e887552684601ceb35666184ae54294
14
SHA256 (rust/2021-02-11/cargo-1.50.0-x86_64-unknown-freebsd.tar.xz) = 1a49a9aa5374258499048c163de3f0c736f75d12210f299afdbca2099060926d
15
SIZE (rust/2020-12-31/cargo-1.49.0-x86_64-unknown-freebsd.tar.xz) = 4877948
15
SIZE (rust/2021-02-11/cargo-1.50.0-x86_64-unknown-freebsd.tar.xz) = 5073160
16
SHA256 (rust/2020-12-31/rustc-1.49.0-armv6-unknown-freebsd.tar.xz) = c713f8c1662abf2e1d55183907b1ddae17888352bafafd88bc67952da7abc3a5
16
SHA256 (rust/2021-02-11/rustc-1.50.0-armv6-unknown-freebsd.tar.xz) = 628987b6f5cd018a650d1a0b1ec27132cf0a1dd0dd6bffb4387a72466ecb9460
17
SIZE (rust/2020-12-31/rustc-1.49.0-armv6-unknown-freebsd.tar.xz) = 38281092
17
SIZE (rust/2021-02-11/rustc-1.50.0-armv6-unknown-freebsd.tar.xz) = 46037188
18
SHA256 (rust/2020-12-31/rust-std-1.49.0-armv6-unknown-freebsd.tar.xz) = a867971dcceecc41e3bb19befef2f77513a130d512df961a2b0954b6236aff3e
18
SHA256 (rust/2021-02-11/rust-std-1.50.0-armv6-unknown-freebsd.tar.xz) = ed722bfe0c3c3267550767afc59d5d93056018cd664d1182dce3b187d00d3b96
19
SIZE (rust/2020-12-31/rust-std-1.49.0-armv6-unknown-freebsd.tar.xz) = 17007160
19
SIZE (rust/2021-02-11/rust-std-1.50.0-armv6-unknown-freebsd.tar.xz) = 17375956
20
SHA256 (rust/2020-12-31/cargo-1.49.0-armv6-unknown-freebsd.tar.xz) = b416f6df6cbf22a0cf656b9ae462859062abaa26cf66c62cf90688558e90a814
20
SHA256 (rust/2021-02-11/cargo-1.50.0-armv6-unknown-freebsd.tar.xz) = 27ce8e045304146879c48792447de0eb09e92c0e9ce27d80f4dc5d96a005adf8
21
SIZE (rust/2020-12-31/cargo-1.49.0-armv6-unknown-freebsd.tar.xz) = 4283936
21
SIZE (rust/2021-02-11/cargo-1.50.0-armv6-unknown-freebsd.tar.xz) = 4459520
22
SHA256 (rust/2020-12-31/rustc-1.49.0-armv7-unknown-freebsd.tar.xz) = 812f52a37c15da4f344bd2e6f4ef13482931013dc51ddf8a340fb7d7045aa7cd
22
SHA256 (rust/2021-02-11/rustc-1.50.0-armv7-unknown-freebsd.tar.xz) = 479b2c740e1244863f4450bb800e96832182b80dcfdc6f8c70d0248bac312e4f
23
SIZE (rust/2020-12-31/rustc-1.49.0-armv7-unknown-freebsd.tar.xz) = 37941452
23
SIZE (rust/2021-02-11/rustc-1.50.0-armv7-unknown-freebsd.tar.xz) = 46085828
24
SHA256 (rust/2020-12-31/rust-std-1.49.0-armv7-unknown-freebsd.tar.xz) = a73f9b10f537ea3538d7139414ec1dd38926a9f892d03f85df7ce779421117ba
24
SHA256 (rust/2021-02-11/rust-std-1.50.0-armv7-unknown-freebsd.tar.xz) = cce6d3a91ba8f982ca218782be1ea0500add316bd83cbe3ce701ec1f10dcf498
25
SIZE (rust/2020-12-31/rust-std-1.49.0-armv7-unknown-freebsd.tar.xz) = 17139628
25
SIZE (rust/2021-02-11/rust-std-1.50.0-armv7-unknown-freebsd.tar.xz) = 17546932
26
SHA256 (rust/2020-12-31/cargo-1.49.0-armv7-unknown-freebsd.tar.xz) = 0e47d84c6caa9fbcece0a1affefb730466b66de03422d666a0ad12acb2ef8504
26
SHA256 (rust/2021-02-11/cargo-1.50.0-armv7-unknown-freebsd.tar.xz) = 307586fb4d0d33b861d008472b65f6bae9502b7ef44921881046442a81da32d6
27
SIZE (rust/2020-12-31/cargo-1.49.0-armv7-unknown-freebsd.tar.xz) = 4273576
27
SIZE (rust/2021-02-11/cargo-1.50.0-armv7-unknown-freebsd.tar.xz) = 4453420
28
SHA256 (rust/2020-12-31/rustc-1.49.0-i686-unknown-freebsd.tar.xz) = 38e60e3870d7be62bd38dd27418821e0bda403663941b245eb1e06d16cb15254
28
SHA256 (rust/2021-02-11/rustc-1.50.0-i686-unknown-freebsd.tar.xz) = ad52fa90b986770ed2809aae666b9ebe3062b1b0f470fdaa519bc0633a4eab92
29
SIZE (rust/2020-12-31/rustc-1.49.0-i686-unknown-freebsd.tar.xz) = 40971152
29
SIZE (rust/2021-02-11/rustc-1.50.0-i686-unknown-freebsd.tar.xz) = 48989020
30
SHA256 (rust/2020-12-31/rust-std-1.49.0-i686-unknown-freebsd.tar.xz) = 0c14316074c3ae6690b0f9169fd40c2889aab54baa856a55ebd814a5aed23081
30
SHA256 (rust/2021-02-11/rust-std-1.50.0-i686-unknown-freebsd.tar.xz) = d59650dea7fed2dbcc03fdc006d691c8fceb18db6ad575801e5b898ffbdf71a0
31
SIZE (rust/2020-12-31/rust-std-1.49.0-i686-unknown-freebsd.tar.xz) = 19461844
31
SIZE (rust/2021-02-11/rust-std-1.50.0-i686-unknown-freebsd.tar.xz) = 21622960
32
SHA256 (rust/2020-12-31/cargo-1.49.0-i686-unknown-freebsd.tar.xz) = 4b3e30c79baef4ca4bb7f061e61a97652289d42f2c10653ccbe99a82b60ba345
32
SHA256 (rust/2021-02-11/cargo-1.50.0-i686-unknown-freebsd.tar.xz) = 7b07204894a3c5c1f4b39e03c475d8a5ea523a30721af19ba49211c8f46e0cf4
33
SIZE (rust/2020-12-31/cargo-1.49.0-i686-unknown-freebsd.tar.xz) = 4942980
33
SIZE (rust/2021-02-11/cargo-1.50.0-i686-unknown-freebsd.tar.xz) = 5145204
34
SHA256 (rust/2020-12-31/rustc-1.49.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 1557c59eeaa7db5f037b51e01787f55dfcccb00aa01f32dfab5b22880a8c3f0a
34
SHA256 (rust/2021-02-11/rustc-1.50.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = a215d00ffd5e561471ded1ee546c66b3852c83a727f459c3c224eb78cfd67fd5
35
SIZE (rust/2020-12-31/rustc-1.49.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 44844340
35
SIZE (rust/2021-02-11/rustc-1.50.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 55203080
36
SHA256 (rust/2020-12-31/rust-std-1.49.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = d1807da240efabe0dfc038ce9bf71170d2d0ef6d5a8c14d206cb42a08bb84b55
36
SHA256 (rust/2021-02-11/rust-std-1.50.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = c80da6b2b3ba447550c311eda47748e1cf6620e095bec5e60c65d24e711f7eb6
37
SIZE (rust/2020-12-31/rust-std-1.49.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 16862016
37
SIZE (rust/2021-02-11/rust-std-1.50.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 17337608
38
SHA256 (rust/2020-12-31/cargo-1.49.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = e2d032d66a14a5fba1a0c74da283f49b09dd0d9f795d87defad661fe59c433b5
38
SHA256 (rust/2021-02-11/cargo-1.50.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = b5347cc6d5369a93667249b68d19075971836c536128053abf768ed759bdde48
39
SIZE (rust/2020-12-31/cargo-1.49.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 4752512
39
SIZE (rust/2021-02-11/cargo-1.50.0-powerpc64-unknown-freebsd-elfv1.tar.xz) = 4946400
40
SHA256 (rust/2020-12-31/rustc-1.49.0-powerpc64le-unknown-freebsd.tar.xz) = 7885b37a3b68ce9faa6dcc3d400157a514d57483af3e1d383774a0be7d3845df
40
SHA256 (rust/2021-02-11/rustc-1.50.0-powerpc64le-unknown-freebsd.tar.xz) = 11a9ec86be232486f2f42f44e28b7be3baa7cc19d137d87a95851529e3e64f61
41
SIZE (rust/2020-12-31/rustc-1.49.0-powerpc64le-unknown-freebsd.tar.xz) = 39868780
41
SIZE (rust/2021-02-11/rustc-1.50.0-powerpc64le-unknown-freebsd.tar.xz) = 48136856
42
SHA256 (rust/2020-12-31/rust-std-1.49.0-powerpc64le-unknown-freebsd.tar.xz) = 2997b1593c5ec28e32040d2bb643712f9a555a257e7a32bb0b5db4e3bc3f95c5
42
SHA256 (rust/2021-02-11/rust-std-1.50.0-powerpc64le-unknown-freebsd.tar.xz) = 8c5ad05fcb0cf55c762ad6f85cbe0d67663cba0cdd82cfe1378d6004e4b4abeb
43
SIZE (rust/2020-12-31/rust-std-1.49.0-powerpc64le-unknown-freebsd.tar.xz) = 17006712
43
SIZE (rust/2021-02-11/rust-std-1.50.0-powerpc64le-unknown-freebsd.tar.xz) = 17429708
44
SHA256 (rust/2020-12-31/cargo-1.49.0-powerpc64le-unknown-freebsd.tar.xz) = 0fd8651dda85b1548986ba5b9286c8de70543adabba547d065c45ee6a96c831b
44
SHA256 (rust/2021-02-11/cargo-1.50.0-powerpc64le-unknown-freebsd.tar.xz) = bc9ea6b58fa346f1ed04ef21561a8cd81937eb61fa6c7a3272586336d734089e
45
SIZE (rust/2020-12-31/cargo-1.49.0-powerpc64le-unknown-freebsd.tar.xz) = 4693276
45
SIZE (rust/2021-02-11/cargo-1.50.0-powerpc64le-unknown-freebsd.tar.xz) = 4887040
46
SHA256 (rust/2020-12-31/rustc-1.49.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 04144ce50f91a175ea5b9954909c2d408c265e7191d7175f2c8c316ad8eab12a
46
SHA256 (rust/2021-02-11/rustc-1.50.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = b88a9b5ea755207ad431852e009c1e0d993bffca40c6aaa69f76183876b5c603
47
SIZE (rust/2020-12-31/rustc-1.49.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 38025780
47
SIZE (rust/2021-02-11/rustc-1.50.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 46199556
48
SHA256 (rust/2020-12-31/rust-std-1.49.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 43a08e6459bfb4498a395b07c194a4bbc38915e7027ba2ec4e8939087abeeb7a
48
SHA256 (rust/2021-02-11/rust-std-1.50.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = f55a7b1560aef7cbb44cbbffa6d0baee4598d715fe32865cf3fcae9951b2cd70
49
SIZE (rust/2020-12-31/rust-std-1.49.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 16795244
49
SIZE (rust/2021-02-11/rust-std-1.50.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 17233672
50
SHA256 (rust/2020-12-31/cargo-1.49.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = cae1f2f35330bbfd82a5ab1e3f3b82d3981f7b22541becf69659323edb9a6a8c
50
SHA256 (rust/2021-02-11/cargo-1.50.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = f8ea608809f9bd760e9e280d2b183b003727cae682eae16892cc570379e83d13
51
SIZE (rust/2020-12-31/cargo-1.49.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 4447368
51
SIZE (rust/2021-02-11/cargo-1.50.0-powerpc64-unknown-freebsd-elfv2.tar.xz) = 4627136
(-)lang/rust/files/patch-backtrace (-906 lines)
Lines 10-918 Link Here
10
     ))] {
10
     ))] {
11
         // Other Unix (e.g. Linux) platforms use ELF as an object file format
11
         // Other Unix (e.g. Linux) platforms use ELF as an object file format
12
         // and typically implement an API called `dl_iterate_phdr` to load
12
         // and typically implement an API called `dl_iterate_phdr` to load
13
--- vendor/libc-0.2.77/src/unix/bsd/freebsdlike/mod.rs.orig	2021-02-10 18:18:38 UTC
14
+++ vendor/libc-0.2.77/src/unix/bsd/freebsdlike/mod.rs
15
@@ -14,6 +14,38 @@ pub type nl_item = ::c_int;
16
 pub type id_t = i64;
17
 pub type vm_size_t = ::uintptr_t;
18
 
19
+// elf.h
20
+
21
+pub type Elf32_Addr = u32;
22
+pub type Elf32_Half = u16;
23
+pub type Elf32_Lword = u64;
24
+pub type Elf32_Off = u32;
25
+pub type Elf32_Sword = i32;
26
+pub type Elf32_Word = u32;
27
+
28
+pub type Elf64_Addr = u64;
29
+pub type Elf64_Half = u16;
30
+pub type Elf64_Lword = u64;
31
+pub type Elf64_Off = u64;
32
+pub type Elf64_Sword = i32;
33
+pub type Elf64_Sxword = i64;
34
+pub type Elf64_Word = u32;
35
+pub type Elf64_Xword = u64;
36
+
37
+cfg_if! {
38
+    if #[cfg(target_pointer_width = "64")] {
39
+        type Elf_Addr = Elf64_Addr;
40
+        type Elf_Half = Elf64_Half;
41
+        type Elf_Phdr = Elf64_Phdr;
42
+    } else if #[cfg(target_pointer_width = "32")] {
43
+        type Elf_Addr = Elf32_Addr;
44
+        type Elf_Half = Elf32_Half;
45
+        type Elf_Phdr = Elf32_Phdr;
46
+    }
47
+}
48
+
49
+// link.h
50
+
51
 #[cfg_attr(feature = "extra_traits", derive(Debug))]
52
 pub enum timezone {}
53
 impl ::Copy for timezone {}
54
@@ -233,6 +265,43 @@ s! {
55
         pub piod_addr: *mut ::c_void,
56
         pub piod_len: ::size_t,
57
     }
58
+
59
+    // elf.h
60
+
61
+    pub struct Elf32_Phdr {
62
+        pub p_type: Elf32_Word,
63
+        pub p_offset: Elf32_Off,
64
+        pub p_vaddr: Elf32_Addr,
65
+        pub p_paddr: Elf32_Addr,
66
+        pub p_filesz: Elf32_Word,
67
+        pub p_memsz: Elf32_Word,
68
+        pub p_flags: Elf32_Word,
69
+        pub p_align: Elf32_Word,
70
+    }
71
+
72
+    pub struct Elf64_Phdr {
73
+        pub p_type: Elf64_Word,
74
+        pub p_flags: Elf64_Word,
75
+        pub p_offset: Elf64_Off,
76
+        pub p_vaddr: Elf64_Addr,
77
+        pub p_paddr: Elf64_Addr,
78
+        pub p_filesz: Elf64_Xword,
79
+        pub p_memsz: Elf64_Xword,
80
+        pub p_align: Elf64_Xword,
81
+    }
82
+
83
+    // link.h
84
+
85
+    pub struct dl_phdr_info {
86
+        pub dlpi_addr: Elf_Addr,
87
+        pub dlpi_name: *const ::c_char,
88
+        pub dlpi_phdr: *const Elf_Phdr,
89
+        pub dlpi_phnum: Elf_Half,
90
+        pub dlpi_adds: ::c_ulonglong,
91
+        pub dlpi_subs: ::c_ulonglong,
92
+        pub dlpi_tls_modid: usize,
93
+        pub dlpi_tls_data: *mut ::c_void,
94
+    }
95
 }
96
 
97
 s_no_extra_traits! {
98
@@ -1514,6 +1583,18 @@ extern "C" {
99
 
100
     pub fn ntp_adjtime(buf: *mut timex) -> ::c_int;
101
     pub fn ntp_gettime(buf: *mut ntptimeval) -> ::c_int;
102
+
103
+    // #include <link.h>
104
+    pub fn dl_iterate_phdr(
105
+        callback: ::Option<
106
+            unsafe extern "C" fn(
107
+                info: *mut dl_phdr_info,
108
+                size: usize,
109
+                data: *mut ::c_void,
110
+            ) -> ::c_int,
111
+        >,
112
+        data: *mut ::c_void,
113
+    ) -> ::c_int;
114
 }
115
 
116
 #[link(name = "rt")]
117
--- vendor/libc-0.2.77/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig	2021-02-10 18:18:38 UTC
118
+++ vendor/libc-0.2.77/src/unix/bsd/netbsdlike/netbsd/mod.rs
119
@@ -11,6 +11,36 @@ pub type vm_size_t = ::uintptr_t;
120
 pub type lwpid_t = ::c_uint;
121
 pub type shmatt_t = ::c_uint;
122
 
123
+// elf.h
124
+
125
+pub type Elf32_Addr = u32;
126
+pub type Elf32_Half = u16;
127
+pub type Elf32_Lword = u64;
128
+pub type Elf32_Off = u32;
129
+pub type Elf32_Sword = i32;
130
+pub type Elf32_Word = u32;
131
+
132
+pub type Elf64_Addr = u64;
133
+pub type Elf64_Half = u16;
134
+pub type Elf64_Lword = u64;
135
+pub type Elf64_Off = u64;
136
+pub type Elf64_Sword = i32;
137
+pub type Elf64_Sxword = i64;
138
+pub type Elf64_Word = u32;
139
+pub type Elf64_Xword = u64;
140
+
141
+cfg_if! {
142
+    if #[cfg(target_pointer_width = "64")] {
143
+        type Elf_Addr = Elf64_Addr;
144
+        type Elf_Half = Elf64_Half;
145
+        type Elf_Phdr = Elf64_Phdr;
146
+    } else if #[cfg(target_pointer_width = "32")] {
147
+        type Elf_Addr = Elf32_Addr;
148
+        type Elf_Half = Elf32_Half;
149
+        type Elf_Phdr = Elf32_Phdr;
150
+    }
151
+}
152
+
153
 impl siginfo_t {
154
     pub unsafe fn si_value(&self) -> ::sigval {
155
         #[repr(C)]
156
@@ -341,6 +371,42 @@ s! {
157
         pub time_state: ::c_int,
158
     }
159
 
160
+    // elf.h
161
+
162
+    pub struct Elf32_Phdr {
163
+        pub p_type: Elf32_Word,
164
+        pub p_offset: Elf32_Off,
165
+        pub p_vaddr: Elf32_Addr,
166
+        pub p_paddr: Elf32_Addr,
167
+        pub p_filesz: Elf32_Word,
168
+        pub p_memsz: Elf32_Word,
169
+        pub p_flags: Elf32_Word,
170
+        pub p_align: Elf32_Word,
171
+    }
172
+
173
+    pub struct Elf64_Phdr {
174
+        pub p_type: Elf64_Word,
175
+        pub p_flags: Elf64_Word,
176
+        pub p_offset: Elf64_Off,
177
+        pub p_vaddr: Elf64_Addr,
178
+        pub p_paddr: Elf64_Addr,
179
+        pub p_filesz: Elf64_Xword,
180
+        pub p_memsz: Elf64_Xword,
181
+        pub p_align: Elf64_Xword,
182
+    }
183
+
184
+    // link.h
185
+
186
+    pub struct dl_phdr_info {
187
+        pub dlpi_addr: Elf_Addr,
188
+        pub dlpi_name: *const ::c_char,
189
+        pub dlpi_phdr: *const Elf_Phdr,
190
+        pub dlpi_phnum: Elf_Half,
191
+        pub dlpi_adds: ::c_ulonglong,
192
+        pub dlpi_subs: ::c_ulonglong,
193
+        pub dlpi_tls_modid: usize,
194
+        pub dlpi_tls_data: *mut ::c_void,
195
+    }
196
 }
197
 
198
 s_no_extra_traits! {
199
@@ -1988,6 +2054,19 @@ extern "C" {
200
         needle: *const ::c_void,
201
         needlelen: ::size_t,
202
     ) -> *mut ::c_void;
203
+
204
+    // link.h
205
+
206
+    pub fn dl_iterate_phdr(
207
+        callback: ::Option<
208
+            unsafe extern "C" fn(
209
+                info: *mut dl_phdr_info,
210
+                size: usize,
211
+                data: *mut ::c_void,
212
+            ) -> ::c_int,
213
+        >,
214
+        data: *mut ::c_void,
215
+    ) -> ::c_int;
216
 }
217
 
218
 #[link(name = "util")]
219
--- vendor/libc-0.2.77/src/unix/bsd/netbsdlike/openbsd/mod.rs.orig	2021-02-10 18:18:38 UTC
220
+++ vendor/libc-0.2.77/src/unix/bsd/netbsdlike/openbsd/mod.rs
221
@@ -16,6 +16,36 @@ pub type pthread_rwlock_t = *mut ::c_void;
222
 pub type pthread_rwlockattr_t = *mut ::c_void;
223
 pub type caddr_t = *mut ::c_char;
224
 
225
+// elf.h
226
+
227
+pub type Elf32_Addr = u32;
228
+pub type Elf32_Half = u16;
229
+pub type Elf32_Lword = u64;
230
+pub type Elf32_Off = u32;
231
+pub type Elf32_Sword = i32;
232
+pub type Elf32_Word = u32;
233
+
234
+pub type Elf64_Addr = u64;
235
+pub type Elf64_Half = u16;
236
+pub type Elf64_Lword = u64;
237
+pub type Elf64_Off = u64;
238
+pub type Elf64_Sword = i32;
239
+pub type Elf64_Sxword = i64;
240
+pub type Elf64_Word = u32;
241
+pub type Elf64_Xword = u64;
242
+
243
+cfg_if! {
244
+    if #[cfg(target_pointer_width = "64")] {
245
+        type Elf_Addr = Elf64_Addr;
246
+        type Elf_Half = Elf64_Half;
247
+        type Elf_Phdr = Elf64_Phdr;
248
+    } else if #[cfg(target_pointer_width = "32")] {
249
+        type Elf_Addr = Elf32_Addr;
250
+        type Elf_Half = Elf32_Half;
251
+        type Elf_Phdr = Elf32_Phdr;
252
+    }
253
+}
254
+
255
 s! {
256
     pub struct glob_t {
257
         pub gl_pathc:   ::size_t,
258
@@ -321,6 +351,38 @@ s! {
259
         __shm_ctimensec: c_long,
260
         pub shm_internal: *mut ::c_void,
261
     }
262
+
263
+    // elf.h
264
+    pub struct Elf32_Phdr {
265
+        pub p_type: Elf32_Word,
266
+        pub p_offset: Elf32_Off,
267
+        pub p_vaddr: Elf32_Addr,
268
+        pub p_paddr: Elf32_Addr,
269
+        pub p_filesz: Elf32_Word,
270
+        pub p_memsz: Elf32_Word,
271
+        pub p_flags: Elf32_Word,
272
+        pub p_align: Elf32_Word,
273
+    }
274
+
275
+    pub struct Elf64_Phdr {
276
+        pub p_type: Elf64_Word,
277
+        pub p_flags: Elf64_Word,
278
+        pub p_offset: Elf64_Off,
279
+        pub p_vaddr: Elf64_Addr,
280
+        pub p_paddr: Elf64_Addr,
281
+        pub p_filesz: Elf64_Xword,
282
+        pub p_memsz: Elf64_Xword,
283
+        pub p_align: Elf64_Xword,
284
+    }
285
+
286
+    // link.h
287
+
288
+    pub struct dl_phdr_info {
289
+        pub dlpi_addr: Elf_Addr,
290
+        pub dlpi_name: *const ::c_char,
291
+        pub dlpi_phdr: *const Elf_Phdr,
292
+        pub dlpi_phnum: Elf_Half,
293
+    }
294
 }
295
 
296
 impl siginfo_t {
297
@@ -1480,6 +1542,17 @@ extern "C" {
298
         needle: *const ::c_void,
299
         needlelen: ::size_t,
300
     ) -> *mut ::c_void;
301
+    // #include <link.h>
302
+    pub fn dl_iterate_phdr(
303
+        callback: ::Option<
304
+            unsafe extern "C" fn(
305
+                info: *mut dl_phdr_info,
306
+                size: usize,
307
+                data: *mut ::c_void,
308
+            ) -> ::c_int,
309
+        >,
310
+        data: *mut ::c_void,
311
+    ) -> ::c_int;
312
 }
313
 
314
 cfg_if! {
315
--- vendor/libc-0.2.79/src/unix/bsd/freebsdlike/mod.rs.orig	2021-02-10 18:18:38 UTC
316
+++ vendor/libc-0.2.79/src/unix/bsd/freebsdlike/mod.rs
317
@@ -14,6 +14,38 @@ pub type nl_item = ::c_int;
318
 pub type id_t = i64;
319
 pub type vm_size_t = ::uintptr_t;
320
 
321
+// elf.h
322
+
323
+pub type Elf32_Addr = u32;
324
+pub type Elf32_Half = u16;
325
+pub type Elf32_Lword = u64;
326
+pub type Elf32_Off = u32;
327
+pub type Elf32_Sword = i32;
328
+pub type Elf32_Word = u32;
329
+
330
+pub type Elf64_Addr = u64;
331
+pub type Elf64_Half = u16;
332
+pub type Elf64_Lword = u64;
333
+pub type Elf64_Off = u64;
334
+pub type Elf64_Sword = i32;
335
+pub type Elf64_Sxword = i64;
336
+pub type Elf64_Word = u32;
337
+pub type Elf64_Xword = u64;
338
+
339
+cfg_if! {
340
+    if #[cfg(target_pointer_width = "64")] {
341
+        type Elf_Addr = Elf64_Addr;
342
+        type Elf_Half = Elf64_Half;
343
+        type Elf_Phdr = Elf64_Phdr;
344
+    } else if #[cfg(target_pointer_width = "32")] {
345
+        type Elf_Addr = Elf32_Addr;
346
+        type Elf_Half = Elf32_Half;
347
+        type Elf_Phdr = Elf32_Phdr;
348
+    }
349
+}
350
+
351
+// link.h
352
+
353
 #[cfg_attr(feature = "extra_traits", derive(Debug))]
354
 pub enum timezone {}
355
 impl ::Copy for timezone {}
356
@@ -233,6 +265,43 @@ s! {
357
         pub piod_addr: *mut ::c_void,
358
         pub piod_len: ::size_t,
359
     }
360
+
361
+    // elf.h
362
+
363
+    pub struct Elf32_Phdr {
364
+        pub p_type: Elf32_Word,
365
+        pub p_offset: Elf32_Off,
366
+        pub p_vaddr: Elf32_Addr,
367
+        pub p_paddr: Elf32_Addr,
368
+        pub p_filesz: Elf32_Word,
369
+        pub p_memsz: Elf32_Word,
370
+        pub p_flags: Elf32_Word,
371
+        pub p_align: Elf32_Word,
372
+    }
373
+
374
+    pub struct Elf64_Phdr {
375
+        pub p_type: Elf64_Word,
376
+        pub p_flags: Elf64_Word,
377
+        pub p_offset: Elf64_Off,
378
+        pub p_vaddr: Elf64_Addr,
379
+        pub p_paddr: Elf64_Addr,
380
+        pub p_filesz: Elf64_Xword,
381
+        pub p_memsz: Elf64_Xword,
382
+        pub p_align: Elf64_Xword,
383
+    }
384
+
385
+    // link.h
386
+
387
+    pub struct dl_phdr_info {
388
+        pub dlpi_addr: Elf_Addr,
389
+        pub dlpi_name: *const ::c_char,
390
+        pub dlpi_phdr: *const Elf_Phdr,
391
+        pub dlpi_phnum: Elf_Half,
392
+        pub dlpi_adds: ::c_ulonglong,
393
+        pub dlpi_subs: ::c_ulonglong,
394
+        pub dlpi_tls_modid: usize,
395
+        pub dlpi_tls_data: *mut ::c_void,
396
+    }
397
 }
398
 
399
 s_no_extra_traits! {
400
@@ -1514,6 +1583,18 @@ extern "C" {
401
 
402
     pub fn ntp_adjtime(buf: *mut timex) -> ::c_int;
403
     pub fn ntp_gettime(buf: *mut ntptimeval) -> ::c_int;
404
+
405
+    // #include <link.h>
406
+    pub fn dl_iterate_phdr(
407
+        callback: ::Option<
408
+            unsafe extern "C" fn(
409
+                info: *mut dl_phdr_info,
410
+                size: usize,
411
+                data: *mut ::c_void,
412
+            ) -> ::c_int,
413
+        >,
414
+        data: *mut ::c_void,
415
+    ) -> ::c_int;
416
 }
417
 
418
 #[link(name = "rt")]
419
--- vendor/libc-0.2.79/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig	2021-02-10 18:18:38 UTC
420
+++ vendor/libc-0.2.79/src/unix/bsd/netbsdlike/netbsd/mod.rs
421
@@ -11,6 +11,36 @@ pub type vm_size_t = ::uintptr_t;
422
 pub type lwpid_t = ::c_uint;
423
 pub type shmatt_t = ::c_uint;
424
 
425
+// elf.h
426
+
427
+pub type Elf32_Addr = u32;
428
+pub type Elf32_Half = u16;
429
+pub type Elf32_Lword = u64;
430
+pub type Elf32_Off = u32;
431
+pub type Elf32_Sword = i32;
432
+pub type Elf32_Word = u32;
433
+
434
+pub type Elf64_Addr = u64;
435
+pub type Elf64_Half = u16;
436
+pub type Elf64_Lword = u64;
437
+pub type Elf64_Off = u64;
438
+pub type Elf64_Sword = i32;
439
+pub type Elf64_Sxword = i64;
440
+pub type Elf64_Word = u32;
441
+pub type Elf64_Xword = u64;
442
+
443
+cfg_if! {
444
+    if #[cfg(target_pointer_width = "64")] {
445
+        type Elf_Addr = Elf64_Addr;
446
+        type Elf_Half = Elf64_Half;
447
+        type Elf_Phdr = Elf64_Phdr;
448
+    } else if #[cfg(target_pointer_width = "32")] {
449
+        type Elf_Addr = Elf32_Addr;
450
+        type Elf_Half = Elf32_Half;
451
+        type Elf_Phdr = Elf32_Phdr;
452
+    }
453
+}
454
+
455
 impl siginfo_t {
456
     pub unsafe fn si_value(&self) -> ::sigval {
457
         #[repr(C)]
458
@@ -341,6 +371,42 @@ s! {
459
         pub time_state: ::c_int,
460
     }
461
 
462
+    // elf.h
463
+
464
+    pub struct Elf32_Phdr {
465
+        pub p_type: Elf32_Word,
466
+        pub p_offset: Elf32_Off,
467
+        pub p_vaddr: Elf32_Addr,
468
+        pub p_paddr: Elf32_Addr,
469
+        pub p_filesz: Elf32_Word,
470
+        pub p_memsz: Elf32_Word,
471
+        pub p_flags: Elf32_Word,
472
+        pub p_align: Elf32_Word,
473
+    }
474
+
475
+    pub struct Elf64_Phdr {
476
+        pub p_type: Elf64_Word,
477
+        pub p_flags: Elf64_Word,
478
+        pub p_offset: Elf64_Off,
479
+        pub p_vaddr: Elf64_Addr,
480
+        pub p_paddr: Elf64_Addr,
481
+        pub p_filesz: Elf64_Xword,
482
+        pub p_memsz: Elf64_Xword,
483
+        pub p_align: Elf64_Xword,
484
+    }
485
+
486
+    // link.h
487
+
488
+    pub struct dl_phdr_info {
489
+        pub dlpi_addr: Elf_Addr,
490
+        pub dlpi_name: *const ::c_char,
491
+        pub dlpi_phdr: *const Elf_Phdr,
492
+        pub dlpi_phnum: Elf_Half,
493
+        pub dlpi_adds: ::c_ulonglong,
494
+        pub dlpi_subs: ::c_ulonglong,
495
+        pub dlpi_tls_modid: usize,
496
+        pub dlpi_tls_data: *mut ::c_void,
497
+    }
498
 }
499
 
500
 s_no_extra_traits! {
501
@@ -1990,6 +2056,19 @@ extern "C" {
502
         needle: *const ::c_void,
503
         needlelen: ::size_t,
504
     ) -> *mut ::c_void;
505
+
506
+    // link.h
507
+
508
+    pub fn dl_iterate_phdr(
509
+        callback: ::Option<
510
+            unsafe extern "C" fn(
511
+                info: *mut dl_phdr_info,
512
+                size: usize,
513
+                data: *mut ::c_void,
514
+            ) -> ::c_int,
515
+        >,
516
+        data: *mut ::c_void,
517
+    ) -> ::c_int;
518
 }
519
 
520
 #[link(name = "util")]
521
--- vendor/libc-0.2.79/src/unix/bsd/netbsdlike/openbsd/mod.rs.orig	2021-02-10 18:18:38 UTC
522
+++ vendor/libc-0.2.79/src/unix/bsd/netbsdlike/openbsd/mod.rs
523
@@ -16,6 +16,36 @@ pub type pthread_rwlock_t = *mut ::c_void;
524
 pub type pthread_rwlockattr_t = *mut ::c_void;
525
 pub type caddr_t = *mut ::c_char;
526
 
527
+// elf.h
528
+
529
+pub type Elf32_Addr = u32;
530
+pub type Elf32_Half = u16;
531
+pub type Elf32_Lword = u64;
532
+pub type Elf32_Off = u32;
533
+pub type Elf32_Sword = i32;
534
+pub type Elf32_Word = u32;
535
+
536
+pub type Elf64_Addr = u64;
537
+pub type Elf64_Half = u16;
538
+pub type Elf64_Lword = u64;
539
+pub type Elf64_Off = u64;
540
+pub type Elf64_Sword = i32;
541
+pub type Elf64_Sxword = i64;
542
+pub type Elf64_Word = u32;
543
+pub type Elf64_Xword = u64;
544
+
545
+cfg_if! {
546
+    if #[cfg(target_pointer_width = "64")] {
547
+        type Elf_Addr = Elf64_Addr;
548
+        type Elf_Half = Elf64_Half;
549
+        type Elf_Phdr = Elf64_Phdr;
550
+    } else if #[cfg(target_pointer_width = "32")] {
551
+        type Elf_Addr = Elf32_Addr;
552
+        type Elf_Half = Elf32_Half;
553
+        type Elf_Phdr = Elf32_Phdr;
554
+    }
555
+}
556
+
557
 s! {
558
     pub struct glob_t {
559
         pub gl_pathc:   ::size_t,
560
@@ -321,6 +351,38 @@ s! {
561
         __shm_ctimensec: c_long,
562
         pub shm_internal: *mut ::c_void,
563
     }
564
+
565
+    // elf.h
566
+    pub struct Elf32_Phdr {
567
+        pub p_type: Elf32_Word,
568
+        pub p_offset: Elf32_Off,
569
+        pub p_vaddr: Elf32_Addr,
570
+        pub p_paddr: Elf32_Addr,
571
+        pub p_filesz: Elf32_Word,
572
+        pub p_memsz: Elf32_Word,
573
+        pub p_flags: Elf32_Word,
574
+        pub p_align: Elf32_Word,
575
+    }
576
+
577
+    pub struct Elf64_Phdr {
578
+        pub p_type: Elf64_Word,
579
+        pub p_flags: Elf64_Word,
580
+        pub p_offset: Elf64_Off,
581
+        pub p_vaddr: Elf64_Addr,
582
+        pub p_paddr: Elf64_Addr,
583
+        pub p_filesz: Elf64_Xword,
584
+        pub p_memsz: Elf64_Xword,
585
+        pub p_align: Elf64_Xword,
586
+    }
587
+
588
+    // link.h
589
+
590
+    pub struct dl_phdr_info {
591
+        pub dlpi_addr: Elf_Addr,
592
+        pub dlpi_name: *const ::c_char,
593
+        pub dlpi_phdr: *const Elf_Phdr,
594
+        pub dlpi_phnum: Elf_Half,
595
+    }
596
 }
597
 
598
 impl siginfo_t {
599
@@ -1482,6 +1544,17 @@ extern "C" {
600
         needle: *const ::c_void,
601
         needlelen: ::size_t,
602
     ) -> *mut ::c_void;
603
+    // #include <link.h>
604
+    pub fn dl_iterate_phdr(
605
+        callback: ::Option<
606
+            unsafe extern "C" fn(
607
+                info: *mut dl_phdr_info,
608
+                size: usize,
609
+                data: *mut ::c_void,
610
+            ) -> ::c_int,
611
+        >,
612
+        data: *mut ::c_void,
613
+    ) -> ::c_int;
614
 }
615
 
616
 cfg_if! {
617
--- vendor/libc/src/unix/bsd/freebsdlike/mod.rs.orig	2021-02-10 18:18:38 UTC
618
+++ vendor/libc/src/unix/bsd/freebsdlike/mod.rs
619
@@ -14,6 +14,38 @@ pub type nl_item = ::c_int;
620
 pub type id_t = i64;
621
 pub type vm_size_t = ::uintptr_t;
622
 
623
+// elf.h
624
+
625
+pub type Elf32_Addr = u32;
626
+pub type Elf32_Half = u16;
627
+pub type Elf32_Lword = u64;
628
+pub type Elf32_Off = u32;
629
+pub type Elf32_Sword = i32;
630
+pub type Elf32_Word = u32;
631
+
632
+pub type Elf64_Addr = u64;
633
+pub type Elf64_Half = u16;
634
+pub type Elf64_Lword = u64;
635
+pub type Elf64_Off = u64;
636
+pub type Elf64_Sword = i32;
637
+pub type Elf64_Sxword = i64;
638
+pub type Elf64_Word = u32;
639
+pub type Elf64_Xword = u64;
640
+
641
+cfg_if! {
642
+    if #[cfg(target_pointer_width = "64")] {
643
+        type Elf_Addr = Elf64_Addr;
644
+        type Elf_Half = Elf64_Half;
645
+        type Elf_Phdr = Elf64_Phdr;
646
+    } else if #[cfg(target_pointer_width = "32")] {
647
+        type Elf_Addr = Elf32_Addr;
648
+        type Elf_Half = Elf32_Half;
649
+        type Elf_Phdr = Elf32_Phdr;
650
+    }
651
+}
652
+
653
+// link.h
654
+
655
 #[cfg_attr(feature = "extra_traits", derive(Debug))]
656
 pub enum timezone {}
657
 impl ::Copy for timezone {}
658
@@ -233,6 +265,43 @@ s! {
659
         pub piod_addr: *mut ::c_void,
660
         pub piod_len: ::size_t,
661
     }
662
+
663
+    // elf.h
664
+
665
+    pub struct Elf32_Phdr {
666
+        pub p_type: Elf32_Word,
667
+        pub p_offset: Elf32_Off,
668
+        pub p_vaddr: Elf32_Addr,
669
+        pub p_paddr: Elf32_Addr,
670
+        pub p_filesz: Elf32_Word,
671
+        pub p_memsz: Elf32_Word,
672
+        pub p_flags: Elf32_Word,
673
+        pub p_align: Elf32_Word,
674
+    }
675
+
676
+    pub struct Elf64_Phdr {
677
+        pub p_type: Elf64_Word,
678
+        pub p_flags: Elf64_Word,
679
+        pub p_offset: Elf64_Off,
680
+        pub p_vaddr: Elf64_Addr,
681
+        pub p_paddr: Elf64_Addr,
682
+        pub p_filesz: Elf64_Xword,
683
+        pub p_memsz: Elf64_Xword,
684
+        pub p_align: Elf64_Xword,
685
+    }
686
+
687
+    // link.h
688
+
689
+    pub struct dl_phdr_info {
690
+        pub dlpi_addr: Elf_Addr,
691
+        pub dlpi_name: *const ::c_char,
692
+        pub dlpi_phdr: *const Elf_Phdr,
693
+        pub dlpi_phnum: Elf_Half,
694
+        pub dlpi_adds: ::c_ulonglong,
695
+        pub dlpi_subs: ::c_ulonglong,
696
+        pub dlpi_tls_modid: usize,
697
+        pub dlpi_tls_data: *mut ::c_void,
698
+    }
699
 }
700
 
701
 s_no_extra_traits! {
702
@@ -1514,6 +1583,18 @@ extern "C" {
703
 
704
     pub fn ntp_adjtime(buf: *mut timex) -> ::c_int;
705
     pub fn ntp_gettime(buf: *mut ntptimeval) -> ::c_int;
706
+
707
+    // #include <link.h>
708
+    pub fn dl_iterate_phdr(
709
+        callback: ::Option<
710
+            unsafe extern "C" fn(
711
+                info: *mut dl_phdr_info,
712
+                size: usize,
713
+                data: *mut ::c_void,
714
+            ) -> ::c_int,
715
+        >,
716
+        data: *mut ::c_void,
717
+    ) -> ::c_int;
718
 }
719
 
720
 #[link(name = "rt")]
721
--- vendor/libc/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig	2021-02-10 18:18:38 UTC
722
+++ vendor/libc/src/unix/bsd/netbsdlike/netbsd/mod.rs
723
@@ -11,6 +11,36 @@ pub type vm_size_t = ::uintptr_t;
724
 pub type lwpid_t = ::c_uint;
725
 pub type shmatt_t = ::c_uint;
726
 
727
+// elf.h
728
+
729
+pub type Elf32_Addr = u32;
730
+pub type Elf32_Half = u16;
731
+pub type Elf32_Lword = u64;
732
+pub type Elf32_Off = u32;
733
+pub type Elf32_Sword = i32;
734
+pub type Elf32_Word = u32;
735
+
736
+pub type Elf64_Addr = u64;
737
+pub type Elf64_Half = u16;
738
+pub type Elf64_Lword = u64;
739
+pub type Elf64_Off = u64;
740
+pub type Elf64_Sword = i32;
741
+pub type Elf64_Sxword = i64;
742
+pub type Elf64_Word = u32;
743
+pub type Elf64_Xword = u64;
744
+
745
+cfg_if! {
746
+    if #[cfg(target_pointer_width = "64")] {
747
+        type Elf_Addr = Elf64_Addr;
748
+        type Elf_Half = Elf64_Half;
749
+        type Elf_Phdr = Elf64_Phdr;
750
+    } else if #[cfg(target_pointer_width = "32")] {
751
+        type Elf_Addr = Elf32_Addr;
752
+        type Elf_Half = Elf32_Half;
753
+        type Elf_Phdr = Elf32_Phdr;
754
+    }
755
+}
756
+
757
 impl siginfo_t {
758
     pub unsafe fn si_value(&self) -> ::sigval {
759
         #[repr(C)]
760
@@ -341,6 +371,42 @@ s! {
761
         pub time_state: ::c_int,
762
     }
763
 
764
+    // elf.h
765
+
766
+    pub struct Elf32_Phdr {
767
+        pub p_type: Elf32_Word,
768
+        pub p_offset: Elf32_Off,
769
+        pub p_vaddr: Elf32_Addr,
770
+        pub p_paddr: Elf32_Addr,
771
+        pub p_filesz: Elf32_Word,
772
+        pub p_memsz: Elf32_Word,
773
+        pub p_flags: Elf32_Word,
774
+        pub p_align: Elf32_Word,
775
+    }
776
+
777
+    pub struct Elf64_Phdr {
778
+        pub p_type: Elf64_Word,
779
+        pub p_flags: Elf64_Word,
780
+        pub p_offset: Elf64_Off,
781
+        pub p_vaddr: Elf64_Addr,
782
+        pub p_paddr: Elf64_Addr,
783
+        pub p_filesz: Elf64_Xword,
784
+        pub p_memsz: Elf64_Xword,
785
+        pub p_align: Elf64_Xword,
786
+    }
787
+
788
+    // link.h
789
+
790
+    pub struct dl_phdr_info {
791
+        pub dlpi_addr: Elf_Addr,
792
+        pub dlpi_name: *const ::c_char,
793
+        pub dlpi_phdr: *const Elf_Phdr,
794
+        pub dlpi_phnum: Elf_Half,
795
+        pub dlpi_adds: ::c_ulonglong,
796
+        pub dlpi_subs: ::c_ulonglong,
797
+        pub dlpi_tls_modid: usize,
798
+        pub dlpi_tls_data: *mut ::c_void,
799
+    }
800
 }
801
 
802
 s_no_extra_traits! {
803
@@ -2002,6 +2068,19 @@ extern "C" {
804
         needle: *const ::c_void,
805
         needlelen: ::size_t,
806
     ) -> *mut ::c_void;
807
+
808
+    // link.h
809
+
810
+    pub fn dl_iterate_phdr(
811
+        callback: ::Option<
812
+            unsafe extern "C" fn(
813
+                info: *mut dl_phdr_info,
814
+                size: usize,
815
+                data: *mut ::c_void,
816
+            ) -> ::c_int,
817
+        >,
818
+        data: *mut ::c_void,
819
+    ) -> ::c_int;
820
 }
821
 
822
 #[link(name = "util")]
823
--- vendor/libc/src/unix/bsd/netbsdlike/openbsd/mod.rs.orig	2021-02-10 18:18:38 UTC
824
+++ vendor/libc/src/unix/bsd/netbsdlike/openbsd/mod.rs
825
@@ -16,6 +16,36 @@ pub type pthread_rwlock_t = *mut ::c_void;
826
 pub type pthread_rwlockattr_t = *mut ::c_void;
827
 pub type caddr_t = *mut ::c_char;
828
 
829
+// elf.h
830
+
831
+pub type Elf32_Addr = u32;
832
+pub type Elf32_Half = u16;
833
+pub type Elf32_Lword = u64;
834
+pub type Elf32_Off = u32;
835
+pub type Elf32_Sword = i32;
836
+pub type Elf32_Word = u32;
837
+
838
+pub type Elf64_Addr = u64;
839
+pub type Elf64_Half = u16;
840
+pub type Elf64_Lword = u64;
841
+pub type Elf64_Off = u64;
842
+pub type Elf64_Sword = i32;
843
+pub type Elf64_Sxword = i64;
844
+pub type Elf64_Word = u32;
845
+pub type Elf64_Xword = u64;
846
+
847
+cfg_if! {
848
+    if #[cfg(target_pointer_width = "64")] {
849
+        type Elf_Addr = Elf64_Addr;
850
+        type Elf_Half = Elf64_Half;
851
+        type Elf_Phdr = Elf64_Phdr;
852
+    } else if #[cfg(target_pointer_width = "32")] {
853
+        type Elf_Addr = Elf32_Addr;
854
+        type Elf_Half = Elf32_Half;
855
+        type Elf_Phdr = Elf32_Phdr;
856
+    }
857
+}
858
+
859
 s! {
860
     pub struct glob_t {
861
         pub gl_pathc:   ::size_t,
862
@@ -321,6 +351,38 @@ s! {
863
         __shm_ctimensec: c_long,
864
         pub shm_internal: *mut ::c_void,
865
     }
866
+
867
+    // elf.h
868
+    pub struct Elf32_Phdr {
869
+        pub p_type: Elf32_Word,
870
+        pub p_offset: Elf32_Off,
871
+        pub p_vaddr: Elf32_Addr,
872
+        pub p_paddr: Elf32_Addr,
873
+        pub p_filesz: Elf32_Word,
874
+        pub p_memsz: Elf32_Word,
875
+        pub p_flags: Elf32_Word,
876
+        pub p_align: Elf32_Word,
877
+    }
878
+
879
+    pub struct Elf64_Phdr {
880
+        pub p_type: Elf64_Word,
881
+        pub p_flags: Elf64_Word,
882
+        pub p_offset: Elf64_Off,
883
+        pub p_vaddr: Elf64_Addr,
884
+        pub p_paddr: Elf64_Addr,
885
+        pub p_filesz: Elf64_Xword,
886
+        pub p_memsz: Elf64_Xword,
887
+        pub p_align: Elf64_Xword,
888
+    }
889
+
890
+    // link.h
891
+
892
+    pub struct dl_phdr_info {
893
+        pub dlpi_addr: Elf_Addr,
894
+        pub dlpi_name: *const ::c_char,
895
+        pub dlpi_phdr: *const Elf_Phdr,
896
+        pub dlpi_phnum: Elf_Half,
897
+    }
898
 }
899
 
900
 impl siginfo_t {
901
@@ -1482,6 +1544,17 @@ extern "C" {
902
         needle: *const ::c_void,
903
         needlelen: ::size_t,
904
     ) -> *mut ::c_void;
905
+    // #include <link.h>
906
+    pub fn dl_iterate_phdr(
907
+        callback: ::Option<
908
+            unsafe extern "C" fn(
909
+                info: *mut dl_phdr_info,
910
+                size: usize,
911
+                data: *mut ::c_void,
912
+            ) -> ::c_int,
913
+        >,
914
+        data: *mut ::c_void,
915
+    ) -> ::c_int;
916
 }
917
 
918
 cfg_if! {
(-)lang/rust/files/powerpc64-elfv2/patch-compiler_rustc__target_src_spec_powerpc64__unknown__freebsd.rs (-2 / +2 lines)
Lines 4-12 Link Here
4
         pointer_width: 64,
4
         pointer_width: 64,
5
         data_layout: "E-m:e-i64:64-n32:64".to_string(),
5
         data_layout: "E-m:e-i64:64-n32:64".to_string(),
6
         arch: "powerpc64".to_string(),
6
         arch: "powerpc64".to_string(),
7
-        options: TargetOptions { endian: "big".to_string(), mcount: "_mcount".to_string(), ..base },
7
-        options: TargetOptions { endian: Endian::Big, mcount: "_mcount".to_string(), ..base },
8
+        options: TargetOptions {
8
+        options: TargetOptions {
9
+            endian: "big".to_string(),
9
+            endian: Endian::Big,
10
+            mcount: "_mcount".to_string(),
10
+            mcount: "_mcount".to_string(),
11
+            llvm_abiname: "elfv2".to_string(),
11
+            llvm_abiname: "elfv2".to_string(),
12
+            ..base },
12
+            ..base },
(-)lang/rust-bootstrap/Makefile (-2 / +2 lines)
Lines 4-11 Link Here
4
# to upload them to ~/public_distfiles on freefall in preparation
4
# to upload them to ~/public_distfiles on freefall in preparation
5
# for the next lang/rust update.
5
# for the next lang/rust update.
6
PORTNAME=	rust
6
PORTNAME=	rust
7
PORTVERSION=	1.50.0
7
PORTVERSION=	1.51.0
8
PORTREVISION=	2
9
CATEGORIES=	lang
8
CATEGORIES=	lang
10
MASTER_SITES=	https://static.rust-lang.org/dist/:rust \
9
MASTER_SITES=	https://static.rust-lang.org/dist/:rust \
11
		LOCAL/mikael:armbase \
10
		LOCAL/mikael:armbase \
Lines 27-32 Link Here
27
LICENSE_FILE_APACHE20=	${WRKSRC}/LICENSE-APACHE
26
LICENSE_FILE_APACHE20=	${WRKSRC}/LICENSE-APACHE
28
LICENSE_FILE_MIT=	${WRKSRC}/LICENSE-MIT
27
LICENSE_FILE_MIT=	${WRKSRC}/LICENSE-MIT
29
28
29
IGNORE=		unimportant for exp-run
30
ONLY_FOR_ARCHS=	amd64
30
ONLY_FOR_ARCHS=	amd64
31
ONLY_FOR_ARCHS_REASON=	untested on other archs
31
ONLY_FOR_ARCHS_REASON=	untested on other archs
32
32
(-)lang/rust-bootstrap/distinfo (-3 / +3 lines)
Lines 1-6 Link Here
1
TIMESTAMP = 1613722755
1
TIMESTAMP = 1616754064
2
SHA256 (rust/rustc-1.50.0-src.tar.xz) = f54adf9204ed3cb3998cdc1baa5645b346d8cf8f18205e3b15fcae194ba5457c
2
SHA256 (rust/rustc-1.51.0-src.tar.xz) = 92c68a91fca33cbafb83442cde722d010cc387dc1ee8a2680e2fb33a575821a1
3
SIZE (rust/rustc-1.50.0-src.tar.xz) = 108666272
3
SIZE (rust/rustc-1.51.0-src.tar.xz) = 109596164
4
SHA256 (FreeBSD-12.2-RELEASE-arm64.tar.xz) = 3f82224fbcc6b2a2e1a1358cec5f32c0a08b5c5e6796e1a998369eb624a11cf3
4
SHA256 (FreeBSD-12.2-RELEASE-arm64.tar.xz) = 3f82224fbcc6b2a2e1a1358cec5f32c0a08b5c5e6796e1a998369eb624a11cf3
5
SIZE (FreeBSD-12.2-RELEASE-arm64.tar.xz) = 158493712
5
SIZE (FreeBSD-12.2-RELEASE-arm64.tar.xz) = 158493712
6
SHA256 (FreeBSD-11.4-RELEASE-amd64.tar.xz) = 3bac8257bdd5e5b071f7b80cc591ebecd01b9314ca7839a2903096cbf82169f9
6
SHA256 (FreeBSD-11.4-RELEASE-amd64.tar.xz) = 3bac8257bdd5e5b071f7b80cc591ebecd01b9314ca7839a2903096cbf82169f9
(-)lang/rust-nightly/Makefile (+1 lines)
Lines 8-13 Link Here
8
PKGNAMESUFFIX=	-nightly
8
PKGNAMESUFFIX=	-nightly
9
DISTNAME=	rustc-nightly-src
9
DISTNAME=	rustc-nightly-src
10
10
11
IGNORE=		unimportant for exp-run
11
ONLY_FOR_ARCHS=	amd64
12
ONLY_FOR_ARCHS=	amd64
12
ONLY_FOR_ARCHS_REASON=	upstream does not provide bootstraps for other architectures
13
ONLY_FOR_ARCHS_REASON=	upstream does not provide bootstraps for other architectures
13
14

Return to bug 254578