Skip to content

Commit

Permalink
rust: Update to 1.48.0.
Browse files Browse the repository at this point in the history
Clean up some of the pkgsrc Makefile, there's still lots in here that
should just be deleted though.  Switch SunOS to the illumos bootstrap
by default.

Version 1.48.0 (2020-11-19)
==========================

Language
--------

- [The `unsafe` keyword is now syntactically permitted on modules.][75857] This
  is still rejected *semantically*, but can now be parsed by procedural macros.

Compiler
--------
- [Stabilised the `-C link-self-contained=<yes|no>` compiler flag.][76158] This tells
  `rustc` whether to link its own C runtime and libraries or to rely on a external
  linker to find them. (Supported only on `windows-gnu`, `linux-musl`, and `wasi` platforms.)
- [You can now use `-C target-feature=+crt-static` on `linux-gnu` targets.][77386]
  Note: If you're using cargo you must explicitly pass the `--target` flag.
- [Added tier 2\* support for `aarch64-unknown-linux-musl`.][76420]

\* Refer to Rust's [platform support page][forge-platform-support] for more
information on Rust's tiered platform support.

Libraries
---------
- [`io::Write` is now implemented for `&ChildStdin` `&Sink`, `&Stdout`,
  and `&Stderr`.][76275]
- [All arrays of any length now implement `TryFrom<Vec<T>>`.][76310]
- [The `matches!` macro now supports having a trailing comma.][74880]
- [`Vec<A>` now implements `PartialEq<[B]>` where `A: PartialEq<B>`.][74194]
- [The `RefCell::{replace, replace_with, clone}` methods now all use `#[track_caller]`.][77055]

Stabilized APIs
---------------
- [`slice::as_ptr_range`]
- [`slice::as_mut_ptr_range`]
- [`VecDeque::make_contiguous`]
- [`future::pending`]
- [`future::ready`]

The following previously stable methods are now `const fn`'s:

- [`Option::is_some`]
- [`Option::is_none`]
- [`Option::as_ref`]
- [`Result::is_ok`]
- [`Result::is_err`]
- [`Result::as_ref`]
- [`Ordering::reverse`]
- [`Ordering::then`]

Cargo
-----

Rustdoc
-------
- [You can now link to items in `rustdoc` using the intra-doc link
  syntax.][74430] E.g. ``/// Uses [`std::future`]`` will automatically generate
  a link to `std::future`'s documentation. See ["Linking to items by
  name"][intradoc-links] for more information.
- [You can now specify `#[doc(alias = "<alias>")]` on items to add search aliases
  when searching through `rustdoc`'s UI.][75740]

Compatibility Notes
-------------------
- [Promotion of references to `'static` lifetime inside `const fn` now follows the
  same rules as inside a `fn` body.][75502] In particular, `&foo()` will not be
  promoted to `'static` lifetime any more inside `const fn`s.
- [Associated type bindings on trait objects are now verified to meet the bounds
  declared on the trait when checking that they implement the trait.][27675]
- [When trait bounds on associated types or opaque types are ambiguous, the
  compiler no longer makes an arbitrary choice on which bound to use.][54121]
- [Fixed recursive nonterminals not being expanded in macros during
  pretty-print/reparse check.][77153] This may cause errors if your macro wasn't
  correctly handling recursive nonterminal tokens.
- [`&mut` references to non zero-sized types are no longer promoted.][75585]
- [`rustc` will now warn if you use attributes like `#[link_name]` or `#[cold]`
  in places where they have no effect.][73461]
- [Updated `_mm256_extract_epi8` and `_mm256_extract_epi16` signatures in
  `arch::{x86, x86_64}` to return `i32` to match the vendor signatures.][73166]
- [`mem::uninitialized` will now panic if any inner types inside a struct or enum
  disallow zero-initialization.][71274]
- [`#[target_feature]` will now error if used in a place where it has no effect.][78143]
- [Foreign exceptions are now caught by `catch_unwind` and will cause an abort.][70212]
  Note: This behaviour is not guaranteed and is still considered undefined behaviour,
  see the [`catch_unwind`] documentation for further information.

Internal Only
-------------
These changes provide no direct user facing benefits, but represent significant
improvements to the internals and overall performance of rustc and
related tools.
- [Building `rustc` from source now uses `ninja` by default over `make`.][74922]
  You can continue building with `make` by setting `ninja=false` in
  your `config.toml`.
- [cg_llvm: `fewer_names` in `uncached_llvm_type`][76030]
- [Made `ensure_sufficient_stack()` non-generic][76680]

[78143]: rust-lang/rust#78143
[76680]: rust-lang/rust#76680
[76030]: rust-lang/rust#76030
[70212]: rust-lang/rust#70212
[27675]: rust-lang/rust#27675
[54121]: rust-lang/rust#54121
[71274]: rust-lang/rust#71274
[77386]: rust-lang/rust#77386
[77153]: rust-lang/rust#77153
[77055]: rust-lang/rust#77055
[76275]: rust-lang/rust#76275
[76310]: rust-lang/rust#76310
[76420]: rust-lang/rust#76420
[76158]: rust-lang/rust#76158
[75857]: rust-lang/rust#75857
[75585]: rust-lang/rust#75585
[75740]: rust-lang/rust#75740
[75502]: rust-lang/rust#75502
[74880]: rust-lang/rust#74880
[74922]: rust-lang/rust#74922
[74430]: rust-lang/rust#74430
[74194]: rust-lang/rust#74194
[73461]: rust-lang/rust#73461
[73166]: rust-lang/rust#73166
[intradoc-links]: https://doc.rust-lang.org/rustdoc/linking-to-items-by-name.html
[`catch_unwind`]: https://doc.rust-lang.org/std/panic/fn.catch_unwind.html
[`Option::is_some`]: https://doc.rust-lang.org/std/option/enum.Option.html#method.is_some
[`Option::is_none`]: https://doc.rust-lang.org/std/option/enum.Option.html#method.is_none
[`Option::as_ref`]: https://doc.rust-lang.org/std/option/enum.Option.html#method.as_ref
[`Result::is_ok`]: https://doc.rust-lang.org/std/result/enum.Result.html#method.is_ok
[`Result::is_err`]: https://doc.rust-lang.org/std/result/enum.Result.html#method.is_err
[`Result::as_ref`]: https://doc.rust-lang.org/std/result/enum.Result.html#method.as_ref
[`Ordering::reverse`]: https://doc.rust-lang.org/std/cmp/enum.Ordering.html#method.reverse
[`Ordering::then`]: https://doc.rust-lang.org/std/cmp/enum.Ordering.html#method.then
[`slice::as_ptr_range`]: https://doc.rust-lang.org/std/primitive.slice.html#method.as_ptr_range
[`slice::as_mut_ptr_range`]: https://doc.rust-lang.org/std/primitive.slice.html#method.as_mut_ptr_range
[`VecDeque::make_contiguous`]: https://doc.rust-lang.org/std/collections/struct.VecDeque.html#method.make_contiguous
[`future::pending`]: https://doc.rust-lang.org/std/future/fn.pending.html
[`future::ready`]: https://doc.rust-lang.org/std/future/fn.ready.html
  • Loading branch information
Jonathan Perkin committed Nov 24, 2020
1 parent a7a56a6 commit 34613f9
Show file tree
Hide file tree
Showing 9 changed files with 89 additions and 90 deletions.
77 changes: 47 additions & 30 deletions rust/Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# $NetBSD: Makefile,v 1.197 2020/09/29 16:45:16 gdt Exp $

DISTNAME= rustc-1.47.0-src
DISTNAME= rustc-1.48.0-src
PKGNAME= ${DISTNAME:S/rustc/rust/:S/-src//}
CATEGORIES= lang
MASTER_SITES= https://static.rust-lang.org/dist/
Expand Down Expand Up @@ -32,21 +32,16 @@ CONFIGURE_ARGS+= --prefix=${PREFIX}
CONFIGURE_ARGS+= --mandir=${PREFIX}/${PKGMANDIR}
CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
CONFIGURE_ARGS+= --python=${PYTHONBIN}
# Switch this to "nightly" to build a nightly compiler, required for some software,
# then update BOOTSTRAP_NAME below.
CONFIGURE_ARGS+= --release-channel=stable
#CONFIGURE_ARGS+= --enable-local-rust
CONFIGURE_ARGS+= --local-rust-root=${RUST_BOOTSTRAP_PATH}
CONFIGURE_ARGS+= --enable-extended # Build and install cargo too.
CONFIGURE_ARGS+= --enable-rpath
CONFIGURE_ARGS+= --disable-codegen-tests
CONFIGURE_ARGS+= --disable-dist-src
CONFIGURE_ARGS+= --disable-llvm-static-stdcpp
CONFIGURE_ARGS+= --disable-ninja
# XXX: to be enabled in the future
#CONFIGURE_ARGS+= --jemalloc-root=${BUILDLINK_PREFIX.jemalloc}/lib

# Use "dist" build target for cross compile of bootstrap
#BUILD_TARGET= dist
BUILD_TARGET= build

# Include (optional) settings to cross-build rust
.include "cross.mk"
Expand All @@ -67,8 +62,6 @@ CFLAGS.SunOS+= -D_POSIX_PTHREAD_SEMANTICS

UNLIMIT_RESOURCES+= cputime datasize virtualsize

TEST_TARGET= check

# bin/* lib/*, but names vary
CHECK_RELRO_SUPPORTED= no
CHECK_SSP_SUPPORTED= no
Expand Down Expand Up @@ -172,14 +165,23 @@ RUST_STD_STAGE0:= rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
DISTFILES:= ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
pre-build-fix:
.endif
#
# The SunOS target defaults to illumos as that's what the current bootstraps
# are built on. If you wish to target Oracle Solaris you'll need to create an
# x86_64-sun-solaris bootstrap and comment out the overrides.
#
.if !empty(MACHINE_PLATFORM:MSunOS-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
RUST_STAGE0_VER= 1.46.0
RUST_ARCH:= x86_64-sun-solaris
#RUST_ARCH:= x86_64-unknown-illumos
RUST_STAGE0_VER= 1.48.0
RUST_ARCH:= x86_64-unknown-illumos
RUST_STAGE0:= rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
SITES.${RUST_STAGE0}= https://us-east.manta.joyent.com/pkgsrc/public/pkg-bootstraps/
DISTFILES:= ${DISTFILES} ${RUST_STAGE0}
RUST_BOOTSTRAP_PATH?= ${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH}
# Override default "x86_64-sun-solaris" selection
CONFIGURE_ARGS+= --set=target.${RUST_ARCH}.llvm-config=${LLVM_CONFIG_PATH}
CONFIGURE_ARGS+= --build=${RUST_ARCH}
CONFIGURE_ARGS+= --host=${RUST_ARCH}
CONFIGURE_ARGS+= --target=${RUST_ARCH}
pre-build-fix:
.endif
.if !empty(MACHINE_PLATFORM:MFreeBSD-*-i386) || make(distinfo) || make (makesum) || make(mdi)
Expand Down Expand Up @@ -281,8 +283,9 @@ TOOLS_PLATFORM.gzcat= ${PREFIX}/bin/gzip -cd

SUBST_CLASSES+= rpath
SUBST_STAGE.rpath= pre-configure
SUBST_FILES.rpath+= src/librustc_codegen_ssa/back/linker.rs
SUBST_FILES.rpath+= compiler/rustc_codegen_ssa/src/back/linker.rs
SUBST_FILES.rpath+= src/bootstrap/builder.rs
SUBST_FILES.rpath+= src/bootstrap/compile.rs
SUBST_VARS.rpath= PREFIX

#
Expand All @@ -292,16 +295,16 @@ SUBST_VARS.rpath= PREFIX
# updating and verification.
#
CKSUM_CRATES+= vendor/libc
CKSUMS+= 9f96e346d87296e2b0b87b9fe375d67fb66cd88ce61ea2905466c8c5891d3108
CKSUMS+= ebcb0709586e6ed1e8b4538368201638006e26042d464bbc1151bef9eb158f8c
CKSUMS+= a9e46c0eee970cb5b4bd910924141d223fad4aa45380d3df1ce4b25992a13037
CKSUMS+= 41394431697e352653c37188233bd44776881eb704132203b1a232271d1afd92

CKSUM_CRATES+= vendor/lzma-sys
CKSUMS+= 6fd5e9245db34c6f557b8bfcaf03db82fc88c3b06dbfbb5f03b2bcd138983ef9
CKSUMS+= 5e252578b5d266f6a4c8dc9f71ca7a91536ccb8c5c7d7753b82f12ec886459ef

CKSUM_CRATES+= vendor/stacker
CKSUMS+= 37ef9666d048191eeca23d8f7d99cf912b953cc489bf860107aec306b95b2d99
CKSUMS+= 410f22f5e95860530be1abaaf2e279d2f4226e5c17c2cee302661d8079246b3a
CKSUMS+= cee329550bad2ed1182abb71db9c24558a91b12e1eab8d9a48e23b997bb8f04e
CKSUMS+= 79915b243d02df1dc698f5c2de3a9356c6c296d2dedb06d9035dbcc2f8972cf4

SUBST_CLASSES+= cksum
SUBST_STAGE.cksum= pre-configure
Expand Down Expand Up @@ -349,18 +352,29 @@ pre-build: pre-build-fix
cp ${FILESDIR}/libgcc_s.so.1 ${RUST_BOOTSTRAP_PATH}/lib/.
.endif

#
# These are essentially copies of the "all", "test", and "install" Makefile
# targets, but are duplicated here so that we can specify -j.
#
do-build:
cd ${WRKSRC} \
&& ${_ULIMIT_CMD} ${SETENV} ${INSTALL_ENV} ${MAKE_ENV} \
sh -c "if [ \"${BUILD_TARGET}\" = \"dist\" ]; then \
unset DESTDIR; \
fi; \
${PYTHONBIN} ./x.py -v ${BUILD_TARGET} -j ${_MAKE_JOBS_N}"
${RUN}${_ULIMIT_CMD} \
cd ${WRKSRC} && \
${SETENV} ${MAKE_ENV} ${PYTHONBIN} ./x.py -v \
build --stage 2 -j ${_MAKE_JOBS_N} && \
${SETENV} ${MAKE_ENV} ${PYTHONBIN} ./x.py -v \
doc --stage 2 -j ${_MAKE_JOBS_N}

do-test:
${RUN}${_ULIMIT_CMD} \
cd ${WRKSRC} && \
${SETENV} ${MAKE_ENV} ${PYTHONBIN} ./x.py -v \
test -j ${_MAKE_JOBS_N}

do-install:
cd ${WRKSRC} \
&& ${_ULIMIT_CMD} ${SETENV} ${INSTALL_ENV} ${MAKE_ENV} \
${PYTHONBIN} ./x.py -v install -j ${_MAKE_JOBS_N}
${RUN}${_ULIMIT_CMD} \
cd ${WRKSRC} && \
${SETENV} ${MAKE_ENV} ${INSTALL_ENV} ${PYTHONBIN} ./x.py -v \
install -j ${_MAKE_JOBS_N}

.if ${OPSYS} == "Darwin"
.PHONY: fix-darwin-install-name
Expand All @@ -378,7 +392,11 @@ GENERATE_PLIST+= ${FIND} ${DESTDIR}${PREFIX} \( -type f -o -type l \) -print | \
# Create a relocatable stage2 bootstrap from the bits we just built that can be
# used to build the next version of rust. Currently only tested on SmartOS.
#
BOOTSTRAP_TMPDIR= ${WRKDIR}/${PKGNAME_NOREV}-${RUST_ARCH}
# Use the alternate BOOTSTRAP_NAME when creating a nightly release.
#
#BOOTSTRAP_NAME= ${PKGNAME_NOREV:C/rust/rust-nightly/}-${RUST_ARCH}
BOOTSTRAP_NAME= ${PKGNAME_NOREV}-${RUST_ARCH}
BOOTSTRAP_TMPDIR= ${WRKDIR}/${BOOTSTRAP_NAME}
USE_TOOLS+= gtar

# The NetBSD part is so far untested, because I could not convince
Expand Down Expand Up @@ -452,8 +470,7 @@ stage0-bootstrap: install
for f in ${BOOTSTRAP_TMPDIR}/lib/rustlib/*/*/*.so*; do \
${ELFEDIT} -e 'dyn:runpath $$ORIGIN:$$ORIGIN/../../..:$$ORIGIN/../../../pkgsrc' $$f; \
done
(cd ${WRKDIR}; \
${GTAR} -zcf ${PKGNAME_NOREV}-${RUST_ARCH}.tar.gz ${PKGNAME_NOREV}-${RUST_ARCH})
(cd ${WRKDIR}; ${GTAR} -zcf ${BOOTSTRAP_NAME}.tar.gz ${BOOTSTRAP_NAME})
.endif

.include "options.mk"
Expand Down
17 changes: 0 additions & 17 deletions rust/cross.mk
Original file line number Diff line number Diff line change
Expand Up @@ -48,20 +48,3 @@

# May be required when cross-building on NetBSD
#MAKE_ENV+= OPENSSL_DIR=/usr

#
# Cross-compile illumos target. The host is identical, it's just the target
# that is renamed from x86_64-sun-solaris to x86_64-unknown-illumos.
#
#TARGET= x86_64-unknown-illumos
#
# Use these variables for "cross-compiling" from x86_64-sun-solaris.
#
#CONFIGURE_ARGS+= --set=target.${TARGET}.llvm-config=${LLVM_CONFIG_PATH}
#CONFIGURE_ARGS+= --host=${TARGET}
#CONFIGURE_ARGS+= --target=${TARGET}
#
# Set this variable when using a native x86_64-unknown-illumos bootstrap, as
# the build still defaults to x86_64-sun-solaris based on uname.
#
#CONFIGURE_ARGS+= --build=${TARGET}
26 changes: 13 additions & 13 deletions rust/distinfo
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,14 @@ SHA1 (rust-1.44.1-x86_64-unknown-linux-gnu.tar.gz) = d9f79f976c7270a782cba9e5c08
RMD160 (rust-1.44.1-x86_64-unknown-linux-gnu.tar.gz) = 3a5cbf8538b3aadfe2bda6cbec5599a2eccba9ce
SHA512 (rust-1.44.1-x86_64-unknown-linux-gnu.tar.gz) = aa78c32a3dfd4b01d5e69a44bc978206b50581586af1b45105400fbd6b28a9946141063d68781218ca9fbaaf0edfdfe708081ecf97facba176095868b6187773
Size (rust-1.44.1-x86_64-unknown-linux-gnu.tar.gz) = 189534350 bytes
SHA1 (rust-1.46.0-x86_64-sun-solaris.tar.gz) = 081ed2fab901b7b4fbf5035b731abe7793e927b8
RMD160 (rust-1.46.0-x86_64-sun-solaris.tar.gz) = fdac437710f87a228d4c56b569fc831784f193c5
SHA512 (rust-1.46.0-x86_64-sun-solaris.tar.gz) = cbb5be647b1ee0f2f2074d1e3138e6b1ec69e500e4411342255128b1625cb78797af15e0bc895601d62f43ce50049401b2f88edb7c951a405ee7aa645e4b67cf
Size (rust-1.46.0-x86_64-sun-solaris.tar.gz) = 174780795 bytes
SHA1 (rust-1.46.0-x86_64-unknown-netbsd.tar.gz) = 61956d35f668318f91523edf983ef280c967e4f8
RMD160 (rust-1.46.0-x86_64-unknown-netbsd.tar.gz) = f73fe050d4f536bba8577104eb93471a468b714c
SHA512 (rust-1.46.0-x86_64-unknown-netbsd.tar.gz) = afaeb235f445a8813838548ee694c90ab71c3a0fc235652ce0d35e932f0609e2be9f5986bd99ed80d03b24e1b1362ccb6db05cb1eff61284a523477b19f34d7a
Size (rust-1.46.0-x86_64-unknown-netbsd.tar.gz) = 154685586 bytes
SHA1 (rust-1.48.0-x86_64-unknown-illumos.tar.gz) = 23afcbc003c01940277978553b4afd75ec5d333d
RMD160 (rust-1.48.0-x86_64-unknown-illumos.tar.gz) = 6510186be6f216e47cb1971500dbf1fd27f96e09
SHA512 (rust-1.48.0-x86_64-unknown-illumos.tar.gz) = e0153c7c400eea2f3b59c9f63c0ee0dbaf3f8ccf645c1ad4c66f90727d41894dcb49ddacf622fc8572ab45734472e59970de64939bec0f6d6f94f5797ce05fb4
Size (rust-1.48.0-x86_64-unknown-illumos.tar.gz) = 189960423 bytes
SHA1 (rust-std-1.44.0-armv7-unknown-netbsd-eabihf.tar.gz) = ef2043dd95e4b56526060f9497c523ca7670ebcd
RMD160 (rust-std-1.44.0-armv7-unknown-netbsd-eabihf.tar.gz) = f2a11dea07bd9982b99e26baf74259ce21af3121
SHA512 (rust-std-1.44.0-armv7-unknown-netbsd-eabihf.tar.gz) = 8903e258f3cc3a9fd8b1bf982b42560bbc47b3be583dea8687d50eadc92a98f739211d865a812de2cf6e4828e94e97a5934a02120d3eaff8342669ee1e0afc37
Expand Down Expand Up @@ -92,22 +92,22 @@ SHA1 (rust-std-1.46.0-x86_64-unknown-netbsd.tar.gz) = 154767516a8f1e358c340d602e
RMD160 (rust-std-1.46.0-x86_64-unknown-netbsd.tar.gz) = 1f504e4f7053246067d0e41ddbcadd85ddf573c6
SHA512 (rust-std-1.46.0-x86_64-unknown-netbsd.tar.gz) = 2e3431bfe462408906b4553a181653b68c615bae6170362e73dd125ae538b499cd745cc903ca79db41aff9bff3ce366726c92570be5fa264723be7d7018fbbce
Size (rust-std-1.46.0-x86_64-unknown-netbsd.tar.gz) = 22644831 bytes
SHA1 (rustc-1.47.0-src.tar.gz) = 5a337c88aeb04a31011037671588fd66b046ca32
RMD160 (rustc-1.47.0-src.tar.gz) = 2fee85c5e52046982a51eff62f64e123f798ed56
SHA512 (rustc-1.47.0-src.tar.gz) = a6df9e2d599806eeddbfb35f7dea976781533f63d369a765b8a304221281c9f9e642ff952978f69eaaa0b28740ab5ea566b35ce481097c37fd5117bfec1f43dd
Size (rustc-1.47.0-src.tar.gz) = 151861620 bytes
SHA1 (rustc-1.48.0-src.tar.gz) = a26f089d27c9cc283a7305fc8ece6b4674a036fd
RMD160 (rustc-1.48.0-src.tar.gz) = 28b6c2319a29c8f4282bf15da2c97d8c43bb27e1
SHA512 (rustc-1.48.0-src.tar.gz) = e28e5f0813cfd94fb92399a2d64aa19bdf0933b5fc768ea10da2a5b787c94bac6a5efb98b2c3702da3d1c46c6766b157df3727e5845b4b83a237b44ec45b27ba
Size (rustc-1.48.0-src.tar.gz) = 154487032 bytes
SHA1 (patch-compiler_rustc__codegen__ssa_src_back_linker.rs) = 72746bbf0fa5e72fe151c95e3876b9eb1e70ae39
SHA1 (patch-compiler_rustc__llvm_build.rs) = b5157022f0f1942ae2db1ab78145af1526780b18
SHA1 (patch-compiler_rustc__target_src_spec_solaris__base.rs) = bcc420e4c8148cc0c92826aa7d146fc47e7c4863
SHA1 (patch-compiler_rustc__target_src_spec_x86__64__sun__solaris.rs) = 2c6f22a6c8412573b0e5ad436c8a231a3b740326
SHA1 (patch-library_backtrace_crates_backtrace-sys_src_libbacktrace_configure) = 5dc1cfc843894156b513c86453db5032917a5529
SHA1 (patch-library_std_build.rs) = 34b95b6dcaa788fe7e0e10e9c77a796d35e6ca14
SHA1 (patch-library_std_src_sys_unix_thread.rs) = f3af869fba5bc0ab8d28042f55fe830f93b8ef54
SHA1 (patch-library_unwind_build.rs) = ae096a20aed95304eb3806be4cd237fe4ffd9afb
SHA1 (patch-src_bootstrap_bootstrap.py) = 53e0409527f3e52dd00b5c86e6c38047626e2379
SHA1 (patch-src_bootstrap_builder.rs) = d0fa2a58fa89171cb58e236384bcce614daf412f
SHA1 (patch-src_bootstrap_builder.rs) = 59d7ac0c525f232ed5d89ef725b6cad9fa13d23f
SHA1 (patch-src_bootstrap_compile.rs) = 67d5ad13e13e6818535a319f55e990d511e7b83f
SHA1 (patch-src_bootstrap_lib.rs) = 3277f2be69a269ac761a2a6ab4d5389d121e6ca6
SHA1 (patch-src_librustc__codegen__ssa_back_linker.rs) = 48b71063184c1ef608d41a8cf5014a6c064a8893
SHA1 (patch-src_librustc__llvm_build.rs) = 7cc2aa0568aa2cbf4eb1fdbb00922b10df0b3ff6
SHA1 (patch-src_librustc__target_spec_solaris__base.rs) = 10b00a889f2d3788172098021e8fc1e4939ec897
SHA1 (patch-src_librustc__target_spec_x86__64__sun__solaris.rs) = f6ad33b41906bbf83a1cbd0e2fe13a4da37266fa
SHA1 (patch-src_llvm-project_llvm_CMakeLists.txt) = d49503d19c30a64d571eb7fa79e7aad7038cd427
SHA1 (patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake) = 77a2a9e4d324885d6fa5e68cf15ef84db0a2483b
SHA1 (patch-src_llvm-project_llvm_include_llvm-c_DataTypes.h) = 7588a46aaa277ef04b33ac6d904b9d1d81579f2a
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
$NetBSD: patch-src_librustc__codegen__ssa_back_linker.rs,v 1.1 2019/09/09 16:19:49 adam Exp $
$NetBSD$

Do not use @rpath on Darwin.

--- src/librustc_codegen_ssa/back/linker.rs.orig 2020-08-24 15:00:49.000000000 +0000
+++ src/librustc_codegen_ssa/back/linker.rs
--- compiler/rustc_codegen_ssa/src/back/linker.rs.orig 2020-11-16 14:01:53.000000000 +0000
+++ compiler/rustc_codegen_ssa/src/back/linker.rs
@@ -244,7 +244,7 @@ impl<'a> GccLinker<'a> {
// the right `-Wl,-install_name` with an `@rpath` in it.
if self.sess.opts.cg.rpath || self.sess.opts.debugging_opts.osx_rpath_install_name {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
$NetBSD: patch-src_librustc__llvm_build.rs,v 1.6 2019/09/19 17:37:29 jperkin Exp $
$NetBSD$

fix build on NetBSD HEAD-llvm. XXX there is probably a better way to do this.
Fix build on NetBSD HEAD-llvm. XXX there is probably a better way to do this.

--- src/librustc_llvm/build.rs.orig 2019-08-13 06:27:22.000000000 +0000
+++ src/librustc_llvm/build.rs
@@ -261,7 +261,13 @@ fn main() {
--- compiler/rustc_llvm/build.rs.orig 2020-11-16 14:01:53.000000000 +0000
+++ compiler/rustc_llvm/build.rs
@@ -284,7 +284,13 @@ fn main() {
"c++"
} else if target.contains("netbsd") && llvm_static_stdcpp.is_some() {
// NetBSD uses a separate library when relocation is required
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
$NetBSD: patch-src_librustc__target_spec_solaris__base.rs,v 1.3 2020/03/13 18:34:53 jperkin Exp $
$NetBSD$

Enable frame pointers on SunOS.

--- src/librustc_target/spec/solaris_base.rs.orig 2020-08-24 15:00:49.000000000 +0000
+++ src/librustc_target/spec/solaris_base.rs
--- compiler/rustc_target/src/spec/solaris_base.rs.orig 2020-11-16 14:01:53.000000000 +0000
+++ compiler/rustc_target/src/spec/solaris_base.rs
@@ -7,6 +7,7 @@ pub fn opts() -> TargetOptions {
has_rpath: true,
target_family: Some("unix".to_string()),
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
$NetBSD$

Disable stack probes on SunOS.

--- compiler/rustc_target/src/spec/x86_64_sun_solaris.rs.orig 2020-11-16 14:01:53.000000000 +0000
+++ compiler/rustc_target/src/spec/x86_64_sun_solaris.rs
@@ -5,7 +5,6 @@ pub fn target() -> TargetResult {
base.pre_link_args.insert(LinkerFlavor::Gcc, vec!["-m64".to_string()]);
base.cpu = "x86-64".to_string();
base.max_atomic_width = Some(64);
- base.stack_probes = true;

Ok(Target {
llvm_target: "x86_64-pc-solaris".to_string(),
8 changes: 4 additions & 4 deletions rust/patches/patch-src_bootstrap_builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,17 @@ Use @PREFIX@, not $ORIGIN in rpath.

Fix RPATH for pkgsrc.

--- src/bootstrap/builder.rs.orig 2020-08-24 15:00:49.000000000 +0000
--- src/bootstrap/builder.rs.orig 2020-11-16 14:01:53.000000000 +0000
+++ src/bootstrap/builder.rs
@@ -481,7 +481,6 @@ impl<'a> Builder<'a> {
@@ -475,7 +475,6 @@ impl<'a> Builder<'a> {
install::Clippy,
install::Miri,
install::Analysis,
- install::Src,
install::Rustc
),
Kind::Run => describe!(run::ExpandYamlAnchors,),
@@ -1003,7 +1002,7 @@ impl<'a> Builder<'a> {
Kind::Run => describe!(run::ExpandYamlAnchors, run::BuildManifest,),
@@ -1001,7 +1000,7 @@ impl<'a> Builder<'a> {
rustflags.arg("-Zosx-rpath-install-name");
Some("-Wl,-rpath,@loader_path/../lib")
} else if !target.contains("windows") {
Expand Down

This file was deleted.

0 comments on commit 34613f9

Please sign in to comment.