Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • tdptheking/packages
  • yuriy-chumak/packages
  • peter/packages
  • andri0500/packages
  • ivmai77/packages
  • jonesv/packages
  • systemdlete/packages
  • Osvaldorino/packages
  • Bdragon/packages
  • ska/packages
  • Le1gh/packages
  • dimitsos/packages
  • arcayr/packages
  • alicela1n/packages
  • djt/packages
  • dusxmt/packages
  • lstarnes/packages
  • smaeul/packages
  • krazier/packages
  • koorogi/packages
  • shizonic/packages
  • gavinhoward/packages
  • sroracle/packages
  • adelie/packages
  • alyx/packages
  • sonicrules1234/packages
  • Rsamoraj11/packages
  • ndowens04/packages
  • jogness/packages
  • bunny/packages
  • rmccask/packages
  • zx2c4/packages
  • ndowens/packages
  • CyberLeo/packages
  • paper/packages
  • Ermine/packages
  • zephy/packages
  • ashquarky/adelie-packages
  • mahiuchun/packages
  • TobiX/packages
  • firasuke/packages
41 results
Show changes
Commits on Source (11243)
Showing
with 1020 additions and 41 deletions
**/APKBUILD gitlab-language=sh
*/src/*
src
pkg
scripts/sgrep
scripts/tsort
scripts/.index
A. Wilcox <AWilcox@Wilcox-Tech.com>
Horst G. Burkhardt <mc@680x0.com>
Mira Ressel <aranea@aixah.de>
Síle Ekaterin Liszka <sheila@vulpine.house> Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
Síle Ekaterin Liszka <sheila@vulpine.house> Kiyoshi Aman <adelie@aerdan.vulpine.house>
Síle Ekaterin Liszka <sheila@vulpine.house> Kiyoshi Aman <kiyoshi.aman+apkfission@gmail.com>
Síle Ekaterin Liszka <sheila@vulpine.house> Kiyoshi Aman <kiyoshi.aman@gmail.com>
Síle Ekaterin Liszka <sheila@vulpine.house> Sheila Aman
......@@ -6,7 +6,7 @@
:Status:
Draft
:Copyright:
© 2017 Adélie Linux Team. NCSA open source licence.
© 2017-2020 Adélie Linux Team. NCSA open source licence.
......@@ -23,8 +23,7 @@ Licenses
`````````
As the Adélie Linux project is an open-source Linux distribution, packages
contained in this repository must also be provided under a license recognised
by the OSI_. A separate repository may be provided in the future for certain
non-free components, such as device driver firmware.
by the OSI_.
.. _OSI: http://opensource.org/licenses/category
......@@ -50,8 +49,9 @@ Source URIs
```````````
It is recommended that any package present in this repository use an official
Adélie Linux mirror for any files downloaded (``mirror://adelie/``), unless
the file resides on the package's official package mirror.
Adélie Linux mirror for any files downloaded
(``https://distfiles.adelielinux.org/source/*``), unless the file resides on
the package's official package mirror.
Exceptions will be granted on a case-by-case basis for issues such as file
size or rapid version change.
......@@ -71,6 +71,10 @@ Contributing Changes
====================
This section describes the usual flows of contribution to this repository.
For a detailed description of how to contribute to Adélie Linux, review the
Handbook_.
.. _Handbook: https://help.adelielinux.org/html/devel/
GitLab Pull Requests
......@@ -89,7 +93,8 @@ GitLab Pull Requests
#. Add (or remove) changed files using ``git add`` and ``git rm``.
#. Commit your changes to the tree using the command ``repoman commit``.
#. Commit your changes to the tree using the commands ``git commit -S`` and
``git push``.
#. Visit your forked repository in a Web browser.
......@@ -109,7 +114,7 @@ Mailing List
#. Add (or remove) changed files using ``git add`` and ``git rm``.
#. Commit your changes to the tree using the command ``repoman commit``.
#. Commit your changes to the tree using the command ``git commit -S``.
#. Use the command ``git format-patch HEAD^`` to create a patch file for your
commit.
......@@ -119,4 +124,5 @@ Mailing List
if you have made three commits, you will use the command
``git format-patch HEAD^^^``.
#. Email the resulting patch to the packagers mailing list.
#. Email the resulting patch to the mailing list, using ``git send-email`` or
your mail client. The mailing list is adelie-pkg@lists.adelielinux.org.
Copyright (c) 2016-2017 Adélie Linux Team and Contributors.
Copyright (c) 2016-2020 Adélie Linux Team and Contributors.
All rights reserved.
Developed by: Adélie Linux Team
......@@ -19,9 +19,10 @@ Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimers in
the documentation and/or other materials provided with the distribution.
Neither the names of Adélie Linux, Wilcox Technologies, LLC, nor the
names of its contributors may be used to endorse or promote products
derived from this Software without specific prior written permission.
Neither the names of Adélie Linux; Wilcox Technologies, LLC;
Adélie Software in the Public Benefit, LLC; nor the names of its
contributors may be used to endorse or promote products derived
from this Software without specific prior written permission.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
......
......@@ -2,12 +2,15 @@
README for Adélie Linux Package Set
=====================================
:Authors:
* **A. Wilcox**, primary maintainer
* **A. Wilcox**, Distro Lead
* **Elizabeth Myers**, Platform Group
* **Horst Burkhardt**, Platform Group
* **Síle Ekaterin Liszka**, Platform Group
* **Adélie Linux Developers and Users**, contributions
:Status:
Production
:Copyright:
© 2017 Adélie Linux Team. NCSA open source licence.
© 2017-2022 Adélie Linux Team. NCSA open source licence.
......@@ -24,8 +27,7 @@ Licenses
`````````
As the Adélie Linux project is an open-source Linux distribution, packages
contained in this repository must also be provided under a license recognised
by the OSI_. A separate repository may be provided in the future for certain
non-free components, such as device driver firmware.
by the OSI_. No exceptions will be made.
.. _OSI: http://opensource.org/licenses/category
......@@ -50,9 +52,9 @@ find what you need.
``system``: System-level packages
`````````````````````````````````
The ``system`` directory contains special packages used by Adélie for core
system functionality. This directory is kept separate from ``user`` to
facilitate sharing of user packages with other APK-based distributions.
The ``system`` directory contains packages used by Adélie for core system
functionality, or for building of the system itself. Special care should be
taken before bumping these packages.
``user``: User packages
......@@ -62,16 +64,27 @@ interested in installing. Desktop applications, server software (also known as
*daemons*), and other useful packages can be found here.
``nonfree``: Bad packages
`````````````````````````
The ``nonfree`` directory contains packages that are under a restrictive or
commercial license. You need to read the license agreements to these packages
before installing them. Binary drivers for devices like high-end graphics
devices and wireless network controllers can be found here, as well as some
limited commercial software where it is legal for us to provide them.
``legacy``: Orphaned, unmaintained, or deprecated packages
``````````````````````````````````````````````````````````
The ``legacy`` directory contains packages that were at one time supported by
Adélie, but are no longer. This could be because upstream no longer maintains
the software, its Adélie maintainer has dropped it and nobody has taken it, or
it has been deprecated or replaced with something else.
Where it is not legal for us to redistribute a non-free package, you will need
to build it yourself and install it on your system manually.
Use of packages in ``legacy`` are highly discouraged, and packages may be
removed at any time.
``experimental``: Unstable packages
```````````````````````````````````
The ``experimental`` directory contains packages that are highly unstable or
are not yet fully ported to Adélie. They may not build properly, fail tests,
or exhibit runtime failures.
Please note that a package appearing in ``experimental`` does not denote that
the package will ever be available for Adélie Linux.
Use of packages in ``experimental`` is at your own risk.
......@@ -85,14 +98,12 @@ This section contains usage information for this repository.
As an overlay
`````````````
This repository can be added as an overlay to any system running APK, which
at the time of this writing includes Alpine Linux, postmarketOS, and a few
others. However, please do not add ``system`` or ``nonfree`` to a computer
running a different distribution unless you are fully aware of the concerns
surrounding mixing packages in such a manner. None of the packages in the
``system`` repository are useful for an Alpine computer, and some packages
(such as ``baselayout`` or ``adelie-base``) may in fact damage your Alpine
installation if installed. Please be careful.
The ``user`` repository can be added as an overlay to any system running APK,
which at the time of this writing includes Alpine Linux, postmarketOS, and a
few others. However, please ensure you are fully aware of the concerns
surrounding mixing packages in such a manner. There may be different ABIs or
library versions between each distribution, and packages may crash, experience
instability, or fail to launch at all. Please be careful.
The domain ``distfiles.adelielinux.org`` is a round-robin for all available
Adélie mirrors. You may add a repository named above to
......@@ -103,7 +114,7 @@ Adélie mirrors. You may add a repository named above to
https://distfiles.adelielinux.org/adelie/$version/$repo
Where ``$version`` is the version of Adélie Linux you are running, or
``current`` for automatic upgrades, or ``dev`` for a rolling-release
``stable`` for automatic stable upgrades, or ``current`` for a rolling-release
style distribution (which may be unstable - you have been warned!).
``$repo`` should be replaced with the name of the repository you are wanting
......@@ -112,12 +123,14 @@ to use, such as ``user``.
Run ``apk update`` to update the package index on your local system. The
packages will then be available to you.
If you are using the repository on a non-Adélie system, you should use
repository pinning for the Adélie repositories you add. Please consult the
APK manual for more information about repository pinning.
As a repository
```````````````
The Adélie Linux system is preconfigured to use packages in ``system`` and
``user`` for APK. No configuration is required. If you wish to add
``nonfree``, see the instructions above, noting that ``$repo`` should be
``nonfree`` in this case.
``user`` for APK. No further configuration should be required.
# Contributor: Travis Tilley <ttilley@gmail.com>
# Contributor: Mitch Tishmack <mitch.tishmack@gmail.com>
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
_pkgname=llvm
pkgver=14.0.6
_majorver=${pkgver%%.*}
pkgname=$_pkgname$_majorver
pkgrel=1
pkgdesc="Low Level Virtual Machine compiler system, version $_majorver"
url="https://llvm.org/"
arch="all"
options="!checkroot !dbg"
license="NCSA AND (Apache-2.0 WITH LLVM-exception)"
depends=""
depends_dev="$pkgname=$pkgver-r$pkgrel libexecinfo-dev libxml2-dev"
checkdepends="cmd:which"
makedepends="binutils-dev chelf chrpath cmake file libexecinfo-dev libffi-dev
libxml2-dev python3 zlib-dev"
subpackages="$pkgname-static $pkgname-libs $pkgname-dev
$pkgname-test-utils:_test_utils"
source="https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver/llvm-$pkgver.src.tar.xz
llvm-fix-build-with-musl-libc.patch
disable-FileSystemTest.CreateDir-perms-assert.patch
disable-dlclose-test.patch
dwarf-info.patch
dyld-elf-ppc32.patch
graph-diff-simple.txt
hexagon.patch
macho32.patch
musl-ppc64-elfv2.patch
ppc-gcc-bug.patch
ppc-test.patch
python3-test.patch
roundeven.patch
"
builddir="$srcdir/$_pkgname-$pkgver.src"
# ARM has few failures in test suite that we don't care about currently and
# also it takes forever to run them on the builder.
case "$CARCH" in
arm*) options="$options !check";;
esac
# Whether is this package the default (latest) LLVM version.
_default_llvm="no"
if [ "$_default_llvm" = yes ]; then
provides="llvm=$pkgver-r$pkgrel"
replaces="llvm"
fi
# NOTE: It seems that there's no (sane) way how to change includedir, sharedir
# etc. separately, just the CMAKE_INSTALL_PREFIX. Standard CMake variables and
# even LLVM-specific variables, that are related to these paths, actually
# don't work (in llvm 3.7).
#
# When building a software that depends on LLVM, utility llvm-config should be
# used to discover where is LLVM installed. It provides options to print
# path of bindir, includedir, and libdir separately, but in its source, all
# these paths are actually hard-coded against INSTALL_PREFIX. We can patch it
# and move paths manually, but I'm really not sure what it may break...
#
# Also note that we should *not* add version suffix to files in llvm bindir!
# It breaks build system of some software that depends on LLVM, because they
# don't expect these files to have a sufix.
#
# So, we install all the LLVM files into /usr/lib/llvm$_majorver.
# BTW, Fedora and Debian do the same thing.
#
_prefix="usr/lib/llvm$_majorver"
prepare() {
default_prepare
# https://bugs.llvm.org//show_bug.cgi?id=31870
rm test/tools/llvm-symbolizer/print_context.c
case $CARCH in
pmmx|x86|ppc|armhf|armv7)
# Appears to not work when building 32-bit code on 64-bit host.
rm test/tools/llvm-size/radix.test;;
esac
# appears to be an issue on musl and glibc, but only fails on musl:
# https://github.com/NixOS/nixpkgs/blob/bb7e9e46/pkgs/development/compilers/llvm/8/llvm.nix#L74
rm -f test/CodeGen/AArch64/wineh4.mir
#1053
rm -fr \
test/tools/UpdateTestChecks \
test/ExecutionEngine/MCJIT/load-object-a.ll \
;
#1202
case $CARCH in
pmmx)
mv "$srcdir"/graph-diff-simple.txt \
test/tools/llvm-xray/X86/graph-diff-simple.txt ;;
esac
}
build() {
# Auto-detect it by guessing either.
ffi_include_dir="$(pkg-config --cflags-only-I libffi | sed 's|^-I||g')"
case $CTARGET_ARCH in
pmmx)
# The standard precision breaks more than it fixes; there are
# 4 failures in standard mode and only (different) 1 in fast.
export CXXFLAGS="$CXXFLAGS -fexcess-precision=fast";;
esac
case $CTARGET_ARCH in
pmmx|x86|ppc|armhf|armv7)
# 32-bit 2GB memory ceiling
# 'ld' chokes on 2GB .debug_info, 'scanelf' on binary size
# see also: #1251, #1253, abuild#20
export CXXFLAGS="$CXXFLAGS -ggdb1";;
esac
cmake -G "Unix Makefiles" -Wno-dev \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/$_prefix \
-DCMAKE_VERBOSE_MAKEFILE=NO \
-DFFI_INCLUDE_DIR="$ffi_include_dir" \
-DLLVM_BINUTILS_INCDIR=/usr/include \
-DLLVM_BUILD_DOCS=OFF \
-DLLVM_BUILD_EXAMPLES=OFF \
-DLLVM_BUILD_EXTERNAL_COMPILER_RT=ON \
-DLLVM_BUILD_LLVM_DYLIB=ON \
-DLLVM_BUILD_TESTS=ON \
-DLLVM_DEFAULT_TARGET_TRIPLE="$CBUILD" \
-DLLVM_ENABLE_ASSERTIONS=OFF \
-DLLVM_ENABLE_FFI=ON \
-DLLVM_ENABLE_LIBCXX=OFF \
-DLLVM_ENABLE_PIC=ON \
-DLLVM_ENABLE_RTTI=ON \
-DLLVM_ENABLE_SPHINX=OFF \
-DLLVM_ENABLE_TERMINFO=ON \
-DLLVM_ENABLE_ZLIB=ON \
-DLLVM_HOST_TRIPLE="$CHOST" \
-DLLVM_INCLUDE_BENCHMARKS=OFF \
-DLLVM_INCLUDE_EXAMPLES=OFF \
-DLLVM_INSTALL_UTILS=ON \
-DLLVM_LINK_LLVM_DYLIB=ON \
-DLLVM_TARGETS_TO_BUILD='AArch64;AMDGPU;ARM;BPF;Hexagon;Lanai;Mips;MSP430;PowerPC;RISCV;Sparc;SystemZ;WebAssembly;X86;XCore' \
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD='M68k' \
-Bbuild .
make -C build llvm-tblgen
make -C build
python3 utils/lit/setup.py build
}
check() {
make -C build check-llvm
}
package() {
make DESTDIR="$pkgdir" -C build install
cd "$pkgdir"/$_prefix
# Remove RPATHs.
file lib/*.so bin/* \
| awk -F: '$2~/ELF/{print $1}' \
| xargs -r chrpath -d
# Thread 3 requires a lot of stack space to LTO when targeting ARM.
# Note that this occurs even when crossing (on a ppc64 host).
chelf -s 1048576 bin/llvm-lto2
# Symlink files from /usr/lib/llvm*/bin to /usr/bin.
mkdir -p "$pkgdir"/usr/bin
for full_name in bin/*; do
bin_name=${full_name##*/}
# If this package provides=llvm (i.e. it's the default/latest
# llvm package), omit version infix/suffix.
if [ "$_default_llvm" = yes ]; then
link_name=$bin_name
# ..otherwise, add version infix/suffix to the executable name.
else case "$bin_name" in
llvm-*) link_name="llvm$_majorver-${bin_name#llvm-}";;
*) link_name="$bin_name$_majorver";;
esac
fi
case "$name" in
FileCheck | obj2yaml | yaml2obj) continue;;
esac
ln -s ../lib/llvm$_majorver/bin/$bin_name "$pkgdir"/usr/bin/$link_name
done
# Move /usr/lib/$pkgname/include/ into /usr/include/$pkgname/
# and symlink it back.
mkdir -p "$pkgdir"/usr/include/$pkgname
mv include/* "$pkgdir"/usr/include/$pkgname/
rmdir include
ln -s ../../include/$pkgname include
ln -s "$pkgdir"/usr/lib/cmake/llvm ../$pkgname/lib/cmake/llvm
}
static() {
pkgdesc="LLVM $_majorver static libraries"
_common_subpkg
mkdir -p "$subpkgdir"/$_prefix/lib
mv "$pkgdir"/$_prefix/lib/*.a "$subpkgdir"/$_prefix/lib/
strip -d "$subpkgdir"/$_prefix/lib/*.a
}
libs() {
pkgdesc="LLVM $_majorver runtime library"
main_soname="libLLVM-$_majorver.so"
ver_soname="libLLVM-$pkgver.so"
_common_subpkg
# libLLVM should be in /usr/lib. This is needed for binaries that are
# dynamically linked with libLLVM, so they can find it on default path.
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/$_prefix/lib/$main_soname "$subpkgdir"/usr/lib/
ln -s $main_soname "$subpkgdir"/usr/lib/$ver_soname
# And also symlink it back to the LLVM prefix.
mkdir -p "$subpkgdir"/$_prefix/lib
ln -s ../../$main_soname "$subpkgdir"/$_prefix/lib/$main_soname
ln -s ../../$main_soname "$subpkgdir"/$_prefix/lib/$ver_soname
}
dev() {
_common_subpkg
default_dev
mkdir -p "$subpkgdir"/$_prefix/bin
mv "$pkgdir"/$_prefix/lib "$subpkgdir"/$_prefix/
mv "$pkgdir"/$_prefix/include "$subpkgdir"/$_prefix/
mv "$pkgdir"/$_prefix/bin/llvm-config "$subpkgdir"/$_prefix/bin/
}
_test_utils() {
pkgdesc="LLVM $_majorver utilities for executing LLVM and Clang style test suites"
depends="python3"
_common_subpkg
replaces=""
litver="$(python3 "$builddir"/utils/lit/setup.py --version 2>/dev/null \
| sed 's/\.dev.*$//')"
test -n "$litver" || return 1
provides="$provides lit=$litver-r$pkgrel"
cd "$builddir"/build
install -D -m 755 bin/FileCheck "$subpkgdir"/$_prefix/bin/FileCheck
install -D -m 755 bin/count "$subpkgdir"/$_prefix/bin/count
install -D -m 755 bin/not "$subpkgdir"/$_prefix/bin/not
python3 ../utils/lit/setup.py install --prefix=/usr --root="$subpkgdir"
ln -s ../../../bin/lit "$subpkgdir"/$_prefix/bin/lit
}
_common_subpkg() {
if [ "$_default_llvm" = yes ]; then
replaces="llvm${subpkgname#$pkgname}"
provides="$replaces=$pkgver-r$pkgrel"
fi
}
sha512sums="6461bdde27aac17fa44c3e99a85ec47ffb181d0d4e5c3ef1c4286a59583e3b0c51af3c8081a300f45b99524340773a3011380059e3b3a571c3b0a8733e96fc1d llvm-14.0.6.src.tar.xz
f84cd65d7042e89826ba6e8d48c4c302bf4980da369d7f19a55f217e51c00ca8ed178d453df3a3cee76598a7cecb94aed0775a6d24fe73266f82749913fc3e71 llvm-fix-build-with-musl-libc.patch
49c47f125014b60d0ea7870f981a2c1708ad705793f89287ed846ee881a837a4dc0170bf467e03f2ef56177473128945287749ac80dc2d13cfabcf8b929ba58a disable-FileSystemTest.CreateDir-perms-assert.patch
caeec8e4dbd92f5f74940780b69075f3879a267a8623822cbdc193fd14706eb089071e3a5a20d60cc2eca59e4c5b2a61d29827a2f3362ee7c5f74f11d9ace200 disable-dlclose-test.patch
2842bcef71fb962cb49717fa9ba3e7318400c4a9175284a39ae3ff13a00260556794d0d63341430b2c64a0bca1ac76186e02c92e444a737a5dec1b6de27bbc60 dwarf-info.patch
5fa36157f7a76ca70d22af7bd96850db454d6add3a19cc3272962633c453087015755ca9df0de29cc40359e89279e470e91ff1a69d1453596a73291b36f39b23 dyld-elf-ppc32.patch
a1533f4b9d35e1069fd065fbeb5fedce96fa49fdb007f994d8921d8a04cf2caadca276bbd9553ff86040b0f9dfce489c385fa2a7434e2dee3732942e6914db4e graph-diff-simple.txt
9abe376068801a09b2af01eef0cd319f48862b5ff7cce62af3cf4e7597a0898842125ae574577b545734ec1381f192b924b4f717a9c094f119e32ada81a2b9a2 hexagon.patch
de9791cc476817782b553c4edab696132da4ed2b9a3d80dbf1b85b7dc7a8c5e4caf14f2f26e33c27cd80a91b36709d3b24caea910c0a6315ffbb297cb748468d macho32.patch
189e0967c7c29c6315bd3e8da818b94fc3ed99c8cdce14c3d7ccc2fbd18007b3d97f74689dc3d498f624a10411067c41648b9b67d420d2344fa7e1bf7711c8dd musl-ppc64-elfv2.patch
02fd3e9869cf3da60b0da17b69dc592fdcd0442d50de940b578b7a9aa19554569324b44f6f84728c03b2897859f99076278741bdd0872fab70660eb844d05f26 ppc-gcc-bug.patch
62de403e4cfd58d9f33f8b35ff31f66c906fd39c667fbcfa394d03f636fb10977c2f53c3a780d0c8e099f9a081951402757e12842d82a7cbd1aef4158f51d5c2 ppc-test.patch
89ef5fbab039b017a5652656adf17b680525f1c5dd0b1afc8034fe0b34a2ca196d87640f54cc826356cfcd88c6e5f10754b7e38f04ca49ede4f3864080b787bd python3-test.patch
dca77af49ea181ab8d41630b8e7575b83aac22686a1119479abf8fe22d8f13032d69ef83a9635b9ad9b935cd3b51251d939e05967ad40db43abf69ac40e0eccd roundeven.patch"
Do not assert permissions of file created in /tmp directory.
This assertion fails, probably due to some specific setup of /tmp
on build servers.
FAIL: LLVM-Unit :: Support/SupportTests/FileSystemTest.CreateDir (1293 of 17222)
******************** TEST 'LLVM-Unit :: Support/SupportTests/FileSystemTest.CreateDir' FAILED ********************
Note: Google Test filter = FileSystemTest.CreateDir
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from FileSystemTest
[ RUN ] FileSystemTest.CreateDir
/home/buildozer/aports/testing/llvm3.9/src/llvm-3.9.1.src/unittests/Support/Path.cpp:591: Failure
Value of: fs::perms::owner_read | fs::perms::owner_exe
Actual: 320
Expected: Status.permissions() & fs::perms::all_all
Which is: 448
--- a/unittests/Support/Path.cpp
+++ b/unittests/Support/Path.cpp
@@ -579,23 +579,23 @@
ASSERT_NO_ERROR(fs::remove(Twine(TestDirectory) + "foo"));
#ifdef LLVM_ON_UNIX
- // Set a 0000 umask so that we can test our directory permissions.
- mode_t OldUmask = ::umask(0000);
-
- fs::file_status Status;
- ASSERT_NO_ERROR(
- fs::create_directory(Twine(TestDirectory) + "baz500", false,
- fs::perms::owner_read | fs::perms::owner_exe));
- ASSERT_NO_ERROR(fs::status(Twine(TestDirectory) + "baz500", Status));
- ASSERT_EQ(Status.permissions() & fs::perms::all_all,
- fs::perms::owner_read | fs::perms::owner_exe);
- ASSERT_NO_ERROR(fs::create_directory(Twine(TestDirectory) + "baz777", false,
- fs::perms::all_all));
- ASSERT_NO_ERROR(fs::status(Twine(TestDirectory) + "baz777", Status));
- ASSERT_EQ(Status.permissions() & fs::perms::all_all, fs::perms::all_all);
-
- // Restore umask to be safe.
- ::umask(OldUmask);
+// // Set a 0000 umask so that we can test our directory permissions.
+// mode_t OldUmask = ::umask(0000);
+//
+// fs::file_status Status;
+// ASSERT_NO_ERROR(
+// fs::create_directory(Twine(TestDirectory) + "baz500", false,
+// fs::perms::owner_read | fs::perms::owner_exe));
+// ASSERT_NO_ERROR(fs::status(Twine(TestDirectory) + "baz500", Status));
+// ASSERT_EQ(Status.permissions() & fs::perms::all_all,
+// fs::perms::owner_read | fs::perms::owner_exe);
+// ASSERT_NO_ERROR(fs::create_directory(Twine(TestDirectory) + "baz777", false,
+// fs::perms::all_all));
+// ASSERT_NO_ERROR(fs::status(Twine(TestDirectory) + "baz777", Status));
+// ASSERT_EQ(Status.permissions() & fs::perms::all_all, fs::perms::all_all);
+//
+// // Restore umask to be safe.
+// ::umask(OldUmask);
#endif
#ifdef LLVM_ON_WIN32
--- llvm-6.0.1.src/unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp.old 2017-07-12 21:22:45.000000000 +0000
+++ llvm-6.0.1.src/unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp 2018-09-13 04:43:37.240000000 +0000
@@ -107,6 +107,7 @@
EXPECT_TRUE(DynamicLibrary::SearchOrder == DynamicLibrary::SO_Linker);
}
+#if 0
TEST(DynamicLibrary, Shutdown) {
std::string A("PipSqueak"), B, C("SecondLib");
std::vector<std::string> Order;
@@ -162,6 +163,7 @@
EXPECT_EQ(Order.front(), "SecondLib");
EXPECT_EQ(Order.back(), "PipSqueak");
}
+#endif
#else
Author: A. Wilcox <awilfox@adelielinux.org>
This isn't the proper fix, but debugging the LLVM formatter is a bit
above my paygrade at the moment.
The issue shows up in the DWARF X86 test on ppc and armv7:
error: Simplified template DW_AT_name could not be reconstituted:
original: f3<char, '\x00', '\x01', '\x06', '\a', '\r', '\x0e', '\x1f', ' ', '!', '\x7f', '\x80'>
reconstituted: f3<char, '\x00', '\x00', '\x00', '\a', '\r', '\x00', '\x00', ' ', '!', '\x00', '\x00'>
With this patch, this error does not occur. Debugging shows that the
llvm::format overload called in the error case is <long long>, so I
think it is having an issue converting a 64-bit value on platforms
where char is default-unsigned.
(pmmx does not show this issue, and has signed char.)
--- llvm-14.0.6.src/lib/DebugInfo/DWARF/DWARFDie.cpp.old 2022-06-22 16:46:24.000000000 +0000
+++ llvm-14.0.6.src/lib/DebugInfo/DWARF/DWARFDie.cpp 2022-11-28 10:32:05.573627744 +0000
@@ -506,7 +506,7 @@
OS << (char)Val;
OS << "'";
} else if (Val < 256)
- OS << to_string(llvm::format("'\\x%02x'", Val));
+ OS << to_string(llvm::format("'\\x%02x'", (unsigned char)Val));
else if (Val <= 0xFFFF)
OS << to_string(llvm::format("'\\u%04x'", Val));
else
Author: A. Wilcox <awilfox@adelielinux.org>
Upstream-Status: Pending
This implements the R_PPC_REL32 relocation type, which is needed for the
OrcJIT to work properly on 32-bit PowerPC.
Needs more tests before submitting upstream, but seems to DTRT.
--- llvm-14.0.6.src/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp.old 2022-06-22 16:46:24.000000000 +0000
+++ llvm-14.0.6.src/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp 2022-11-28 06:33:12.239921624 +0000
@@ -818,6 +818,13 @@
case ELF::R_PPC_ADDR16_HA:
writeInt16BE(LocalAddress, applyPPCha(Value + Addend));
break;
+ case ELF::R_PPC_REL32:
+ uint32_t FinalAddress = Section.getLoadAddressWithOffset(Offset);
+ int64_t delta = static_cast<int64_t>(Value - FinalAddress + Addend);
+ if (SignExtend64<32>(delta) != delta)
+ llvm_unreachable("Relocation R_PPC_REL32 overflow");
+ writeInt32BE(LocalAddress, delta);
+ break;
}
}
#RUN: llvm-xray graph-diff -o - -c min -b min -m %S/Inputs/simple-instrmap.yaml \
#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \
#RUN: | FileCheck %s -check-prefix=VCEC
#RUN: llvm-xray graph-diff -o - -c min -m %S/Inputs/simple-instrmap.yaml \
#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \
#RUN: | FileCheck %s -check-prefix=EC
#RUN: llvm-xray graph-diff -o - -b min -m %S/Inputs/simple-instrmap.yaml \
#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \
#RUN: | FileCheck %s -check-prefix=VC
#RUN: llvm-xray graph-diff -o - -e min -v min -m %S/Inputs/simple-instrmap.yaml \
#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \
#RUN: | FileCheck %s -check-prefix=ELVL
#RUN: llvm-xray graph-diff -o - -e min -m %S/Inputs/simple-instrmap.yaml \
#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \
#RUN: | FileCheck %s -check-prefix=EL
#RUN: llvm-xray graph-diff -o - -v min -m %S/Inputs/simple-instrmap.yaml \
#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \
#RUN: | FileCheck %s -check-prefix=VL
#RUN: llvm-xray graph-diff -o - -v min -b min -m %S/Inputs/simple-instrmap.yaml \
#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \
#RUN: | FileCheck %s -check-prefix=VLVC
#RUN: llvm-xray graph-diff -o - -e min -c min -m %S/Inputs/simple-instrmap.yaml \
#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \
#RUN: | FileCheck %s -check-prefix=ELEC
#VCEC: digraph xrayDiff {
#VCEC-DAG: F[[F0NO:[0-9]+]] [label="F0"]
#VCEC-DAG: F[[N1NO:[0-9]+]] [label="#1" color="#276419"]
#VCEC-DAG: F[[N2NO:[0-9]+]] [label="#2" color="#276419"]
#VCEC-DAG: F[[N3NO:[0-9]+]] [label="#3" color="#276419"]
#VCEC-DAG: F[[N4NO:[0-9]+]] [label="#4" color="#9BCE61"]
#VCEC-DAG: F[[N5NO:[0-9]+]] [label="#5" color="#F7F7F7"]
#VCEC-DAG: F[[N6NO:[0-9]+]] [label="#6" color="#F5C4E0"]
#VCEC-DAG: F[[N7NO:[0-9]+]] [label="#7" color="#E17FB4"]
#VCEC-DAG: F[[N8NO:[0-9]+]] [label="#8" color="#CB3088"]
#VCEC-DAG: F[[N9NO:[0-9]+]] [label="#9" color="#AD0E69"]
#VCEC-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"]
#VCEC-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"]
#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="" color="#276419" labelfontcolor="#276419" penwidth=8.00]
#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="" color="#276419" labelfontcolor="#276419" penwidth=3.00]
#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="" color="#276419" labelfontcolor="#276419" penwidth=1.33]
#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="" color="#9BCE61" labelfontcolor="#9BCE61" penwidth=1.00]
#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="" color="#F7F7F7" labelfontcolor="#F7F7F7" penwidth=1.00]
#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="" color="#F5C4E0" labelfontcolor="#F5C4E0" penwidth=1.00]
#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="" color="#E17FB4" labelfontcolor="#E17FB4" penwidth=1.00]
#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="" color="#CB3088" labelfontcolor="#CB3088" penwidth=1.00]
#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="" color="#AD0E69" labelfontcolor="#AD0E69" penwidth=1.00]
#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00]
#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00]
#VCEC-NEXT:}
#EC: digraph xrayDiff {
#EC-DAG: F[[F0NO:[0-9]+]] [label="F0"]
#EC-DAG: F[[N1NO:[0-9]+]] [label="#1" color="black"]
#EC-DAG: F[[N2NO:[0-9]+]] [label="#2" color="black"]
#EC-DAG: F[[N3NO:[0-9]+]] [label="#3" color="black"]
#EC-DAG: F[[N4NO:[0-9]+]] [label="#4" color="black"]
#EC-DAG: F[[N5NO:[0-9]+]] [label="#5" color="black"]
#EC-DAG: F[[N6NO:[0-9]+]] [label="#6" color="black"]
#EC-DAG: F[[N7NO:[0-9]+]] [label="#7" color="black"]
#EC-DAG: F[[N8NO:[0-9]+]] [label="#8" color="black"]
#EC-DAG: F[[N9NO:[0-9]+]] [label="#9" color="black"]
#EC-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"]
#EC-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"]
#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="" color="#276419" labelfontcolor="#276419" penwidth=8.00]
#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="" color="#276419" labelfontcolor="#276419" penwidth=3.00]
#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="" color="#276419" labelfontcolor="#276419" penwidth=1.33]
#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="" color="#9BCE61" labelfontcolor="#9BCE61" penwidth=1.00]
#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="" color="#F7F7F7" labelfontcolor="#F7F7F7" penwidth=1.00]
#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="" color="#F5C4E0" labelfontcolor="#F5C4E0" penwidth=1.00]
#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="" color="#E17FB4" labelfontcolor="#E17FB4" penwidth=1.00]
#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="" color="#CB3088" labelfontcolor="#CB3088" penwidth=1.00]
#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="" color="#AD0E69" labelfontcolor="#AD0E69" penwidth=1.00]
#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00]
#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00]
#EC-NEXT:}
#VC: digraph xrayDiff {
#VC-DAG: F[[F0NO:[0-9]+]] [label="F0"]
#VC-DAG: F[[N1NO:[0-9]+]] [label="#1" color="#276419"]
#VC-DAG: F[[N2NO:[0-9]+]] [label="#2" color="#276419"]
#VC-DAG: F[[N3NO:[0-9]+]] [label="#3" color="#276419"]
#VC-DAG: F[[N4NO:[0-9]+]] [label="#4" color="#9BCE61"]
#VC-DAG: F[[N5NO:[0-9]+]] [label="#5" color="#F7F7F7"]
#VC-DAG: F[[N6NO:[0-9]+]] [label="#6" color="#F5C4E0"]
#VC-DAG: F[[N7NO:[0-9]+]] [label="#7" color="#E17FB4"]
#VC-DAG: F[[N8NO:[0-9]+]] [label="#8" color="#CB3088"]
#VC-DAG: F[[N9NO:[0-9]+]] [label="#9" color="#AD0E69"]
#VC-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"]
#VC-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"]
#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="" color="black" labelfontcolor="black" penwidth=1.00]
#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="" color="black" labelfontcolor="black" penwidth=1.00]
#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="" color="black" labelfontcolor="black" penwidth=1.00]
#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="" color="black" labelfontcolor="black" penwidth=1.00]
#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="" color="black" labelfontcolor="black" penwidth=1.00]
#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="" color="black" labelfontcolor="black" penwidth=1.00]
#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="" color="black" labelfontcolor="black" penwidth=1.00]
#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="" color="black" labelfontcolor="black" penwidth=1.00]
#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="" color="black" labelfontcolor="black" penwidth=1.00]
#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00]
#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00]
#VC-NEXT:}
#ELVL: digraph xrayDiff {
#ELVL-NEXT: node [shape=record]
#ELVL-DAG: F[[F0NO:[0-9]+]] [label="F0"]
#ELVL-DAG: F[[N1NO:[0-9]+]] [label="{#1|800.00%}" color="black"]
#ELVL-DAG: F[[N2NO:[0-9]+]] [label="{#2|300.00%}" color="black"]
#ELVL-DAG: F[[N3NO:[0-9]+]] [label="{#3|133.33%}" color="black"]
#ELVL-DAG: F[[N4NO:[0-9]+]] [label="{#4|50.00%}" color="black"]
#ELVL-DAG: F[[N5NO:[0-9]+]] [label="{#5|0.00%}" color="black"]
#ELVL-DAG: F[[N6NO:[0-9]+]] [label="{#6|-33.33%}" color="black"]
#ELVL-DAG: F[[N7NO:[0-9]+]] [label="{#7|-57.14%}" color="black"]
#ELVL-DAG: F[[N8NO:[0-9]+]] [label="{#8|-75.00%}" color="black"]
#ELVL-DAG: F[[N9NO:[0-9]+]] [label="{#9|-88.89%}" color="black"]
#ELVL-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"]
#ELVL-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"]
#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="800.00%" color="black" labelfontcolor="black" penwidth=1.00]
#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="300.00%" color="black" labelfontcolor="black" penwidth=1.00]
#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="133.33%" color="black" labelfontcolor="black" penwidth=1.00]
#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="50.00%" color="black" labelfontcolor="black" penwidth=1.00]
#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="0.00%" color="black" labelfontcolor="black" penwidth=1.00]
#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="-33.33%" color="black" labelfontcolor="black" penwidth=1.00]
#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="-57.14%" color="black" labelfontcolor="black" penwidth=1.00]
#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="-75.00%" color="black" labelfontcolor="black" penwidth=1.00]
#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="-88.89%" color="black" labelfontcolor="black" penwidth=1.00]
#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00]
#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00]
#ELVL-NEXT:}
#EL: digraph xrayDiff {
#EL-DAG: F[[F0NO:[0-9]+]] [label="F0"]
#EL-DAG: F[[N1NO:[0-9]+]] [label="#1" color="black"]
#EL-DAG: F[[N2NO:[0-9]+]] [label="#2" color="black"]
#EL-DAG: F[[N3NO:[0-9]+]] [label="#3" color="black"]
#EL-DAG: F[[N4NO:[0-9]+]] [label="#4" color="black"]
#EL-DAG: F[[N5NO:[0-9]+]] [label="#5" color="black"]
#EL-DAG: F[[N6NO:[0-9]+]] [label="#6" color="black"]
#EL-DAG: F[[N7NO:[0-9]+]] [label="#7" color="black"]
#EL-DAG: F[[N8NO:[0-9]+]] [label="#8" color="black"]
#EL-DAG: F[[N9NO:[0-9]+]] [label="#9" color="black"]
#EL-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"]
#EL-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"]
#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="800.00%" color="black" labelfontcolor="black" penwidth=1.00]
#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="300.00%" color="black" labelfontcolor="black" penwidth=1.00]
#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="133.33%" color="black" labelfontcolor="black" penwidth=1.00]
#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="50.00%" color="black" labelfontcolor="black" penwidth=1.00]
#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="0.00%" color="black" labelfontcolor="black" penwidth=1.00]
#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="-33.33%" color="black" labelfontcolor="black" penwidth=1.00]
#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="-57.14%" color="black" labelfontcolor="black" penwidth=1.00]
#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="-75.00%" color="black" labelfontcolor="black" penwidth=1.00]
#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="-88.89%" color="black" labelfontcolor="black" penwidth=1.00]
#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00]
#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00]
#EL-NEXT:}
#VL: digraph xrayDiff {
#VL-NEXT: node [shape=record]
#VL-DAG: F[[F0NO:[0-9]+]] [label="F0"]
#VL-DAG: F[[N1NO:[0-9]+]] [label="{#1|800.00%}" color="black"]
#VL-DAG: F[[N2NO:[0-9]+]] [label="{#2|300.00%}" color="black"]
#VL-DAG: F[[N3NO:[0-9]+]] [label="{#3|133.33%}" color="black"]
#VL-DAG: F[[N4NO:[0-9]+]] [label="{#4|50.00%}" color="black"]
#VL-DAG: F[[N5NO:[0-9]+]] [label="{#5|0.00%}" color="black"]
#VL-DAG: F[[N6NO:[0-9]+]] [label="{#6|-33.33%}" color="black"]
#VL-DAG: F[[N7NO:[0-9]+]] [label="{#7|-57.14%}" color="black"]
#VL-DAG: F[[N8NO:[0-9]+]] [label="{#8|-75.00%}" color="black"]
#VL-DAG: F[[N9NO:[0-9]+]] [label="{#9|-88.89%}" color="black"]
#VL-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"]
#VL-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"]
#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="" color="black" labelfontcolor="black" penwidth=1.00]
#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="" color="black" labelfontcolor="black" penwidth=1.00]
#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="" color="black" labelfontcolor="black" penwidth=1.00]
#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="" color="black" labelfontcolor="black" penwidth=1.00]
#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="" color="black" labelfontcolor="black" penwidth=1.00]
#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="" color="black" labelfontcolor="black" penwidth=1.00]
#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="" color="black" labelfontcolor="black" penwidth=1.00]
#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="" color="black" labelfontcolor="black" penwidth=1.00]
#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="" color="black" labelfontcolor="black" penwidth=1.00]
#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00]
#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00]
#VL-NEXT:}
#VLVC: digraph xrayDiff {
#VLVC-NEXT: node [shape=record]
#VLVC-DAG: F[[F0NO:[0-9]+]] [label="F0"]
#VLVC-DAG: F[[N1NO:[0-9]+]] [label="{#1|800.00%}" color="#276419"]
#VLVC-DAG: F[[N2NO:[0-9]+]] [label="{#2|300.00%}" color="#276419"]
#VLVC-DAG: F[[N3NO:[0-9]+]] [label="{#3|133.33%}" color="#276419"]
#VLVC-DAG: F[[N4NO:[0-9]+]] [label="{#4|50.00%}" color="#9BCE61"]
#VLVC-DAG: F[[N5NO:[0-9]+]] [label="{#5|0.00%}" color="#F7F7F7"]
#VLVC-DAG: F[[N6NO:[0-9]+]] [label="{#6|-33.33%}" color="#F5C4E0"]
#VLVC-DAG: F[[N7NO:[0-9]+]] [label="{#7|-57.14%}" color="#E17FB4"]
#VLVC-DAG: F[[N8NO:[0-9]+]] [label="{#8|-75.00%}" color="#CB3088"]
#VLVC-DAG: F[[N9NO:[0-9]+]] [label="{#9|-88.89%}" color="#AD0E69"]
#VLVC-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"]
#VLVC-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"]
#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="" color="black" labelfontcolor="black" penwidth=1.00]
#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="" color="black" labelfontcolor="black" penwidth=1.00]
#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="" color="black" labelfontcolor="black" penwidth=1.00]
#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="" color="black" labelfontcolor="black" penwidth=1.00]
#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="" color="black" labelfontcolor="black" penwidth=1.00]
#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="" color="black" labelfontcolor="black" penwidth=1.00]
#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="" color="black" labelfontcolor="black" penwidth=1.00]
#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="" color="black" labelfontcolor="black" penwidth=1.00]
#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="" color="black" labelfontcolor="black" penwidth=1.00]
#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00]
#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00]
#VLVC-NEXT:}
#ELEC: digraph xrayDiff {
#ELEC-DAG: F[[F0NO:[0-9]+]] [label="F0"]
#ELEC-DAG: F[[N1NO:[0-9]+]] [label="#1" color="black"]
#ELEC-DAG: F[[N2NO:[0-9]+]] [label="#2" color="black"]
#ELEC-DAG: F[[N3NO:[0-9]+]] [label="#3" color="black"]
#ELEC-DAG: F[[N4NO:[0-9]+]] [label="#4" color="black"]
#ELEC-DAG: F[[N5NO:[0-9]+]] [label="#5" color="black"]
#ELEC-DAG: F[[N6NO:[0-9]+]] [label="#6" color="black"]
#ELEC-DAG: F[[N7NO:[0-9]+]] [label="#7" color="black"]
#ELEC-DAG: F[[N8NO:[0-9]+]] [label="#8" color="black"]
#ELEC-DAG: F[[N9NO:[0-9]+]] [label="#9" color="black"]
#ELEC-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"]
#ELEC-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"]
#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="800.00%" color="#276419" labelfontcolor="#276419" penwidth=8.00]
#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="300.00%" color="#276419" labelfontcolor="#276419" penwidth=3.00]
#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="133.33%" color="#276419" labelfontcolor="#276419" penwidth=1.33]
#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="50.00%" color="#9BCE61" labelfontcolor="#9BCE61" penwidth=1.00]
#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="0.00%" color="#F7F7F7" labelfontcolor="#F7F7F7" penwidth=1.00]
#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="-33.33%" color="#F5C4E0" labelfontcolor="#F5C4E0" penwidth=1.00]
#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="-57.14%" color="#E17FB4" labelfontcolor="#E17FB4" penwidth=1.00]
#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="-75.00%" color="#CB3088" labelfontcolor="#CB3088" penwidth=1.00]
#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="-88.89%" color="#AD0E69" labelfontcolor="#AD0E69" penwidth=1.00]
#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00]
#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00]
#ELEC-NEXT:}
From 37605662a99bd0815e2f2e452eb6ab1ce53ecffd Mon Sep 17 00:00:00 2001
From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
Date: Mon, 30 May 2022 02:51:34 -0500
Subject: [PATCH] [Hexagon][Tests] Fix tests on Linux/musl
When running on a host system using musl, the target triple is defined
as hexagon-unknown-linux-musl by default. The Linux ABI differs from
the non-Linux one with varargs, so this causes the tests to fail.
Closes BZ49592, PR48936.
Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com>
---
test/CodeGen/Hexagon/csr-stubs-spill-threshold.ll | 2 +-
test/CodeGen/Hexagon/long-calls.ll | 2 +-
test/CodeGen/Hexagon/mlong-calls.ll | 2 +-
test/CodeGen/Hexagon/pic-regusage.ll | 2 +-
test/CodeGen/Hexagon/runtime-stkchk.ll | 2 +-
test/CodeGen/Hexagon/swp-memrefs-epilog.ll | 2 +-
test/CodeGen/Hexagon/vararg-formal.ll | 2 +-
7 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/test/CodeGen/Hexagon/csr-stubs-spill-threshold.ll b/test/CodeGen/Hexagon/csr-stubs-spill-threshold.ll
index afbef217911a..d317d7eac800 100644
--- a/test/CodeGen/Hexagon/csr-stubs-spill-threshold.ll
+++ b/test/CodeGen/Hexagon/csr-stubs-spill-threshold.ll
@@ -1,4 +1,4 @@
-; RUN: llc -march=hexagon -O2 -spill-func-threshold=2 < %s | FileCheck %s
+; RUN: llc -march=hexagon -mtriple=hexagon-unknown-linux-gnu -O2 -spill-func-threshold=2 < %s | FileCheck %s
declare i32 @f0(i32, i32, i32, i32, i32, i32)
diff --git a/test/CodeGen/Hexagon/long-calls.ll b/test/CodeGen/Hexagon/long-calls.ll
index 628362783c9c..886405a2d91a 100644
--- a/test/CodeGen/Hexagon/long-calls.ll
+++ b/test/CodeGen/Hexagon/long-calls.ll
@@ -1,4 +1,4 @@
-; RUN: llc -march=hexagon -enable-save-restore-long -hexagon-initial-cfg-cleanup=0 < %s | FileCheck %s
+; RUN: llc -march=hexagon -mtriple=hexagon-unknown-linux-gnu -enable-save-restore-long -hexagon-initial-cfg-cleanup=0 < %s | FileCheck %s
; Check that the -long-calls feature is supported by the backend.
diff --git a/test/CodeGen/Hexagon/mlong-calls.ll b/test/CodeGen/Hexagon/mlong-calls.ll
index d76b87f987fe..383486dfe63d 100644
--- a/test/CodeGen/Hexagon/mlong-calls.ll
+++ b/test/CodeGen/Hexagon/mlong-calls.ll
@@ -1,4 +1,4 @@
-; RUN: llc -hexagon-long-calls -march=hexagon -enable-save-restore-long=true < %s | FileCheck %s
+; RUN: llc -hexagon-long-calls -march=hexagon -mtriple=hexagon-unknown-linux-gnu -enable-save-restore-long=true < %s | FileCheck %s
; CHECK: call ##f1
; CHECK: jump ##__restore
diff --git a/test/CodeGen/Hexagon/pic-regusage.ll b/test/CodeGen/Hexagon/pic-regusage.ll
index 9d3b6cec39e3..077063e36550 100644
--- a/test/CodeGen/Hexagon/pic-regusage.ll
+++ b/test/CodeGen/Hexagon/pic-regusage.ll
@@ -1,4 +1,4 @@
-; RUN: llc -march=hexagon -relocation-model=pic < %s | FileCheck %s
+; RUN: llc -march=hexagon -mtriple=hexagon-unknown-linux-gnu -relocation-model=pic < %s | FileCheck %s
; Force the use of R14 (by clobbering everything else in the inline asm).
; Make sure that R14 is not set before the __save call (which will clobber
diff --git a/test/CodeGen/Hexagon/runtime-stkchk.ll b/test/CodeGen/Hexagon/runtime-stkchk.ll
index 66e93d02ef51..2f3f2ad10f6a 100644
--- a/test/CodeGen/Hexagon/runtime-stkchk.ll
+++ b/test/CodeGen/Hexagon/runtime-stkchk.ll
@@ -1,4 +1,4 @@
-; RUN: llc -march=hexagon -mcpu=hexagonv55 -enable-stackovf-sanitizer < %s | FileCheck %s
+; RUN: llc -march=hexagon -mcpu=hexagonv55 -mtriple=hexagon-unknown-linux-gnu -enable-stackovf-sanitizer < %s | FileCheck %s
; CHECK-LABEL: foo_1
; CHECK: __runtime_stack_check
diff --git a/test/CodeGen/Hexagon/swp-memrefs-epilog.ll b/test/CodeGen/Hexagon/swp-memrefs-epilog.ll
index 20e39dd08fd7..b34dfbc31e9d 100644
--- a/test/CodeGen/Hexagon/swp-memrefs-epilog.ll
+++ b/test/CodeGen/Hexagon/swp-memrefs-epilog.ll
@@ -1,4 +1,4 @@
-; RUN: llc -march=hexagon -O2 -fp-contract=fast < %s -pipeliner-experimental-cg=true | FileCheck %s
+; RUN: llc -march=hexagon -mtriple=hexagon-unknown-linux-gnu -O2 -fp-contract=fast < %s -pipeliner-experimental-cg=true | FileCheck %s
; Test that the memoperands for instructions in the epilog are updated
; correctly. Previously, the pipeliner updated the offset for the memoperands
diff --git a/test/CodeGen/Hexagon/vararg-formal.ll b/test/CodeGen/Hexagon/vararg-formal.ll
index 6bba65fcab16..fb3132929bcf 100644
--- a/test/CodeGen/Hexagon/vararg-formal.ll
+++ b/test/CodeGen/Hexagon/vararg-formal.ll
@@ -1,4 +1,4 @@
-; RUN: llc -march=hexagon < %s | FileCheck %s
+; RUN: llc -march=hexagon -mtriple=hexagon-unknown-linux-gnu < %s | FileCheck %s
; Make sure that the first formal argument is not loaded from memory.
; CHECK-NOT: memw
--
2.36.0
From 5c571082fdaf61f6df19d9b7137dc26d71334058 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Thu, 18 Feb 2016 10:33:04 +0100
Subject: [PATCH 2/3] Fix build with musl libc
On musl libc the fopen64 and fopen are the same thing, but for
compatibility they have a `#define fopen64 fopen`. Same applies for
fseek64, fstat64, fstatvfs64, ftello64, lstat64, stat64 and tmpfile64.
---
include/llvm/Analysis/TargetLibraryInfo.h | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/include/llvm/Analysis/TargetLibraryInfo.h b/include/llvm/Analysis/TargetLibraryInfo.h
index 7becdf0..7f14427 100644
--- a/include/llvm/Analysis/TargetLibraryInfo.h
+++ b/include/llvm/Analysis/TargetLibraryInfo.h
@@ -18,6 +18,26 @@
#include "llvm/IR/Module.h"
#include "llvm/Pass.h"
+#undef fopen64
+#undef fseeko64
+#undef fstat64
+#undef fstatvfs64
+#undef ftello64
+#undef lstat64
+#undef stat64
+#undef tmpfile64
+#undef F_GETLK64
+#undef F_SETLK64
+#undef F_SETLKW64
+#undef flock64
+#undef open64
+#undef openat64
+#undef creat64
+#undef lockf64
+#undef posix_fadvise64
+#undef posix_fallocate64
+#undef off64_t
+
namespace llvm {
/// VecDesc - Describes a possible vectorization of a function.
/// Function 'VectorFnName' is equivalent to 'ScalarFnName' vectorized
--
2.7.3
Use integer offset math instead of pointer math to determine load
command bounds.
Upstream-URL: https://github.com/llvm/llvm-project/issues/56746
--- llvm-14.0.6.src/lib/Object/MachOObjectFile.cpp.old 2022-06-22 16:46:24.000000000 +0000
+++ llvm-14.0.6.src/lib/Object/MachOObjectFile.cpp 2022-11-28 04:21:02.730211841 +0000
@@ -190,7 +190,8 @@
getLoadCommandInfo(const MachOObjectFile &Obj, const char *Ptr,
uint32_t LoadCommandIndex) {
if (auto CmdOrErr = getStructOrErr<MachO::load_command>(Obj, Ptr)) {
- if (CmdOrErr->cmdsize + Ptr > Obj.getData().end())
+ uint64_t Offset = Ptr - Obj.getData().begin();
+ if (CmdOrErr->cmdsize + Offset > Obj.getData().size())
return malformedError("load command " + Twine(LoadCommandIndex) +
" extends past end of file");
if (CmdOrErr->cmdsize < 8)
From 750d323a6060ad92c3d247f85d6555041f55b4a5 Mon Sep 17 00:00:00 2001
From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
Date: Thu, 4 Oct 2018 15:26:59 -0500
Subject: [PATCH] Add support for powerpc64-*-linux-musl targets
This patch ensures that 64-bit PowerPC musl targets use ELFv2 ABI on both
endians. It additionally adds a test that big endian PPC64 uses ELFv2 on
musl.
---
lib/Target/PowerPC/PPCTargetMachine.cpp | 4 ++++
test/CodeGen/PowerPC/ppc64-elf-abi.ll | 1 +
2 files changed, 5 insertions(+)
diff --git a/lib/Target/PowerPC/PPCTargetMachine.cpp b/lib/Target/PowerPC/PPCTargetMachine.cpp
index 34410393ef6..c583fba8cab 100644
--- a/lib/Target/PowerPC/PPCTargetMachine.cpp
+++ b/lib/Target/PowerPC/PPCTargetMachine.cpp
@@ -228,6 +228,10 @@ static PPCTargetMachine::PPCABI computeTargetABI(const Triple &TT,
case Triple::ppc64le:
return PPCTargetMachine::PPC_ABI_ELFv2;
case Triple::ppc64:
+ // musl uses ELFv2 ABI on both endians.
+ if (TT.getEnvironment() == Triple::Musl)
+ return PPCTargetMachine::PPC_ABI_ELFv2;
+
return PPCTargetMachine::PPC_ABI_ELFv1;
default:
return PPCTargetMachine::PPC_ABI_UNKNOWN;
diff --git a/test/CodeGen/PowerPC/ppc64-elf-abi.ll b/test/CodeGen/PowerPC/ppc64-elf-abi.ll
index 1e17930304b..aa594b37b47 100644
--- a/test/CodeGen/PowerPC/ppc64-elf-abi.ll
+++ b/test/CodeGen/PowerPC/ppc64-elf-abi.ll
@@ -1,6 +1,7 @@
; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu < %s | FileCheck %s -check-prefix=CHECK-ELFv1
; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu -target-abi elfv1 < %s | FileCheck %s -check-prefix=CHECK-ELFv1
; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu -target-abi elfv2 < %s | FileCheck %s -check-prefix=CHECK-ELFv2
+; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-musl < %s | FileCheck %s -check-prefix=CHECK-ELFv2
; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck %s -check-prefix=CHECK-ELFv2
; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu -target-abi elfv1 < %s | FileCheck %s -check-prefix=CHECK-ELFv1
; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu -target-abi elfv2 < %s | FileCheck %s -check-prefix=CHECK-ELFv2
--
2.18.0
Upstream: https://github.com/llvm/llvm-project/issues/95594
Ref: #1204
--- llvm/include/llvm/ExecutionEngine/Orc/Shared/SimplePackedSerialization.h.old 2024-06-15 12:21:32.000000000 -0500
+++ llvm/include/llvm/ExecutionEngine/Orc/Shared/SimplePackedSerialization.h 2024-06-25 21:42:07.495284340 -0500
@@ -378,6 +378,8 @@
return Size;
}
+#pragma GCC push_options
+#pragma GCC optimize("no-tree-ch")
static bool serialize(SPSOutputBuffer &OB, const SequenceT &S) {
if (!SPSArgList<uint64_t>::serialize(OB, static_cast<uint64_t>(S.size())))
return false;
@@ -386,6 +388,7 @@
return false;
return true;
}
+#pragma GCC pop_options
static bool deserialize(SPSInputBuffer &IB, SequenceT &S) {
using TBSD = TrivialSPSSequenceDeserialization<SPSElementTagT, SequenceT>;
The ifdef tree uses __powerpc__ so 32-bit PPC is supported as well.
--- llvm-14.0.6.src/unittests/Support/Host.cpp.old 2022-06-22 16:46:24.000000000 +0000
+++ llvm-14.0.6.src/unittests/Support/Host.cpp 2022-11-28 02:15:41.512865406 +0000
@@ -40,7 +40,7 @@
// some systems.
return (Host.isOSWindows() && llvm_is_multithreaded()) ||
Host.isOSDarwin() || (Host.isX86() && Host.isOSLinux()) ||
- (Host.isPPC64() && Host.isOSLinux()) ||
+ (Host.isPPC() && Host.isOSLinux()) ||
(Host.isSystemZ() && (Host.isOSLinux() || Host.isOSzOS()));
}
--- llvm-7.0.1.src/test/BugPoint/compile-custom.ll.py.old 2014-03-13 00:10:37.000000000 +0000
+++ llvm-7.0.1.src/test/BugPoint/compile-custom.ll.py 2019-03-10 03:48:48.600000000 +0000
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
from __future__ import print_function
--- llvm-14.0.4.src/lib/Analysis/TargetLibraryInfo.cpp.old 2022-05-24 22:02:58.000000000 +0000
+++ llvm-14.0.4.src/lib/Analysis/TargetLibraryInfo.cpp 2022-07-06 01:38:22.016862561 +0000
@@ -588,6 +588,13 @@
TLI.setUnavailable(LibFunc_statvfs64);
TLI.setUnavailable(LibFunc_tmpfile64);
+ // These functions are unavailable on musl.
+ if (T.isMusl()) {
+ TLI.setUnavailable(LibFunc_roundeven);
+ TLI.setUnavailable(LibFunc_roundevenf);
+ TLI.setUnavailable(LibFunc_roundevenl);
+ }
+
// Relaxed math functions are included in math-finite.h on Linux (GLIBC).
// Note that math-finite.h is no longer supported by top-of-tree GLIBC,
// so we keep these functions around just so that they're recognized by
--- llvm-14.0.4.src/test/Transforms/InstCombine/double-float-shrink-2.ll.old 2022-05-24 22:02:58.000000000 +0000
+++ llvm-14.0.4.src/test/Transforms/InstCombine/double-float-shrink-2.ll 2022-07-06 02:03:20.657791057 +0000
@@ -1,5 +1,5 @@
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
-; RUN: opt < %s -instcombine -S -mtriple "i386-pc-linux" | FileCheck %s
+; RUN: opt < %s -instcombine -S -mtriple "i386-pc-linux-gnu" | FileCheck %s
; RUN: opt < %s -instcombine -S -mtriple "i386-pc-win32" | FileCheck %s
; RUN: opt < %s -instcombine -S -mtriple "x86_64-pc-win32" | FileCheck %s
; RUN: opt < %s -instcombine -S -mtriple "i386-pc-mingw32" | FileCheck %s
--- llvm-14.0.4.src/test/ExecutionEngine/Interpreter/intrinsics.ll.old 2022-05-24 22:02:58.000000000 +0000
+++ llvm-14.0.4.src/test/ExecutionEngine/Interpreter/intrinsics.ll 2022-07-23 06:50:59.336665672 +0000
@@ -13,8 +13,8 @@
declare double @llvm.trunc.f64(double)
declare float @llvm.round.f32(float)
declare double @llvm.round.f64(double)
-declare float @llvm.roundeven.f32(float)
-declare double @llvm.roundeven.f64(double)
+;declare float @llvm.roundeven.f32(float)
+;declare double @llvm.roundeven.f64(double)
declare float @llvm.copysign.f32(float, float)
declare double @llvm.copysign.f64(double, double)
@@ -31,8 +31,8 @@
%trunc64 = call double @llvm.trunc.f64(double 0.000000e+00)
%round32 = call float @llvm.round.f32(float 0.000000e+00)
%round64 = call double @llvm.round.f64(double 0.000000e+00)
- %roundeven32 = call float @llvm.roundeven.f32(float 0.000000e+00)
- %roundeven64 = call double @llvm.roundeven.f64(double 0.000000e+00)
+ ;%roundeven32 = call float @llvm.roundeven.f32(float 0.000000e+00)
+ ;%roundeven64 = call double @llvm.roundeven.f64(double 0.000000e+00)
%copysign32 = call float @llvm.copysign.f32(float 0.000000e+00, float 0.000000e+00)
%copysign64 = call double @llvm.copysign.f64(double 0.000000e+00, double 0.000000e+00)
ret i32 0