Compare commits
6
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9c4ee155d1 | ||
|
|
9b9ff6fd2c | ||
|
|
eaa58e9cdf | ||
|
|
361278a4ff | ||
|
|
7f264de95d | ||
|
|
b47f868309 |
No files matched your search
+1
-1
@@ -89,7 +89,7 @@ update_linux_next() {
|
||||
|
||||
git remote add gitlab https://pmos-ci:"$PMAPORTS_PUSH_TOKEN"@gitlab.postmarketos.org/postmarketOS/pmaports.git
|
||||
git fetch gitlab
|
||||
git checkout --track gitlab/main
|
||||
git checkout --track gitlab/master
|
||||
|
||||
for pkg in $PKGS; do
|
||||
case "$pkg" in
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@
|
||||
if [ "$(id -u)" = 0 ]; then
|
||||
set -x
|
||||
apk -q add py3-pip make git
|
||||
apk add dint --allow-untrusted --repository=https://mirror.postmarketos.org/postmarketos/main
|
||||
apk add dint --allow-untrusted --repository=https://mirror.postmarketos.org/postmarketos/master
|
||||
exec su "${TESTUSER:-build}" -c "sh -e $0"
|
||||
fi
|
||||
|
||||
|
||||
+10
-4
@@ -1,4 +1,4 @@
|
||||
image: registry.alpinelinux.org/img/alpine:3.23
|
||||
image: registry.alpinelinux.org/img/alpine:latest
|
||||
stages:
|
||||
- build
|
||||
- hardware tests
|
||||
@@ -82,13 +82,13 @@ build:
|
||||
|
||||
# Include all the devices that need and can to be tested
|
||||
|
||||
{% for device in devices_under_test %}
|
||||
{% for device in devices_under_test if device.is_present_in_ci %}
|
||||
prepare-{{ device.name }}:
|
||||
stage: hardware tests
|
||||
extends:
|
||||
.pmos-ci-tron-build-boot-artifacts
|
||||
{%- if device.has_kernel_variants %}
|
||||
# Build all the boot artifacts for all the supported kernel variants in
|
||||
# Let's build all the boot artifacts for all the supported kernel variants in
|
||||
# different jobs, but hide them behind a single job name so as not to pollute
|
||||
# the pipeline.
|
||||
parallel:
|
||||
@@ -112,8 +112,10 @@ prepare-{{ device.name }}:
|
||||
|
||||
.test-{{ device.name }}:
|
||||
stage: hardware tests
|
||||
extends:
|
||||
- .pmos-ci-tron-initramfs-test
|
||||
{%- if device.has_kernel_variants %}
|
||||
# Test all the kernels in different jobs, but hide them behind a single
|
||||
# Let's test all the kernels in different jobs, but hide them behind a single
|
||||
# job name so as not to pollute the pipeline.
|
||||
parallel:
|
||||
matrix:
|
||||
@@ -133,6 +135,10 @@ prepare-{{ device.name }}:
|
||||
{%- endif %}
|
||||
variables:
|
||||
CI_TRON__PMB_BUILD_JOB: "prepare-{{ device.name }}{% if device.has_kernel_variants %}: [$KERNEL_VARIANT]{% endif %}"
|
||||
# FIXME: cmdline is hardcoded here, but ideally would be built from
|
||||
# fragments using generate-kernel-cmdline...
|
||||
# See: https://gitlab.freedesktop.org/gfx-ci/ci-tron/-/issues/317
|
||||
CI_TRON_KERNEL_CMDLINE__DEVICEINFO: 'console=tty1 console=ttyS0,115200 PMOS_FORCE_PARTITION_RESIZE psi=1'
|
||||
|
||||
# Include the gitlab ci yml fragment, as found in
|
||||
# `device/$category/device-$devicename/gitlab-ci.yml.j2` which defines the jobs
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
#!/bin/sh -e
|
||||
# Description: Ensure that we're not depending on a too new pmbootstrap version.
|
||||
# https://postmarketos.org/pmb-ci
|
||||
|
||||
if [ "$(id -u)" = 0 ]; then
|
||||
set -x
|
||||
apk -q add coreutils curl jq
|
||||
exec su "${TESTUSER:-build}" -c "sh -e $0"
|
||||
fi
|
||||
|
||||
pmbootstrap_min_age_days="30"
|
||||
pmbootstrap_min_version_field="$(grep pmbootstrap_min_version= pmaports.cfg)"
|
||||
pmbootstrap_min_version="${pmbootstrap_min_version_field#*=}"
|
||||
|
||||
tag_date=$(curl -s "https://gitlab.postmarketos.org/api/v4/projects/postmarketOS%2Fpmbootstrap/repository/tags/$pmbootstrap_min_version" \
|
||||
| jq -r ".created_at")
|
||||
|
||||
tag_age_timestamp=$(date -d "$tag_date" +"%s")
|
||||
acceptable_age_timestamp=$(date -d "$pmbootstrap_min_age_days days ago" +"%s")
|
||||
|
||||
echo "NOTE: pmbootstrap versions must be at least $pmbootstrap_min_age_days days old to be the minimum required version"
|
||||
|
||||
if [ "$tag_age_timestamp" -ge "$acceptable_age_timestamp" ]; then
|
||||
echo "ERROR: pmbootstrap version '$pmbootstrap_min_version' is too new!"
|
||||
exit 1
|
||||
else
|
||||
echo "PASS: pmbootstrap version '$pmbootstrap_min_version' is acceptable"
|
||||
exit 0
|
||||
fi
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
if [ "$(id -u)" = 0 ]; then
|
||||
set -x
|
||||
apk add git python3
|
||||
apk add dint --allow-untrusted --repository=https://mirror.postmarketos.org/postmarketos/main
|
||||
apk add dint --allow-untrusted --repository=https://mirror.postmarketos.org/postmarketos/master
|
||||
exec su "${TESTUSER:-build}" -c "sh -e $0"
|
||||
fi
|
||||
|
||||
|
||||
-51
@@ -1,7 +1,4 @@
|
||||
#!/bin/sh -e
|
||||
|
||||
# shellcheck shell=busybox
|
||||
|
||||
# Description: check various bad patterns with grep
|
||||
# https://postmarketos.org/pmb-ci
|
||||
|
||||
@@ -132,54 +129,6 @@ if [ -n "$CI_MERGE_REQUEST_DIFF_BASE_SHA" ]; then
|
||||
exit_code=1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Find all moved, added, or generally modified kernel APKBUILDs
|
||||
MODIFIED_KERNEL_PACKAGES=$(git show --pretty="" --name-only --diff-filter=AMR "$CI_MERGE_REQUEST_DIFF_BASE_SHA"..HEAD | grep "device/\(main\|community\|testing\|downstream\)/linux-.*/APKBUILD" || true)
|
||||
|
||||
if [ -n "$MODIFIED_KERNEL_PACKAGES" ]; then
|
||||
# Disallow installing kernel modules outside /usr/
|
||||
_bad_module_path_packages=""
|
||||
for package in $MODIFIED_KERNEL_PACKAGES; do
|
||||
# Check for INSTALL_MOD_PATH being set
|
||||
if grep -qr 'INSTALL_MOD_PATH="$pkgdir"' "$package"; then
|
||||
# Check if INSTALL_MOD_PATH is set to install to usr
|
||||
if ! grep -qr 'INSTALL_MOD_PATH="$pkgdir"/usr' "$package"; then
|
||||
# If INSTALL_MOD_PATH doesn't include usr, add package to list and
|
||||
# setup failure
|
||||
_bad_module_path_packages="$_bad_module_path_packages $package"
|
||||
_module_error=1
|
||||
fi
|
||||
fi
|
||||
done
|
||||
# Fail with error and pretty print bad packages for logging
|
||||
if [ -n "$_module_error" ]; then
|
||||
echo "ERROR: Please set INSTALL_MOD_PATH to '\"\$pkgdir\"/usr'."
|
||||
for package in $_bad_module_path_packages; do
|
||||
printf "$package\n"
|
||||
done
|
||||
exit_code=1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Disallow adding packages without a maintainer set
|
||||
NEW_APKBUILDS=$(git show --pretty="" --name-only --diff-filter=A "$CI_MERGE_REQUEST_DIFF_BASE_SHA"..HEAD | grep APKBUILD || true)
|
||||
|
||||
if [ -n "$NEW_APKBUILDS" ]; then
|
||||
if [ -n "$(grep -L '^maintainer="[^"]\+"$' $NEW_APKBUILDS || true)" ]; then
|
||||
echo "ERROR: A new package does not have a maintainer set."
|
||||
grep --color=always -L '^maintainer="[^"]\+"$' $NEW_APKBUILDS
|
||||
exit_code=1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Get latest commit message in MR
|
||||
case "$CI_COMMIT_DESCRIPTION" in
|
||||
*"[ci:skip-grep]"*)
|
||||
echo "WARNING: not checking packages with grep"
|
||||
echo " ([ci:skip-grep])!"
|
||||
exit_code=0
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
exit "$exit_code"
|
||||
@@ -24,7 +24,7 @@ def get_package_contents(package, revision, check=True):
|
||||
if not check:
|
||||
stderr = subprocess.DEVNULL
|
||||
|
||||
# Run something like "git show upstream/main:main/hello-world/APKBUILD"
|
||||
# Run something like "git show upstream/master:main/hello-world/APKBUILD"
|
||||
pmaports_dir = common.get_pmaports_dir()
|
||||
pattern = pmaports_dir + "/**/" + package + "/APKBUILD"
|
||||
path = glob.glob(pattern, recursive=True)[0][len(pmaports_dir + "/"):]
|
||||
@@ -137,7 +137,7 @@ def check_versions(packages):
|
||||
pkgver = head.rpartition('-r')[0]
|
||||
if package.startswith('device-') and not pkgver.isdigit():
|
||||
print(f" - {package}: invalid pkgver \"{pkgver}\""
|
||||
"See: https://docs.postmarketos.org/pmaports/main/packaging-guidelines.html#package-versioning-pkgver-pkgrel")
|
||||
"See: https://wiki.postmarketos.org/wiki/Packaging#device_packages_and_other_packages_without_sources")
|
||||
error = True
|
||||
|
||||
# Additional checks for device packages
|
||||
@@ -145,11 +145,27 @@ def check_versions(packages):
|
||||
head_parsed = get_package_contents(package, "HEAD", False)
|
||||
upstream_parsed = get_package_contents(package, commit, False)
|
||||
|
||||
# Check that pkgrel was reset to 0 when pkgver was changed
|
||||
if head_parsed["pkgver"] != upstream_parsed["pkgver"] and head_parsed["pkgrel"] != "0":
|
||||
print(f" - {package}: pkgrel should be 0 when pkgver changes."
|
||||
"See: https://docs.postmarketos.org/pmaports/main/packaging-guidelines.html#package-versioning-pkgver-pkgrel")
|
||||
error = True
|
||||
# checksums did not change
|
||||
if head_parsed["sha512sums"] == upstream_parsed["sha512sums"]:
|
||||
# Check that pkgver did not change
|
||||
if head_parsed["pkgver"] != upstream_parsed["pkgver"]:
|
||||
print(f" - {package}: pkgver should not change when package source checksums did not change."
|
||||
"See: https://wiki.postmarketos.org/wiki/Packaging#device_packages_and_other_packages_without_sources")
|
||||
error = True
|
||||
# We do not check for a bumped pkgrel, because not everything
|
||||
# needs it, e.g: pmb_recommends
|
||||
# checksums changed
|
||||
else:
|
||||
# Check that pkgrel was reset to 0
|
||||
if head_parsed["pkgrel"] != "0":
|
||||
print(f" - {package}: pkgrel should be 0 when package source checksums change."
|
||||
"See: https://wiki.postmarketos.org/wiki/Packaging#device_packages_and_other_packages_without_sources")
|
||||
error = True
|
||||
# Check that pkgver was changed
|
||||
if head_parsed["pkgver"] == upstream_parsed["pkgver"]:
|
||||
print(f" - {package}: pkgver should change when package source checksums change."
|
||||
"See: https://wiki.postmarketos.org/wiki/Packaging#device_packages_and_other_packages_without_sources")
|
||||
error = True
|
||||
|
||||
# Compare head and upstream versions
|
||||
result = pmb.parse.version.compare(head, upstream)
|
||||
|
||||
@@ -90,7 +90,7 @@ def main() -> int:
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--booting", help="devices must be in the upper table,"
|
||||
" being in the 'not booting' table below is not"
|
||||
" enough (all devices in pmaports main and stable"
|
||||
" enough (all devices in pmaports master and stable"
|
||||
" branches and should be in the upper table)",
|
||||
action="store_true")
|
||||
parser.add_argument("--path", help="instead of downloading the devices"
|
||||
|
||||
+3
-10
@@ -48,7 +48,7 @@ def run_pmbootstrap(parameters):
|
||||
@cache
|
||||
def get_upstream_branch():
|
||||
""" Use pmaports.cfg from current branch (e.g. "v20.05_fix-ci") and
|
||||
channels.cfg from main to retrieve the upstream branch.
|
||||
channels.cfg from master to retrieve the upstream branch.
|
||||
|
||||
:returns: branch name, e.g. "v20.05" """
|
||||
|
||||
@@ -65,7 +65,7 @@ def get_upstream_branch():
|
||||
|
||||
# Get branch_pmaports (e.g. "v20.05") from channels.cfg
|
||||
# https://postmarketos.org/channels.cfg
|
||||
channels_cfg_str = run_git(["show", "upstream/main:channels.cfg"])
|
||||
channels_cfg_str = run_git(["show", "upstream/master:channels.cfg"])
|
||||
channels_cfg = configparser.ConfigParser()
|
||||
channels_cfg.read_string(channels_cfg_str)
|
||||
assert channel in channels_cfg, \
|
||||
@@ -139,14 +139,7 @@ def get_changed_packages(skip_archived: bool = False):
|
||||
# Skip files:
|
||||
# * in the root dir of pmaports (e.g. README.md)
|
||||
# * path with a dot (e.g. .ci/, device/.shared-patches/)
|
||||
# * documentation
|
||||
if (
|
||||
not dirname
|
||||
or file.startswith(".")
|
||||
or "/." in file
|
||||
or skip_archived and dirname.startswith("device/archived")
|
||||
or dirname == "docs"
|
||||
):
|
||||
if not dirname or file.startswith(".") or "/." in file or skip_archived and dirname.startswith("device/archived"):
|
||||
continue
|
||||
|
||||
if filename != "APKBUILD":
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
import common
|
||||
import glob
|
||||
import os.path
|
||||
import subprocess
|
||||
import sys
|
||||
@@ -12,15 +11,9 @@ if __name__ == "__main__":
|
||||
if common.commit_message_has_string("[ci:skip-dint]"):
|
||||
print("WARNING: not linting deviceinfo files ([ci:skip-dint])")
|
||||
exit(0)
|
||||
|
||||
if "deviceinfo_schema.toml" in common.get_changed_files():
|
||||
print("deviceinfo_schema.toml changed -> checking all deviceinfo files")
|
||||
pmaports_dir = common.get_pmaports_dir()
|
||||
deviceinfo_files = set(glob.glob(pmaports_dir + "/device/*/*/deviceinfo"))
|
||||
else:
|
||||
# only lint deviceinfo files in the devices repo
|
||||
deviceinfo_files = {file for file in common.get_changed_files()
|
||||
if os.path.basename(file) == "deviceinfo" and file.startswith("device/")}
|
||||
# only lint deviceinfo files in the devices repo
|
||||
deviceinfo_files = {file for file in common.get_changed_files()
|
||||
if os.path.basename(file) == "deviceinfo" and file.startswith("device/")}
|
||||
|
||||
try:
|
||||
subprocess.run(["dint", "check", *deviceinfo_files], text=True, check=True)
|
||||
|
||||
@@ -44,6 +44,10 @@ class Device:
|
||||
|
||||
return Template(fragment_tmpl).render(device=self)
|
||||
|
||||
@property
|
||||
def is_present_in_ci(self):
|
||||
return bool(self.gitlab_ci_fragment)
|
||||
|
||||
@cached_property
|
||||
def pmaports_path(self) -> Path:
|
||||
# Find the root of pmaports
|
||||
@@ -73,7 +77,7 @@ class Device:
|
||||
return {"postmarketos-mkinitfs-hook-ci"}
|
||||
|
||||
@cached_property
|
||||
def package_dependencies(self) -> set[str]:
|
||||
def package_dependencies(self) -> list[str]:
|
||||
# HACK: Work around a bug in depends_recurse which prevents listing all the dependencies
|
||||
# Bug: https://gitlab.postmarketos.org/postmarketOS/pmbootstrap/-/issues/2623
|
||||
return {"postmarketos-initramfs"}
|
||||
@@ -125,7 +129,7 @@ class Device:
|
||||
dev = cls(device.codename)
|
||||
|
||||
# Ignore devices that do not have a gitlab ci fragment,
|
||||
# since adding that fragment is how we mark them as DUTs
|
||||
# since we won't be able to make use of them
|
||||
if not dev.gitlab_ci_fragment:
|
||||
continue
|
||||
|
||||
@@ -211,9 +215,9 @@ if __name__ == "__main__":
|
||||
archtag={
|
||||
Arch.x86_64: "shared",
|
||||
Arch.x86: "shared",
|
||||
Arch.aarch64: "aarch64",
|
||||
Arch.armv7: "armv7",
|
||||
Arch.armhf: "armhf",
|
||||
Arch.aarch64: "arm64",
|
||||
Arch.armv7: "qemu",
|
||||
Arch.armhf: "qemu",
|
||||
Arch.riscv64: "qemu",
|
||||
Arch.ppc64le: "ppc64le",
|
||||
Arch.loongarch64: "loongarch64",
|
||||
|
||||
@@ -36,28 +36,17 @@ if __name__ == "__main__":
|
||||
# aports later. We might be given a changed aport from e.g. extra-repos/systemd when
|
||||
# that repo is not enabled
|
||||
buildable_pkgs = set()
|
||||
archived = set()
|
||||
for path in pmb.core.pkgrepo.pkgrepo_iter_package_dirs():
|
||||
# Store archived packages for matching later
|
||||
if os.path.split(os.path.split(path)[0])[1] == 'archived':
|
||||
archived.add(os.path.basename(path))
|
||||
continue
|
||||
buildable_pkgs.add(os.path.basename(path))
|
||||
|
||||
# To store a list of packages from extra-repos/systemd for special handling
|
||||
# later:
|
||||
systemd_pkgs = list()
|
||||
|
||||
# Filter out packages are not found in enabled repos or are in archived
|
||||
# Filter out packages are not found in enabled repos
|
||||
# (Iterate over copy of packages, because we modify it in this loop)
|
||||
for package in packages.copy():
|
||||
if package not in buildable_pkgs:
|
||||
# Specifically handle archived since it could include packages
|
||||
# who's sources are dead
|
||||
if package in archived:
|
||||
print(f"{package}: archived, skipping")
|
||||
packages.remove(package)
|
||||
continue
|
||||
print(f"{package}: not in current repo, skipping")
|
||||
packages.remove(package)
|
||||
# FIXME: this should probably be more generic, if other repos are added
|
||||
|
||||
-16
@@ -1,16 +0,0 @@
|
||||
#!/bin/sh -e
|
||||
# Description: static type checking for python scripts
|
||||
# https://postmarketos.org/pmb-ci
|
||||
|
||||
if [ "$(id -u)" = 0 ]; then
|
||||
set -x
|
||||
apk -q add py3-argcomplete py3-pip py3-pytest
|
||||
exec su "${TESTUSER:-build}" -c "sh -e $0"
|
||||
fi
|
||||
|
||||
set -x
|
||||
|
||||
pip install --break-system-packages --no-warn-script-location mypy
|
||||
# Need to change directory for pyproject.toml to be picked up.
|
||||
cd .ci
|
||||
python -m mypy .
|
||||
@@ -1,2 +0,0 @@
|
||||
[tool.mypy]
|
||||
disable_error_code = ["import-not-found"]
|
||||
@@ -16,9 +16,6 @@ fi
|
||||
sh_files="
|
||||
./main/mdss-fb-init-hack/mdss-fb-init-hack.sh
|
||||
./main/postmarketos-base-ui/rootfs-usr-lib-NetworkManager-dispatcher.d-50-dns-filter.sh
|
||||
./main/postmarketos-duranium/rootfs-usr-bin-duranium-set-channel
|
||||
./main/postmarketos-duranium/rootfs-usr-libexec-duranium-first-boot
|
||||
./main/postmarketos-duranium/rootfs-usr-libexec-duranium-usb-gadget-setup
|
||||
./main/postmarketos-installkernel/installkernel-pmos
|
||||
./main/postmarketos-initramfs/init.sh
|
||||
./main/postmarketos-initramfs/init_functions.sh
|
||||
|
||||
@@ -62,18 +62,6 @@ ruff:
|
||||
- .ci/lib/gitlab_prepare_ci.sh
|
||||
- .ci/ruff.sh
|
||||
|
||||
# testcases typechecking
|
||||
mypy:
|
||||
stage: lint
|
||||
rules:
|
||||
- if: *mr_rule
|
||||
changes:
|
||||
- .ci/**/*
|
||||
- .gitlab-ci.yml
|
||||
script:
|
||||
- .ci/lib/gitlab_prepare_ci.sh
|
||||
- .ci/mypy.sh
|
||||
|
||||
# shellcheck and various grep checks
|
||||
shellcheck-grep:
|
||||
stage: lint
|
||||
@@ -128,7 +116,6 @@ dint:
|
||||
- .ci/**/*
|
||||
- .gitlab-ci.yml
|
||||
- device/*/device-*/deviceinfo
|
||||
- deviceinfo_schema.toml
|
||||
script:
|
||||
- .ci/lib/gitlab_prepare_ci.sh
|
||||
- .ci/dint.sh
|
||||
@@ -172,18 +159,6 @@ mr-settings:
|
||||
- wget -q "https://gitlab.postmarketos.org/postmarketOS/ci-common/-/raw/main/check_mr_settings.py"
|
||||
- python3 ./check_mr_settings.py
|
||||
|
||||
pmbootstrap minimum version:
|
||||
stage: lint
|
||||
rules:
|
||||
- if: *mr_rule
|
||||
changes:
|
||||
- .ci/check-pmbootstrap-min-version.sh
|
||||
- .gitlab-ci.yml
|
||||
- pmaports.cfg
|
||||
script:
|
||||
- .ci/lib/gitlab_prepare_ci.sh
|
||||
- .ci/check-pmbootstrap-min-version.sh
|
||||
|
||||
# Calculate build of changed aports using a dynamic downstream pipelines:
|
||||
# https://docs.gitlab.com/ci/pipelines/downstream_pipelines/#dynamic-child-pipelines
|
||||
# For those to work, we need two jobs:
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<!--
|
||||
Replace space inside `[ ]` with `x` to fill the checkbox
|
||||
-->
|
||||
* [ ] edge (`main` branch)
|
||||
* [ ] edge (`master` branch)
|
||||
* [ ] `v25.12`
|
||||
|
||||
* [ ] I confirm that the issue still is present after running `sudo apk upgrade -a`
|
||||
@@ -35,7 +35,7 @@
|
||||
#### Environments
|
||||
* [ ] COSMIC
|
||||
* [ ] GNOME Shell on Mobile
|
||||
* [ ] Phosh (*Please attach the debug information of the Mobile settings app, see [this video](https://peertube.debian.social/w/4GwDjCJNcAmp8cb7dqXz1T) or use `phosh-mobile-settings -d`*)
|
||||
* [ ] Phosh
|
||||
* [ ] Plasma Mobile
|
||||
* [ ] Sxmo (Wayland/Sway) **Please post the output of `sxmo_version.sh`**
|
||||
* [ ] Other: **Please fill out**
|
||||
|
||||
@@ -8,8 +8,4 @@
|
||||
* Maintainers of the package:
|
||||
* MR that had no maintainer response, if applicable:
|
||||
|
||||
If the maintainers don't reply within two weeks of opening this issue, the
|
||||
package is considered orphaned and, in the case of device packages, the devices
|
||||
will be moved to the archived category.
|
||||
|
||||
/label ~maintainership-status
|
||||
@@ -1,22 +0,0 @@
|
||||
<!-- Use this template to notify community kernel maintainers that their
|
||||
kernels are out-of-date and start the timer for moving them to testing.
|
||||
-->
|
||||
|
||||
Hi, as per our
|
||||
[device categorization requirements for the community category](https://docs.postmarketos.org/pmaports/main/device-categorization.html#community),
|
||||
devices in the community category may not use a kernel version older than 6
|
||||
months.
|
||||
|
||||
As of today (dd-mm-yyyy), the following kernels do not meet this requirement:
|
||||
|
||||
* kernel-pkgname: kernel-pkgver, version-release-date (maintainers: @ ...)
|
||||
|
||||
This issue is an attempt to notify you (the maintainers) of the situation so
|
||||
that you can update the packages. As per the rules, you have two weeks to
|
||||
update the packages or reply with a request for more time, up to one month
|
||||
of time from the moment this issue is opened. If that time passes and the
|
||||
devices still no longer meet the requirements, they will be moved to testing.
|
||||
|
||||
/label ~"device-category::community"
|
||||
/label ~kernel
|
||||
/label ~"type::policy"
|
||||
@@ -1,29 +0,0 @@
|
||||
<!--
|
||||
This template is for marking a postmarketOS stable release as EOL.
|
||||
|
||||
Name this issue "vYY.MM EOL".
|
||||
-->
|
||||
|
||||
When the release has reached its EOL date:
|
||||
|
||||
- [ ] `postmarketos-base-ui`: let it depend on
|
||||
`postmarketos-release-upgrade-notification` and bump pkgrel
|
||||
- [ ] ensure it builds locally with pmbootstrap
|
||||
- [ ] push it to the branch
|
||||
- [ ] make sure bpo built and released the updated packages
|
||||
- [ ] drop the old release from
|
||||
[monitoring](https://gitlab.postmarketos.org/postmarketOS/monitoring)
|
||||
- [ ] drop the "oldold -> old" release check from
|
||||
[postmarketos-release-upgrade](https://gitlab.postmarketos.org/postmarketOS/postmarketos-release-upgrade/)
|
||||
CI
|
||||
- [ ] bpo: configure images so they don't get built for the old release anymore
|
||||
- [ ] bpo: configure branches so we don't try to build packages for old
|
||||
branches anymore
|
||||
- e.g. on startup all branches are checked for new packages, we should keep
|
||||
the amount of branches that get checked minimal
|
||||
- [ ] pmaports.git channels.cfg: change description:
|
||||
- "Old release (unsupported)"
|
||||
- [ ] Update the [Releases](https://docs.postmarketos.org/pmaports/main/releases.html) page
|
||||
- Move the release from active to old
|
||||
- [ ] Consider removing images for the previous releases to save disk space
|
||||
(people can build their own images with pmbootstrap if needed)
|
||||
@@ -1,221 +0,0 @@
|
||||
<!--
|
||||
This template is for creating a new postmarketOS stable release.
|
||||
|
||||
Name this issue "vYY.MM Infrastructure".
|
||||
-->
|
||||
|
||||
Person in charge of the release (doesn't have to do all the work, but has to
|
||||
push it forward):
|
||||
<!-- Put your usename here and assign yourself to this issue -->
|
||||
|
||||
### Preparation
|
||||
- [ ] Create the gitlab milestone for the release
|
||||
- [ ] Add this infrastructure issue to the milestone
|
||||
- [ ] Update the
|
||||
[timeline](https://docs.postmarketos.org/policies-and-processes/development/releases/current-timeline.html)
|
||||
for the next release
|
||||
|
||||
### Pre-Build phase
|
||||
|
||||
This phase is to get some extra time for building packages. The branch will be rebased once in the branch phase.
|
||||
|
||||
#### Requirements
|
||||
|
||||
- [ ] Alpine's main repository must be built and published
|
||||
- [ ] Alpine's community repository must be built and published
|
||||
|
||||
#### pmbootstrap: adjust config
|
||||
- [ ] Update `pmb/config/__init__.py:apk_tools_min_version`. This should be a
|
||||
trivial change, push it directly to main.
|
||||
- [ ] (can be done later, at start of test phase) make a new [pmbootstrap
|
||||
release](https://wiki.postmarketos.org/wiki/Pmbootstrap_release) <small>bpo
|
||||
uses the main branch, so it will be fine without a release, however users
|
||||
will want to try out the new release and may not run main.</small>
|
||||
|
||||
#### pmaports: create branch and initial changes
|
||||
- [ ] `git checkout -b vYY.MM main`
|
||||
- [ ] Create a `=== Branch vYY.MM from main ===` commit
|
||||
- Remove channels.cfg (should only be in main)
|
||||
- Change `channel=edge` to `channel=vYY.MM` in pmaports.cfg
|
||||
- Change `supported_arches` to `x86_64,aarch64,armv7` in pmaports.cfg
|
||||
- Disable x86, armhf, riscv64 in .ci/build-jobs.yaml.j2 on the release branch
|
||||
and delete `.ci/build-*` scripts for these arches
|
||||
- [ ] `git push`
|
||||
- [ ] '''protect the new release branch in gitlab''', so nobody can force-push to it
|
||||
|
||||
#### pmaports: update main branch
|
||||
- [ ] `git checkout main`
|
||||
- [ ] Add the new branch to
|
||||
[channels.cfg](https://wiki.postmarketos.org/wiki/Channels.cfg_reference),
|
||||
[like this](https://gitlab.postmarketos.org/postmarketOS/pmaports/-/commit/c43571ceaf9b8155519bc9fb760bdeccd96e7e9c)
|
||||
- [ ] `git push`
|
||||
|
||||
#### pmaports: update os-release / remove packages / aportgen
|
||||
- [ ] `git checkout vYY.MM`
|
||||
- [ ] Update `postmarketos-base`:
|
||||
- [ ] Set version info for `/usr/lib/os-release` in
|
||||
`main/postmarketos-base/rootfs-usr-lib-os-release`
|
||||
(`PRETTY_NAME="postmarketOS vYY.MM"`, `VERSION_ID="vYY.MM"`,
|
||||
`VERSION="vYY.MM"`)
|
||||
- `pmbootstrap pkgrel_bump postmarketos-base`
|
||||
- `pmbootstrap config mirrors.pmaports none`
|
||||
- `pmbootstrap config mirrors.systemd none`
|
||||
- `pmbootstrap checksum postmarketos-base`
|
||||
- `git commit`
|
||||
- [ ] Remove packages:
|
||||
- `cross/*-armhf` and other unsupported arches in cross dir (keep `gcc-x86` and `musl-dev-x86`, `systemd-boot-x86`)
|
||||
- `main/postmarketos-ui-asteroid` (no smartwatches are useful on stable branches at the moment)
|
||||
- `gcc4*` and `gcc6*` from main and cross dirs
|
||||
- `device/downstream`, `device/archived`
|
||||
- [ ] Run `pmbootstrap aportgen` for packages in cross
|
||||
- [ ] `git push`
|
||||
|
||||
#### bpo: adjust config
|
||||
- [ ] Add the branch to the
|
||||
[build.postmarketos.org](https://gitlab.postmarketos.org/postmarketOS/build.postmarketos.org)
|
||||
config in `bpo/config/const/__init__.py:branches` below `branches["main"]`,
|
||||
so it builds with lower priority than main until it's released. Set `ignore_errors` to `True`.
|
||||
- [ ] Make a merge request, wait until CI passes, merge it (or if you can directly push to main that's also fine since it's a trivial change)
|
||||
- [ ] Roll it out/ask somebody who can do that
|
||||
- [ ] Restart bpo, it will start building `x86_64` packages
|
||||
|
||||
#### bootstrap of binary packages
|
||||
- [ ] Fix failing `x86_64` packages (Remember: patches need to go through edge
|
||||
first, then get backported to the stable branch!)
|
||||
- Try to get build fixes merged to edge quickly, ask for reviews in
|
||||
#postmarketos-devel, and consider merging trivial fixes right after they
|
||||
pass CI.
|
||||
- Devices in testing and archived categories that don't build: consider
|
||||
trying to fix them, or just delete them from the branch
|
||||
- [ ] Wait until all packages for `x86_64` are built and published
|
||||
- [ ] Fix up ARM packages too
|
||||
- [ ] Wait until all packages for ARM are built and published
|
||||
|
||||
#### Wallpaper poll
|
||||
- [ ] Team meeting: make a short list of 4 wallpapers from [the
|
||||
pool](https://gitlab.postmarketos.org/postmarketOS/artwork/-/tree/main/wallpapers/2024)
|
||||
- [ ] Make a poll on the wallpapers on mastodon
|
||||
([example](https://fosstodon.org/@postmarketOS/113624366198561582))
|
||||
- Make sure to thank the wallpaper authors (usually dikasp) for the amazing
|
||||
work on the wallpapers
|
||||
- Put the names of the wallpapers on top of the wallpapers for easier voting
|
||||
and as alt text
|
||||
- Create a comment with poll options
|
||||
|
||||
#### Adjust CI
|
||||
- [ ] Make sure pmaports.git CI runs through on the new branch (run
|
||||
`pmbootstrap ci`). Examples of why it might fail:
|
||||
- One postmarketos-ui package has a package from alpine testing in their
|
||||
_pmb_recommends.
|
||||
- Remove the UI if it is not used much (can bring it back on demand) or
|
||||
fork the package to the new branch
|
||||
- Consider fixing it in edge, so we don't run into this with the next
|
||||
release
|
||||
- [ ] Adjust
|
||||
[upstream-compat](https://gitlab.postmarketos.org/postmarketOS/continuous-testing/upstream-compat)
|
||||
to run on the new release and make sure it passes
|
||||
([example](https://gitlab.postmarketos.org/postmarketOS/continuous-testing/upstream-compat/-/merge_requests/10))
|
||||
|
||||
#### Adjust release upgrade script
|
||||
- [ ] Add the new release to `upgrade.sh` in [postmarketos-release-upgrade](https://gitlab.postmarketos.org/postmarketOS/postmarketos-release-upgrade/)
|
||||
- [ ] Bump `SCRIPT_VERSION`, tag a new release
|
||||
- [ ] Package it for edge (make MR), backport it to the new release, but NOT to
|
||||
the old release yet (otherwise users may upgrade by accident, without
|
||||
realizing that the new version is not out yet!)
|
||||
- [ ] Adjust CI of postmarketos-release-upgrade to test the new release too
|
||||
(`git grep` for the previous release to see what needs to be adjusted)
|
||||
|
||||
### Update the wallpaper
|
||||
- [ ] Set the wallpaper that won in the poll in edge, backport this change to
|
||||
the stable release branch
|
||||
|
||||
### Branch phase
|
||||
|
||||
#### Rebase on main
|
||||
- [ ] `git checkout vYY.MM`
|
||||
- [ ] `git rebase -i origin/main`
|
||||
- [ ] Temporarily enable force-push for the `vYY.MM` branch
|
||||
- [ ] `git push --force-with-lease`
|
||||
- [ ] Disable force-push for the `vYY.MM` branch again
|
||||
|
||||
#### Update BPO config
|
||||
- [ ] Update bpo's images config to build images for the new branch for all
|
||||
devices in community and main, except for:
|
||||
- qemu-*
|
||||
- [ ] bpo: configure the new branch to be not WIP anymore
|
||||
- [ ] Roll-out bpo changes
|
||||
|
||||
#### pmb release done?
|
||||
- [ ] Ensure that a pmbootstrap release been made with the apk-tools min
|
||||
version change
|
||||
|
||||
### Test phase
|
||||
- [ ] Create an issue in pmaports with a checklist of devices and UIs in main
|
||||
and community (see previous issue for reference)
|
||||
- Tag the testers of each device and UI
|
||||
- Ask to verify that the images work as expected
|
||||
- Release upgrade script: when coming from the previous release, grab it from
|
||||
main: `wget https://gitlab.postmarketos.org/postmarketOS/postmarketos-release-upgrade/-/raw/main/upgrade.sh`
|
||||
- [ ] Announce the new phase in the testing chat - and ask them to do the
|
||||
testing within one week, as in the timeline.
|
||||
- Prioritize merging fixes from maintainers (they do the heavy lifting in the
|
||||
testing and fixing phase, see timetable)
|
||||
- Make sure to properly cherry pick fixes from MRs to edge, if they are
|
||||
intended for the upcoming release
|
||||
- [ ] Add new version to the pmaports gitlab issue template (.gitlab dir)
|
||||
|
||||
### Release phase
|
||||
- [ ] Did a reasonable amount of devices get tested? (we may consider dropping
|
||||
devices that were not tested)
|
||||
- [ ] Make sure all fixes are in
|
||||
- [ ] Make sure new images are generated *with* the fixes (unless it's a fix
|
||||
for something that doesn't impact the experience much and is fine to get with
|
||||
the first update after installing)
|
||||
- [ ] Announce the new phase in the testing chat, together with the planned
|
||||
date of blog post release (and testing)
|
||||
|
||||
#### Write blog post
|
||||
- [ ] Write a blog post for the new release in `postmarketos.org.git`:
|
||||
- Look at the previous release blog post and try to make the new one
|
||||
consistent with it
|
||||
- Highlight major changes since the last release
|
||||
(see the release notes issue)
|
||||
- Mention new devices, and total list of devices
|
||||
- Count devices that have their own wiki page as separate device
|
||||
- E.g. OnePlus 6, 6T are two devices (two wiki pages), but variants of
|
||||
"Samsung Galaxy A3 (2015)" are one device (one wiki page)
|
||||
- Don't count/list devices for which we don't build images (e.g.
|
||||
qemu-amd64)
|
||||
- Adjust the homepage config to point to the new release in the downloads
|
||||
page
|
||||
- update `config/download.py`:
|
||||
- `latest_release`
|
||||
- update devices and categories. only list the ones where we actually build images.
|
||||
- Add some cool photos
|
||||
- Submit the blog post as MR to postmarketos.org.git.
|
||||
- Let the blog post MR close the current release notes issue.
|
||||
- Ask for reviews.
|
||||
|
||||
#### Release!
|
||||
- [ ] Backport the new postmarketos-release-upgrade version that allows
|
||||
upgrading to the new release, to the previous release (don't do this before
|
||||
the release is tested and ready! During the testing phase, we can use
|
||||
postmarketos-release-upgrade from main directly: `wget
|
||||
https://gitlab.postmarketos.org/postmarketOS/postmarketos-release-upgrade/-/raw/main/upgrade.sh`)
|
||||
- [ ] Add the branch to pkgs.postmarketos.org
|
||||
- [ ] Merge the blog post
|
||||
- [ ] Edit channels.cfg, change descriptions:
|
||||
- New release: "Latest release / Recommended for best stability"
|
||||
- Old release: "Old release (supported until YYYY-MM-DD)" (one month from date of the release)
|
||||
- [ ] Create a milestone for the next release
|
||||
- [ ] Create an issue for the next release notes and attach it to that milestone
|
||||
- [ ] Update the [Releases](https://docs.postmarketos.org/pmaports/main/releases.html) page
|
||||
- Move the new release to the list of active releases, link to the blog post
|
||||
- Update the announcement and title for the release
|
||||
- Add a new upcoming release below
|
||||
- [ ] Update [Template:Latest stable release](https://wiki.postmarketos.org/wiki/Template:Latest_stable_release) on the wiki with the new version
|
||||
- [ ] Update "Default description template for issues" in pmaports (.gitlab dir)
|
||||
- In "On what postmarketOS version did you encounter the issue?", change:
|
||||
- previous release: add " (supported until YYYY-MM-DD)"
|
||||
- add the new release
|
||||
- [ ] Put a reminder in recurring-admin-tasks to drop support for the old release
|
||||
@@ -5,12 +5,10 @@ This repository contains the APKBUILD files for postmarketOS-specific packages,
|
||||
There are many more packages defined in the [Alpine Linux aports](https://gitlab.alpinelinux.org/alpine/aports/) on which these packages depend.
|
||||
|
||||
Helpful resources:
|
||||
|
||||
* [Issues](https://gitlab.postmarketos.org/postmarketOS/pmaports/-/work_items)
|
||||
* [How to create a package](https://wiki.postmarketos.org/wiki/Create_a_package)
|
||||
* [APKBUILD reference](https://wiki.alpinelinux.org/wiki/APKBUILD_Reference)
|
||||
* [pmaports commit style](./COMMITSTYLE.md)
|
||||
* [Approval rules](docs/approval-rules.md)
|
||||
* [Review and merging guidelines](./docs/modules/ROOT/pages/merging-rules.adoc)
|
||||
* [Alpine Linux aports](https://gitlab.alpinelinux.org/alpine/aports/)
|
||||
* [Alpine Linux package search](https://pkgs.alpinelinux.org/packages)
|
||||
* [postmarketOS package search](https://pkgs.postmarketos.org/packages)
|
||||
|
||||
+1
-7
@@ -4,16 +4,10 @@ recommended=edge
|
||||
|
||||
[edge]
|
||||
description=Rolling release / Most devices / Occasional breakage: https://postmarketos.org/edge
|
||||
branch_pmaports=main
|
||||
branch_pmaports=master
|
||||
branch_aports=master
|
||||
mirrordir_alpine=edge
|
||||
|
||||
[v26.06]
|
||||
description=Upcoming stable release (DO NOT USE)
|
||||
branch_pmaports=v26.06
|
||||
branch_aports=3.24-stable
|
||||
mirrordir_alpine=v3.24
|
||||
|
||||
[v25.12]
|
||||
description=Latest release / Recommended for best stability
|
||||
branch_pmaports=v25.12
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
# This package gets installed in the native and foreign arch chroots.
|
||||
# It creates files like /usr/lib/arch-bin-masquerade/armhf/gcc, which
|
||||
# point in the native chroot to the armhf-cross-compiler, and in the
|
||||
# armhf chroot to /usr/bin/gcc. That way compilation works fine, even
|
||||
# when distcc gets the absolute path to the compiler passed (ccache does
|
||||
# that).
|
||||
maintainer=""
|
||||
pkgname=arch-bin-masquerade
|
||||
pkgver=2
|
||||
pkgrel=0
|
||||
pkgdesc="Wrappers for ccache + distcc (native and foreign chroots)"
|
||||
url="https://postmarketOS.org"
|
||||
arch="all"
|
||||
license="MIT"
|
||||
options="!check !tracedeps pmb:cross-native"
|
||||
|
||||
package() {
|
||||
# Architectures and binaries
|
||||
_archs="x86_64 armhf armv7 aarch64"
|
||||
_bins="c++ cc cpp g++ gcc"
|
||||
|
||||
# Iterate over architectures
|
||||
for _arch in $_archs; do
|
||||
# Create the arch-specific bin folder
|
||||
_hostspec="$(arch_to_hostspec $_arch)"
|
||||
_bindir="$pkgdir/usr/lib/arch-bin-masquerade/$_arch"
|
||||
mkdir -p "$_bindir"
|
||||
cd "$_bindir"
|
||||
|
||||
# Iterate over binaries and create wrappers
|
||||
for _bin in $_bins; do
|
||||
{
|
||||
echo "#!/bin/sh"
|
||||
if [ "$_arch" == "$CARCH" ]; then
|
||||
echo "exec /usr/bin/${_bin} \"\$@\""
|
||||
else
|
||||
echo "exec /usr/bin/${_hostspec}-${_bin} \"\$@\""
|
||||
fi
|
||||
} > "$_bin"
|
||||
chmod +x "$_bin"
|
||||
done
|
||||
done
|
||||
}
|
||||
@@ -1,31 +0,0 @@
|
||||
Provide struct_sock_fprog_sz on Linux, rather than on Linux+glibc.
|
||||
|
||||
With `#include <linux/filter.h>` `struct sock_fprog` is available when
|
||||
linux headers are available. It seems that glibc is just including that header
|
||||
as an implementation detail, while musl does not.
|
||||
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp 2025-08-08 08:51:45.621434001 +0200
|
||||
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp 2026-02-25 20:29:28.519492722 +0100
|
||||
@@ -74,6 +74,7 @@
|
||||
#include <sys/vt.h>
|
||||
#include <linux/cdrom.h>
|
||||
#include <linux/fd.h>
|
||||
+#include <linux/filter.h>
|
||||
#if SANITIZER_ANDROID
|
||||
#include <linux/fs.h>
|
||||
#endif
|
||||
@@ -507,6 +508,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(El
|
||||
unsigned struct_seq_event_rec_sz = sizeof(struct seq_event_rec);
|
||||
unsigned struct_synth_info_sz = sizeof(struct synth_info);
|
||||
unsigned struct_vt_mode_sz = sizeof(struct vt_mode);
|
||||
+ unsigned struct_sock_fprog_sz = sizeof(struct sock_fprog);
|
||||
#endif // SANITIZER_LINUX
|
||||
|
||||
#if SANITIZER_GLIBC
|
||||
@@ -534,7 +536,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(El
|
||||
|
||||
unsigned struct_audio_buf_info_sz = sizeof(struct audio_buf_info);
|
||||
unsigned struct_ppp_stats_sz = sizeof(struct ppp_stats);
|
||||
- unsigned struct_sock_fprog_sz = sizeof(struct sock_fprog);
|
||||
# endif // SANITIZER_GLIBC
|
||||
|
||||
# if !SANITIZER_ANDROID && !SANITIZER_APPLE
|
||||
@@ -1,6 +1,7 @@
|
||||
# Automatically generated aport, do not edit!
|
||||
# Generator: pmbootstrap aportgen gcc-aarch64
|
||||
# Based on: main/gcc (from Alpine)
|
||||
|
||||
CTARGET_ARCH=aarch64
|
||||
CTARGET="$(arch_to_hostspec ${CTARGET_ARCH})"
|
||||
LANG_D=false
|
||||
@@ -22,7 +23,6 @@ CBUILDROOT="/"
|
||||
|
||||
_cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
|
||||
|
||||
maintainer="Oliver Smith <ollieparanoid@postmarketos.org>"
|
||||
pkgname=gcc-aarch64
|
||||
pkgver=15.2.0
|
||||
# i.e. 13.2.1, must match gcc/BASE-VER
|
||||
@@ -34,23 +34,19 @@ _pkgsnap="${pkgver##*_git}"
|
||||
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
|
||||
|
||||
pkgname=gcc-aarch64
|
||||
pkgrel=5
|
||||
pkgrel=2
|
||||
pkgdesc="Stage2 cross-compiler for aarch64"
|
||||
url="https://gcc.gnu.org"
|
||||
arch="x86_64"
|
||||
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
|
||||
_gccrel=$pkgver-r$pkgrel
|
||||
depends="binutils-aarch64 mpc1 so:libgcc_s.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libstdc++.so.6 so:libz.so.1"
|
||||
|
||||
case "$CARCH" in
|
||||
x86_64) depends="$depends so:libc.musl-x86_64.so.1" ;;
|
||||
esac
|
||||
depends="binutils-aarch64 mpc1 so:libc.musl-x86_64.so.1 so:libgcc_s.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libstdc++.so.6 so:libz.so.1"
|
||||
makedepends_build="gcc g++ bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev"
|
||||
makedepends_host="linux-headers gmp-dev mpfr-dev mpc1-dev isl-dev zlib-dev musl-dev-aarch64 binutils-aarch64"
|
||||
subpackages="g++-aarch64:gpp libstdc++-dev-aarch64:libcxx_dev"
|
||||
[ "$CHOST" = "$CTARGET" ] && subpackages="gcc-gdb gcc-doc"
|
||||
replaces="libstdc++ binutils"
|
||||
options="!strip !tracedeps toolchain"
|
||||
options="!strip !tracedeps"
|
||||
|
||||
: "${LANG_CXX:=true}"
|
||||
: "${LANG_D:=true}"
|
||||
@@ -179,7 +175,7 @@ esac
|
||||
|
||||
# libatomic is a dependency for openvswitch
|
||||
$_libatomic && subpackages="$subpackages libatomic::$CTARGET_ARCH"
|
||||
$_libgcc && subpackages="$subpackages libgcc::$CTARGET_ARCH libgcc-static:libgccstatic:$CTARGET_ARCH"
|
||||
$_libgcc && subpackages="$subpackages libgcc::$CTARGET_ARCH"
|
||||
$_libquadmath && subpackages="$subpackages libquadmath::$CTARGET_ARCH"
|
||||
if $_libgomp; then
|
||||
depends="$depends libgomp=$_gccrel"
|
||||
@@ -283,7 +279,6 @@ source="https://gcc.gnu.org/pub/gcc/releases/gcc-$_pkgbase/gcc-$_pkgbase.tar.xz
|
||||
0039-except-Don-t-use-the-cached-value-of-the-gcc_except_.patch
|
||||
0040-ada-libgnat-use-stub-symbolic-module-name-functions.patch
|
||||
0041-ada-libgnat-recognize-linux-musleabi-and-linux-muslg.patch
|
||||
0042-libsanitizer-struct_sock_fprog_sz.patch
|
||||
|
||||
0001-tree-object-size.cc-Fix-assert-constant-offset-in-ch.patch
|
||||
0001-LoongArch-Only-allow-valid-binary-op-when-optimize-c.patch
|
||||
@@ -585,11 +580,7 @@ gpp() {
|
||||
depends="libstdc++-dev$_target=$_gccrel gcc$_target=$_gccrel musl-dev"
|
||||
[ "$CHOST" = "$CTARGET" ] && depends="$depends libstdc++=$_gccrel"
|
||||
|
||||
depends="$depends so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libz.so.1"
|
||||
|
||||
case "$CARCH" in
|
||||
x86_64) depends="$depends so:libc.musl-x86_64.so.1" ;;
|
||||
esac
|
||||
depends="$depends so:libc.musl-x86_64.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libz.so.1"
|
||||
|
||||
amove $_gcclibexec/cc1plus
|
||||
amove usr/bin/*++
|
||||
@@ -633,15 +624,6 @@ libgcc() {
|
||||
amove usr/lib/libgcc_s.so.*
|
||||
}
|
||||
|
||||
libgccstatic() {
|
||||
pkgdesc="GNU C compiler runtime libraries"
|
||||
depends=
|
||||
|
||||
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtbeginS.o
|
||||
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtendS.o
|
||||
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/libgcc.a
|
||||
}
|
||||
|
||||
libgomp() {
|
||||
pkgdesc="GCC shared-memory parallel programming API library"
|
||||
depends=
|
||||
@@ -814,7 +796,6 @@ eecc77e2a9cf956fd752693ad7f8ff8253a7bb557e00564bb488bbc1deac895e63104cc1182a0bdd
|
||||
9f4c3fa0d17cfcd72626bdbaf51992ff3018f878d673ab19b9056047ee2630b581e5a5a4d4857444f08ba9bcdb0fc94f90dcda6180816e39690d1652843f0d8a 0039-except-Don-t-use-the-cached-value-of-the-gcc_except_.patch
|
||||
d166475e340c91bbb24cf257240aab37129b04f2609e5ce323b530ab83853a4c34c525e0072c15732717f1681db07e6b3b0a4d268720c31f460435ccf4c99b7f 0040-ada-libgnat-use-stub-symbolic-module-name-functions.patch
|
||||
c717764ef52c0226a23cbf434654cdefa6cbf38ec625648575d9143c5513b16d8914c25015db743033b8a46ac5b2c33ab75e1b67076128d67bb1319e5a83dd85 0041-ada-libgnat-recognize-linux-musleabi-and-linux-muslg.patch
|
||||
5dd452a80c496a587a8826b04a4917045e4028631606e85cabd8e87e0460642d188a2156c4e0cf37a5d88e66ebd08a08393d48a6065045178c69eaba2edd063e 0042-libsanitizer-struct_sock_fprog_sz.patch
|
||||
c3b64b05332bd4dd7fad3fff3cacd4f9de0512943f1548c6f1205fab1a74c83622024f30471805f57d625198cc32f647b32172914528fd5605d0bf61cb0c3ff1 0001-tree-object-size.cc-Fix-assert-constant-offset-in-ch.patch
|
||||
e91873055550eba051d9297bec5c6acd27abb9ee6ce8911cdd04b5faf37d77b6b2a7607ec588d2863f13f14b48af9398cb4ac42443d8567bfa5037dc6bd50404 0001-LoongArch-Only-allow-valid-binary-op-when-optimize-c.patch
|
||||
"
|
||||
@@ -1,31 +0,0 @@
|
||||
Provide struct_sock_fprog_sz on Linux, rather than on Linux+glibc.
|
||||
|
||||
With `#include <linux/filter.h>` `struct sock_fprog` is available when
|
||||
linux headers are available. It seems that glibc is just including that header
|
||||
as an implementation detail, while musl does not.
|
||||
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp 2025-08-08 08:51:45.621434001 +0200
|
||||
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp 2026-02-25 20:29:28.519492722 +0100
|
||||
@@ -74,6 +74,7 @@
|
||||
#include <sys/vt.h>
|
||||
#include <linux/cdrom.h>
|
||||
#include <linux/fd.h>
|
||||
+#include <linux/filter.h>
|
||||
#if SANITIZER_ANDROID
|
||||
#include <linux/fs.h>
|
||||
#endif
|
||||
@@ -507,6 +508,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(El
|
||||
unsigned struct_seq_event_rec_sz = sizeof(struct seq_event_rec);
|
||||
unsigned struct_synth_info_sz = sizeof(struct synth_info);
|
||||
unsigned struct_vt_mode_sz = sizeof(struct vt_mode);
|
||||
+ unsigned struct_sock_fprog_sz = sizeof(struct sock_fprog);
|
||||
#endif // SANITIZER_LINUX
|
||||
|
||||
#if SANITIZER_GLIBC
|
||||
@@ -534,7 +536,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(El
|
||||
|
||||
unsigned struct_audio_buf_info_sz = sizeof(struct audio_buf_info);
|
||||
unsigned struct_ppp_stats_sz = sizeof(struct ppp_stats);
|
||||
- unsigned struct_sock_fprog_sz = sizeof(struct sock_fprog);
|
||||
# endif // SANITIZER_GLIBC
|
||||
|
||||
# if !SANITIZER_ANDROID && !SANITIZER_APPLE
|
||||
@@ -1,6 +1,7 @@
|
||||
# Automatically generated aport, do not edit!
|
||||
# Generator: pmbootstrap aportgen gcc-armhf
|
||||
# Based on: main/gcc (from Alpine)
|
||||
|
||||
CTARGET_ARCH=armhf
|
||||
CTARGET="$(arch_to_hostspec ${CTARGET_ARCH})"
|
||||
LANG_D=false
|
||||
@@ -22,7 +23,6 @@ CBUILDROOT="/"
|
||||
|
||||
_cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
|
||||
|
||||
maintainer="Oliver Smith <ollieparanoid@postmarketos.org>"
|
||||
pkgname=gcc-armhf
|
||||
pkgver=15.2.0
|
||||
# i.e. 13.2.1, must match gcc/BASE-VER
|
||||
@@ -34,24 +34,19 @@ _pkgsnap="${pkgver##*_git}"
|
||||
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
|
||||
|
||||
pkgname=gcc-armhf
|
||||
pkgrel=5
|
||||
pkgrel=2
|
||||
pkgdesc="Stage2 cross-compiler for armhf"
|
||||
url="https://gcc.gnu.org"
|
||||
arch="aarch64 x86_64"
|
||||
arch="x86_64"
|
||||
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
|
||||
_gccrel=$pkgver-r$pkgrel
|
||||
depends="binutils-armhf mpc1 so:libgcc_s.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libstdc++.so.6 so:libz.so.1"
|
||||
|
||||
case "$CARCH" in
|
||||
aarch64) depends="$depends so:libc.musl-aarch64.so.1" ;;
|
||||
x86_64) depends="$depends so:libc.musl-x86_64.so.1" ;;
|
||||
esac
|
||||
depends="binutils-armhf mpc1 so:libc.musl-x86_64.so.1 so:libgcc_s.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libstdc++.so.6 so:libz.so.1"
|
||||
makedepends_build="gcc g++ bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev"
|
||||
makedepends_host="linux-headers gmp-dev mpfr-dev mpc1-dev isl-dev zlib-dev musl-dev-armhf binutils-armhf"
|
||||
subpackages="g++-armhf:gpp libstdc++-dev-armhf:libcxx_dev"
|
||||
[ "$CHOST" = "$CTARGET" ] && subpackages="gcc-gdb gcc-doc"
|
||||
replaces="libstdc++ binutils"
|
||||
options="!strip !tracedeps toolchain"
|
||||
options="!strip !tracedeps"
|
||||
|
||||
: "${LANG_CXX:=true}"
|
||||
: "${LANG_D:=true}"
|
||||
@@ -180,7 +175,7 @@ esac
|
||||
|
||||
# libatomic is a dependency for openvswitch
|
||||
$_libatomic && subpackages="$subpackages libatomic::$CTARGET_ARCH"
|
||||
$_libgcc && subpackages="$subpackages libgcc::$CTARGET_ARCH libgcc-static:libgccstatic:$CTARGET_ARCH"
|
||||
$_libgcc && subpackages="$subpackages libgcc::$CTARGET_ARCH"
|
||||
$_libquadmath && subpackages="$subpackages libquadmath::$CTARGET_ARCH"
|
||||
if $_libgomp; then
|
||||
depends="$depends libgomp=$_gccrel"
|
||||
@@ -284,7 +279,6 @@ source="https://gcc.gnu.org/pub/gcc/releases/gcc-$_pkgbase/gcc-$_pkgbase.tar.xz
|
||||
0039-except-Don-t-use-the-cached-value-of-the-gcc_except_.patch
|
||||
0040-ada-libgnat-use-stub-symbolic-module-name-functions.patch
|
||||
0041-ada-libgnat-recognize-linux-musleabi-and-linux-muslg.patch
|
||||
0042-libsanitizer-struct_sock_fprog_sz.patch
|
||||
|
||||
0001-tree-object-size.cc-Fix-assert-constant-offset-in-ch.patch
|
||||
0001-LoongArch-Only-allow-valid-binary-op-when-optimize-c.patch
|
||||
@@ -586,12 +580,7 @@ gpp() {
|
||||
depends="libstdc++-dev$_target=$_gccrel gcc$_target=$_gccrel musl-dev"
|
||||
[ "$CHOST" = "$CTARGET" ] && depends="$depends libstdc++=$_gccrel"
|
||||
|
||||
depends="$depends so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libz.so.1"
|
||||
|
||||
case "$CARCH" in
|
||||
aarch64) depends="$depends so:libc.musl-aarch64.so.1" ;;
|
||||
x86_64) depends="$depends so:libc.musl-x86_64.so.1" ;;
|
||||
esac
|
||||
depends="$depends so:libc.musl-x86_64.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libz.so.1"
|
||||
|
||||
amove $_gcclibexec/cc1plus
|
||||
amove usr/bin/*++
|
||||
@@ -635,15 +624,6 @@ libgcc() {
|
||||
amove usr/lib/libgcc_s.so.*
|
||||
}
|
||||
|
||||
libgccstatic() {
|
||||
pkgdesc="GNU C compiler runtime libraries"
|
||||
depends=
|
||||
|
||||
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtbeginS.o
|
||||
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtendS.o
|
||||
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/libgcc.a
|
||||
}
|
||||
|
||||
libgomp() {
|
||||
pkgdesc="GCC shared-memory parallel programming API library"
|
||||
depends=
|
||||
@@ -816,7 +796,6 @@ eecc77e2a9cf956fd752693ad7f8ff8253a7bb557e00564bb488bbc1deac895e63104cc1182a0bdd
|
||||
9f4c3fa0d17cfcd72626bdbaf51992ff3018f878d673ab19b9056047ee2630b581e5a5a4d4857444f08ba9bcdb0fc94f90dcda6180816e39690d1652843f0d8a 0039-except-Don-t-use-the-cached-value-of-the-gcc_except_.patch
|
||||
d166475e340c91bbb24cf257240aab37129b04f2609e5ce323b530ab83853a4c34c525e0072c15732717f1681db07e6b3b0a4d268720c31f460435ccf4c99b7f 0040-ada-libgnat-use-stub-symbolic-module-name-functions.patch
|
||||
c717764ef52c0226a23cbf434654cdefa6cbf38ec625648575d9143c5513b16d8914c25015db743033b8a46ac5b2c33ab75e1b67076128d67bb1319e5a83dd85 0041-ada-libgnat-recognize-linux-musleabi-and-linux-muslg.patch
|
||||
5dd452a80c496a587a8826b04a4917045e4028631606e85cabd8e87e0460642d188a2156c4e0cf37a5d88e66ebd08a08393d48a6065045178c69eaba2edd063e 0042-libsanitizer-struct_sock_fprog_sz.patch
|
||||
c3b64b05332bd4dd7fad3fff3cacd4f9de0512943f1548c6f1205fab1a74c83622024f30471805f57d625198cc32f647b32172914528fd5605d0bf61cb0c3ff1 0001-tree-object-size.cc-Fix-assert-constant-offset-in-ch.patch
|
||||
e91873055550eba051d9297bec5c6acd27abb9ee6ce8911cdd04b5faf37d77b6b2a7607ec588d2863f13f14b48af9398cb4ac42443d8567bfa5037dc6bd50404 0001-LoongArch-Only-allow-valid-binary-op-when-optimize-c.patch
|
||||
"
|
||||
@@ -1,31 +0,0 @@
|
||||
Provide struct_sock_fprog_sz on Linux, rather than on Linux+glibc.
|
||||
|
||||
With `#include <linux/filter.h>` `struct sock_fprog` is available when
|
||||
linux headers are available. It seems that glibc is just including that header
|
||||
as an implementation detail, while musl does not.
|
||||
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp 2025-08-08 08:51:45.621434001 +0200
|
||||
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp 2026-02-25 20:29:28.519492722 +0100
|
||||
@@ -74,6 +74,7 @@
|
||||
#include <sys/vt.h>
|
||||
#include <linux/cdrom.h>
|
||||
#include <linux/fd.h>
|
||||
+#include <linux/filter.h>
|
||||
#if SANITIZER_ANDROID
|
||||
#include <linux/fs.h>
|
||||
#endif
|
||||
@@ -507,6 +508,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(El
|
||||
unsigned struct_seq_event_rec_sz = sizeof(struct seq_event_rec);
|
||||
unsigned struct_synth_info_sz = sizeof(struct synth_info);
|
||||
unsigned struct_vt_mode_sz = sizeof(struct vt_mode);
|
||||
+ unsigned struct_sock_fprog_sz = sizeof(struct sock_fprog);
|
||||
#endif // SANITIZER_LINUX
|
||||
|
||||
#if SANITIZER_GLIBC
|
||||
@@ -534,7 +536,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(El
|
||||
|
||||
unsigned struct_audio_buf_info_sz = sizeof(struct audio_buf_info);
|
||||
unsigned struct_ppp_stats_sz = sizeof(struct ppp_stats);
|
||||
- unsigned struct_sock_fprog_sz = sizeof(struct sock_fprog);
|
||||
# endif // SANITIZER_GLIBC
|
||||
|
||||
# if !SANITIZER_ANDROID && !SANITIZER_APPLE
|
||||
@@ -1,6 +1,7 @@
|
||||
# Automatically generated aport, do not edit!
|
||||
# Generator: pmbootstrap aportgen gcc-armv7
|
||||
# Based on: main/gcc (from Alpine)
|
||||
|
||||
CTARGET_ARCH=armv7
|
||||
CTARGET="$(arch_to_hostspec ${CTARGET_ARCH})"
|
||||
LANG_D=false
|
||||
@@ -22,7 +23,6 @@ CBUILDROOT="/"
|
||||
|
||||
_cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
|
||||
|
||||
maintainer="Oliver Smith <ollieparanoid@postmarketos.org>"
|
||||
pkgname=gcc-armv7
|
||||
pkgver=15.2.0
|
||||
# i.e. 13.2.1, must match gcc/BASE-VER
|
||||
@@ -34,24 +34,19 @@ _pkgsnap="${pkgver##*_git}"
|
||||
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
|
||||
|
||||
pkgname=gcc-armv7
|
||||
pkgrel=5
|
||||
pkgrel=2
|
||||
pkgdesc="Stage2 cross-compiler for armv7"
|
||||
url="https://gcc.gnu.org"
|
||||
arch="aarch64 x86_64"
|
||||
arch="x86_64"
|
||||
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
|
||||
_gccrel=$pkgver-r$pkgrel
|
||||
depends="binutils-armv7 mpc1 so:libgcc_s.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libstdc++.so.6 so:libz.so.1"
|
||||
|
||||
case "$CARCH" in
|
||||
aarch64) depends="$depends so:libc.musl-aarch64.so.1" ;;
|
||||
x86_64) depends="$depends so:libc.musl-x86_64.so.1" ;;
|
||||
esac
|
||||
depends="binutils-armv7 mpc1 so:libc.musl-x86_64.so.1 so:libgcc_s.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libstdc++.so.6 so:libz.so.1"
|
||||
makedepends_build="gcc g++ bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev"
|
||||
makedepends_host="linux-headers gmp-dev mpfr-dev mpc1-dev isl-dev zlib-dev musl-dev-armv7 binutils-armv7"
|
||||
subpackages="g++-armv7:gpp libstdc++-dev-armv7:libcxx_dev"
|
||||
[ "$CHOST" = "$CTARGET" ] && subpackages="gcc-gdb gcc-doc"
|
||||
replaces="libstdc++ binutils"
|
||||
options="!strip !tracedeps toolchain"
|
||||
options="!strip !tracedeps"
|
||||
|
||||
: "${LANG_CXX:=true}"
|
||||
: "${LANG_D:=true}"
|
||||
@@ -180,7 +175,7 @@ esac
|
||||
|
||||
# libatomic is a dependency for openvswitch
|
||||
$_libatomic && subpackages="$subpackages libatomic::$CTARGET_ARCH"
|
||||
$_libgcc && subpackages="$subpackages libgcc::$CTARGET_ARCH libgcc-static:libgccstatic:$CTARGET_ARCH"
|
||||
$_libgcc && subpackages="$subpackages libgcc::$CTARGET_ARCH"
|
||||
$_libquadmath && subpackages="$subpackages libquadmath::$CTARGET_ARCH"
|
||||
if $_libgomp; then
|
||||
depends="$depends libgomp=$_gccrel"
|
||||
@@ -284,7 +279,6 @@ source="https://gcc.gnu.org/pub/gcc/releases/gcc-$_pkgbase/gcc-$_pkgbase.tar.xz
|
||||
0039-except-Don-t-use-the-cached-value-of-the-gcc_except_.patch
|
||||
0040-ada-libgnat-use-stub-symbolic-module-name-functions.patch
|
||||
0041-ada-libgnat-recognize-linux-musleabi-and-linux-muslg.patch
|
||||
0042-libsanitizer-struct_sock_fprog_sz.patch
|
||||
|
||||
0001-tree-object-size.cc-Fix-assert-constant-offset-in-ch.patch
|
||||
0001-LoongArch-Only-allow-valid-binary-op-when-optimize-c.patch
|
||||
@@ -586,12 +580,7 @@ gpp() {
|
||||
depends="libstdc++-dev$_target=$_gccrel gcc$_target=$_gccrel musl-dev"
|
||||
[ "$CHOST" = "$CTARGET" ] && depends="$depends libstdc++=$_gccrel"
|
||||
|
||||
depends="$depends so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libz.so.1"
|
||||
|
||||
case "$CARCH" in
|
||||
aarch64) depends="$depends so:libc.musl-aarch64.so.1" ;;
|
||||
x86_64) depends="$depends so:libc.musl-x86_64.so.1" ;;
|
||||
esac
|
||||
depends="$depends so:libc.musl-x86_64.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libz.so.1"
|
||||
|
||||
amove $_gcclibexec/cc1plus
|
||||
amove usr/bin/*++
|
||||
@@ -635,15 +624,6 @@ libgcc() {
|
||||
amove usr/lib/libgcc_s.so.*
|
||||
}
|
||||
|
||||
libgccstatic() {
|
||||
pkgdesc="GNU C compiler runtime libraries"
|
||||
depends=
|
||||
|
||||
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtbeginS.o
|
||||
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtendS.o
|
||||
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/libgcc.a
|
||||
}
|
||||
|
||||
libgomp() {
|
||||
pkgdesc="GCC shared-memory parallel programming API library"
|
||||
depends=
|
||||
@@ -816,7 +796,6 @@ eecc77e2a9cf956fd752693ad7f8ff8253a7bb557e00564bb488bbc1deac895e63104cc1182a0bdd
|
||||
9f4c3fa0d17cfcd72626bdbaf51992ff3018f878d673ab19b9056047ee2630b581e5a5a4d4857444f08ba9bcdb0fc94f90dcda6180816e39690d1652843f0d8a 0039-except-Don-t-use-the-cached-value-of-the-gcc_except_.patch
|
||||
d166475e340c91bbb24cf257240aab37129b04f2609e5ce323b530ab83853a4c34c525e0072c15732717f1681db07e6b3b0a4d268720c31f460435ccf4c99b7f 0040-ada-libgnat-use-stub-symbolic-module-name-functions.patch
|
||||
c717764ef52c0226a23cbf434654cdefa6cbf38ec625648575d9143c5513b16d8914c25015db743033b8a46ac5b2c33ab75e1b67076128d67bb1319e5a83dd85 0041-ada-libgnat-recognize-linux-musleabi-and-linux-muslg.patch
|
||||
5dd452a80c496a587a8826b04a4917045e4028631606e85cabd8e87e0460642d188a2156c4e0cf37a5d88e66ebd08a08393d48a6065045178c69eaba2edd063e 0042-libsanitizer-struct_sock_fprog_sz.patch
|
||||
c3b64b05332bd4dd7fad3fff3cacd4f9de0512943f1548c6f1205fab1a74c83622024f30471805f57d625198cc32f647b32172914528fd5605d0bf61cb0c3ff1 0001-tree-object-size.cc-Fix-assert-constant-offset-in-ch.patch
|
||||
e91873055550eba051d9297bec5c6acd27abb9ee6ce8911cdd04b5faf37d77b6b2a7607ec588d2863f13f14b48af9398cb4ac42443d8567bfa5037dc6bd50404 0001-LoongArch-Only-allow-valid-binary-op-when-optimize-c.patch
|
||||
"
|
||||
@@ -1,31 +0,0 @@
|
||||
Provide struct_sock_fprog_sz on Linux, rather than on Linux+glibc.
|
||||
|
||||
With `#include <linux/filter.h>` `struct sock_fprog` is available when
|
||||
linux headers are available. It seems that glibc is just including that header
|
||||
as an implementation detail, while musl does not.
|
||||
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp 2025-08-08 08:51:45.621434001 +0200
|
||||
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp 2026-02-25 20:29:28.519492722 +0100
|
||||
@@ -74,6 +74,7 @@
|
||||
#include <sys/vt.h>
|
||||
#include <linux/cdrom.h>
|
||||
#include <linux/fd.h>
|
||||
+#include <linux/filter.h>
|
||||
#if SANITIZER_ANDROID
|
||||
#include <linux/fs.h>
|
||||
#endif
|
||||
@@ -507,6 +508,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(El
|
||||
unsigned struct_seq_event_rec_sz = sizeof(struct seq_event_rec);
|
||||
unsigned struct_synth_info_sz = sizeof(struct synth_info);
|
||||
unsigned struct_vt_mode_sz = sizeof(struct vt_mode);
|
||||
+ unsigned struct_sock_fprog_sz = sizeof(struct sock_fprog);
|
||||
#endif // SANITIZER_LINUX
|
||||
|
||||
#if SANITIZER_GLIBC
|
||||
@@ -534,7 +536,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(El
|
||||
|
||||
unsigned struct_audio_buf_info_sz = sizeof(struct audio_buf_info);
|
||||
unsigned struct_ppp_stats_sz = sizeof(struct ppp_stats);
|
||||
- unsigned struct_sock_fprog_sz = sizeof(struct sock_fprog);
|
||||
# endif // SANITIZER_GLIBC
|
||||
|
||||
# if !SANITIZER_ANDROID && !SANITIZER_APPLE
|
||||
@@ -1,6 +1,7 @@
|
||||
# Automatically generated aport, do not edit!
|
||||
# Generator: pmbootstrap aportgen gcc-loongarch64
|
||||
# Based on: main/gcc (from Alpine)
|
||||
|
||||
CTARGET_ARCH=loongarch64
|
||||
CTARGET="$(arch_to_hostspec ${CTARGET_ARCH})"
|
||||
LANG_D=false
|
||||
@@ -22,7 +23,6 @@ CBUILDROOT="/"
|
||||
|
||||
_cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
|
||||
|
||||
maintainer="Oliver Smith <ollieparanoid@postmarketos.org>"
|
||||
pkgname=gcc-loongarch64
|
||||
pkgver=15.2.0
|
||||
# i.e. 13.2.1, must match gcc/BASE-VER
|
||||
@@ -34,24 +34,19 @@ _pkgsnap="${pkgver##*_git}"
|
||||
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
|
||||
|
||||
pkgname=gcc-loongarch64
|
||||
pkgrel=5
|
||||
pkgrel=2
|
||||
pkgdesc="Stage2 cross-compiler for loongarch64"
|
||||
url="https://gcc.gnu.org"
|
||||
arch="aarch64 x86_64"
|
||||
arch="x86_64"
|
||||
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
|
||||
_gccrel=$pkgver-r$pkgrel
|
||||
depends="binutils-loongarch64 mpc1 so:libgcc_s.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libstdc++.so.6 so:libz.so.1"
|
||||
|
||||
case "$CARCH" in
|
||||
aarch64) depends="$depends so:libc.musl-aarch64.so.1" ;;
|
||||
x86_64) depends="$depends so:libc.musl-x86_64.so.1" ;;
|
||||
esac
|
||||
depends="binutils-loongarch64 mpc1 so:libc.musl-x86_64.so.1 so:libgcc_s.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libstdc++.so.6 so:libz.so.1"
|
||||
makedepends_build="gcc g++ bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev"
|
||||
makedepends_host="linux-headers gmp-dev mpfr-dev mpc1-dev isl-dev zlib-dev musl-dev-loongarch64 binutils-loongarch64"
|
||||
subpackages="g++-loongarch64:gpp libstdc++-dev-loongarch64:libcxx_dev"
|
||||
[ "$CHOST" = "$CTARGET" ] && subpackages="gcc-gdb gcc-doc"
|
||||
replaces="libstdc++ binutils"
|
||||
options="!strip !tracedeps toolchain"
|
||||
options="!strip !tracedeps"
|
||||
|
||||
: "${LANG_CXX:=true}"
|
||||
: "${LANG_D:=true}"
|
||||
@@ -180,7 +175,7 @@ esac
|
||||
|
||||
# libatomic is a dependency for openvswitch
|
||||
$_libatomic && subpackages="$subpackages libatomic::$CTARGET_ARCH"
|
||||
$_libgcc && subpackages="$subpackages libgcc::$CTARGET_ARCH libgcc-static:libgccstatic:$CTARGET_ARCH"
|
||||
$_libgcc && subpackages="$subpackages libgcc::$CTARGET_ARCH"
|
||||
$_libquadmath && subpackages="$subpackages libquadmath::$CTARGET_ARCH"
|
||||
if $_libgomp; then
|
||||
depends="$depends libgomp=$_gccrel"
|
||||
@@ -284,7 +279,6 @@ source="https://gcc.gnu.org/pub/gcc/releases/gcc-$_pkgbase/gcc-$_pkgbase.tar.xz
|
||||
0039-except-Don-t-use-the-cached-value-of-the-gcc_except_.patch
|
||||
0040-ada-libgnat-use-stub-symbolic-module-name-functions.patch
|
||||
0041-ada-libgnat-recognize-linux-musleabi-and-linux-muslg.patch
|
||||
0042-libsanitizer-struct_sock_fprog_sz.patch
|
||||
|
||||
0001-tree-object-size.cc-Fix-assert-constant-offset-in-ch.patch
|
||||
0001-LoongArch-Only-allow-valid-binary-op-when-optimize-c.patch
|
||||
@@ -586,12 +580,7 @@ gpp() {
|
||||
depends="libstdc++-dev$_target=$_gccrel gcc$_target=$_gccrel musl-dev"
|
||||
[ "$CHOST" = "$CTARGET" ] && depends="$depends libstdc++=$_gccrel"
|
||||
|
||||
depends="$depends so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libz.so.1"
|
||||
|
||||
case "$CARCH" in
|
||||
aarch64) depends="$depends so:libc.musl-aarch64.so.1" ;;
|
||||
x86_64) depends="$depends so:libc.musl-x86_64.so.1" ;;
|
||||
esac
|
||||
depends="$depends so:libc.musl-x86_64.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libz.so.1"
|
||||
|
||||
amove $_gcclibexec/cc1plus
|
||||
amove usr/bin/*++
|
||||
@@ -635,15 +624,6 @@ libgcc() {
|
||||
amove usr/lib/libgcc_s.so.*
|
||||
}
|
||||
|
||||
libgccstatic() {
|
||||
pkgdesc="GNU C compiler runtime libraries"
|
||||
depends=
|
||||
|
||||
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtbeginS.o
|
||||
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtendS.o
|
||||
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/libgcc.a
|
||||
}
|
||||
|
||||
libgomp() {
|
||||
pkgdesc="GCC shared-memory parallel programming API library"
|
||||
depends=
|
||||
@@ -816,7 +796,6 @@ eecc77e2a9cf956fd752693ad7f8ff8253a7bb557e00564bb488bbc1deac895e63104cc1182a0bdd
|
||||
9f4c3fa0d17cfcd72626bdbaf51992ff3018f878d673ab19b9056047ee2630b581e5a5a4d4857444f08ba9bcdb0fc94f90dcda6180816e39690d1652843f0d8a 0039-except-Don-t-use-the-cached-value-of-the-gcc_except_.patch
|
||||
d166475e340c91bbb24cf257240aab37129b04f2609e5ce323b530ab83853a4c34c525e0072c15732717f1681db07e6b3b0a4d268720c31f460435ccf4c99b7f 0040-ada-libgnat-use-stub-symbolic-module-name-functions.patch
|
||||
c717764ef52c0226a23cbf434654cdefa6cbf38ec625648575d9143c5513b16d8914c25015db743033b8a46ac5b2c33ab75e1b67076128d67bb1319e5a83dd85 0041-ada-libgnat-recognize-linux-musleabi-and-linux-muslg.patch
|
||||
5dd452a80c496a587a8826b04a4917045e4028631606e85cabd8e87e0460642d188a2156c4e0cf37a5d88e66ebd08a08393d48a6065045178c69eaba2edd063e 0042-libsanitizer-struct_sock_fprog_sz.patch
|
||||
c3b64b05332bd4dd7fad3fff3cacd4f9de0512943f1548c6f1205fab1a74c83622024f30471805f57d625198cc32f647b32172914528fd5605d0bf61cb0c3ff1 0001-tree-object-size.cc-Fix-assert-constant-offset-in-ch.patch
|
||||
e91873055550eba051d9297bec5c6acd27abb9ee6ce8911cdd04b5faf37d77b6b2a7607ec588d2863f13f14b48af9398cb4ac42443d8567bfa5037dc6bd50404 0001-LoongArch-Only-allow-valid-binary-op-when-optimize-c.patch
|
||||
"
|
||||
@@ -1,31 +0,0 @@
|
||||
Provide struct_sock_fprog_sz on Linux, rather than on Linux+glibc.
|
||||
|
||||
With `#include <linux/filter.h>` `struct sock_fprog` is available when
|
||||
linux headers are available. It seems that glibc is just including that header
|
||||
as an implementation detail, while musl does not.
|
||||
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp 2025-08-08 08:51:45.621434001 +0200
|
||||
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp 2026-02-25 20:29:28.519492722 +0100
|
||||
@@ -74,6 +74,7 @@
|
||||
#include <sys/vt.h>
|
||||
#include <linux/cdrom.h>
|
||||
#include <linux/fd.h>
|
||||
+#include <linux/filter.h>
|
||||
#if SANITIZER_ANDROID
|
||||
#include <linux/fs.h>
|
||||
#endif
|
||||
@@ -507,6 +508,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(El
|
||||
unsigned struct_seq_event_rec_sz = sizeof(struct seq_event_rec);
|
||||
unsigned struct_synth_info_sz = sizeof(struct synth_info);
|
||||
unsigned struct_vt_mode_sz = sizeof(struct vt_mode);
|
||||
+ unsigned struct_sock_fprog_sz = sizeof(struct sock_fprog);
|
||||
#endif // SANITIZER_LINUX
|
||||
|
||||
#if SANITIZER_GLIBC
|
||||
@@ -534,7 +536,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(El
|
||||
|
||||
unsigned struct_audio_buf_info_sz = sizeof(struct audio_buf_info);
|
||||
unsigned struct_ppp_stats_sz = sizeof(struct ppp_stats);
|
||||
- unsigned struct_sock_fprog_sz = sizeof(struct sock_fprog);
|
||||
# endif // SANITIZER_GLIBC
|
||||
|
||||
# if !SANITIZER_ANDROID && !SANITIZER_APPLE
|
||||
@@ -1,6 +1,7 @@
|
||||
# Automatically generated aport, do not edit!
|
||||
# Generator: pmbootstrap aportgen gcc-ppc64le
|
||||
# Based on: main/gcc (from Alpine)
|
||||
|
||||
CTARGET_ARCH=ppc64le
|
||||
CTARGET="$(arch_to_hostspec ${CTARGET_ARCH})"
|
||||
LANG_D=false
|
||||
@@ -22,7 +23,6 @@ CBUILDROOT="/"
|
||||
|
||||
_cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
|
||||
|
||||
maintainer="Oliver Smith <ollieparanoid@postmarketos.org>"
|
||||
pkgname=gcc-ppc64le
|
||||
pkgver=15.2.0
|
||||
# i.e. 13.2.1, must match gcc/BASE-VER
|
||||
@@ -34,24 +34,19 @@ _pkgsnap="${pkgver##*_git}"
|
||||
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
|
||||
|
||||
pkgname=gcc-ppc64le
|
||||
pkgrel=5
|
||||
pkgrel=2
|
||||
pkgdesc="Stage2 cross-compiler for ppc64le"
|
||||
url="https://gcc.gnu.org"
|
||||
arch="aarch64 x86_64"
|
||||
arch="x86_64"
|
||||
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
|
||||
_gccrel=$pkgver-r$pkgrel
|
||||
depends="binutils-ppc64le mpc1 so:libgcc_s.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libstdc++.so.6 so:libz.so.1"
|
||||
|
||||
case "$CARCH" in
|
||||
aarch64) depends="$depends so:libc.musl-aarch64.so.1" ;;
|
||||
x86_64) depends="$depends so:libc.musl-x86_64.so.1" ;;
|
||||
esac
|
||||
depends="binutils-ppc64le mpc1 so:libc.musl-x86_64.so.1 so:libgcc_s.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libstdc++.so.6 so:libz.so.1"
|
||||
makedepends_build="gcc g++ bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev"
|
||||
makedepends_host="linux-headers gmp-dev mpfr-dev mpc1-dev isl-dev zlib-dev musl-dev-ppc64le binutils-ppc64le"
|
||||
subpackages="g++-ppc64le:gpp libstdc++-dev-ppc64le:libcxx_dev"
|
||||
[ "$CHOST" = "$CTARGET" ] && subpackages="gcc-gdb gcc-doc"
|
||||
replaces="libstdc++ binutils"
|
||||
options="!strip !tracedeps toolchain"
|
||||
options="!strip !tracedeps"
|
||||
|
||||
: "${LANG_CXX:=true}"
|
||||
: "${LANG_D:=true}"
|
||||
@@ -180,7 +175,7 @@ esac
|
||||
|
||||
# libatomic is a dependency for openvswitch
|
||||
$_libatomic && subpackages="$subpackages libatomic::$CTARGET_ARCH"
|
||||
$_libgcc && subpackages="$subpackages libgcc::$CTARGET_ARCH libgcc-static:libgccstatic:$CTARGET_ARCH"
|
||||
$_libgcc && subpackages="$subpackages libgcc::$CTARGET_ARCH"
|
||||
$_libquadmath && subpackages="$subpackages libquadmath::$CTARGET_ARCH"
|
||||
if $_libgomp; then
|
||||
depends="$depends libgomp=$_gccrel"
|
||||
@@ -284,7 +279,6 @@ source="https://gcc.gnu.org/pub/gcc/releases/gcc-$_pkgbase/gcc-$_pkgbase.tar.xz
|
||||
0039-except-Don-t-use-the-cached-value-of-the-gcc_except_.patch
|
||||
0040-ada-libgnat-use-stub-symbolic-module-name-functions.patch
|
||||
0041-ada-libgnat-recognize-linux-musleabi-and-linux-muslg.patch
|
||||
0042-libsanitizer-struct_sock_fprog_sz.patch
|
||||
|
||||
0001-tree-object-size.cc-Fix-assert-constant-offset-in-ch.patch
|
||||
0001-LoongArch-Only-allow-valid-binary-op-when-optimize-c.patch
|
||||
@@ -586,12 +580,7 @@ gpp() {
|
||||
depends="libstdc++-dev$_target=$_gccrel gcc$_target=$_gccrel musl-dev"
|
||||
[ "$CHOST" = "$CTARGET" ] && depends="$depends libstdc++=$_gccrel"
|
||||
|
||||
depends="$depends so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libz.so.1"
|
||||
|
||||
case "$CARCH" in
|
||||
aarch64) depends="$depends so:libc.musl-aarch64.so.1" ;;
|
||||
x86_64) depends="$depends so:libc.musl-x86_64.so.1" ;;
|
||||
esac
|
||||
depends="$depends so:libc.musl-x86_64.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libz.so.1"
|
||||
|
||||
amove $_gcclibexec/cc1plus
|
||||
amove usr/bin/*++
|
||||
@@ -635,15 +624,6 @@ libgcc() {
|
||||
amove usr/lib/libgcc_s.so.*
|
||||
}
|
||||
|
||||
libgccstatic() {
|
||||
pkgdesc="GNU C compiler runtime libraries"
|
||||
depends=
|
||||
|
||||
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtbeginS.o
|
||||
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtendS.o
|
||||
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/libgcc.a
|
||||
}
|
||||
|
||||
libgomp() {
|
||||
pkgdesc="GCC shared-memory parallel programming API library"
|
||||
depends=
|
||||
@@ -816,7 +796,6 @@ eecc77e2a9cf956fd752693ad7f8ff8253a7bb557e00564bb488bbc1deac895e63104cc1182a0bdd
|
||||
9f4c3fa0d17cfcd72626bdbaf51992ff3018f878d673ab19b9056047ee2630b581e5a5a4d4857444f08ba9bcdb0fc94f90dcda6180816e39690d1652843f0d8a 0039-except-Don-t-use-the-cached-value-of-the-gcc_except_.patch
|
||||
d166475e340c91bbb24cf257240aab37129b04f2609e5ce323b530ab83853a4c34c525e0072c15732717f1681db07e6b3b0a4d268720c31f460435ccf4c99b7f 0040-ada-libgnat-use-stub-symbolic-module-name-functions.patch
|
||||
c717764ef52c0226a23cbf434654cdefa6cbf38ec625648575d9143c5513b16d8914c25015db743033b8a46ac5b2c33ab75e1b67076128d67bb1319e5a83dd85 0041-ada-libgnat-recognize-linux-musleabi-and-linux-muslg.patch
|
||||
5dd452a80c496a587a8826b04a4917045e4028631606e85cabd8e87e0460642d188a2156c4e0cf37a5d88e66ebd08a08393d48a6065045178c69eaba2edd063e 0042-libsanitizer-struct_sock_fprog_sz.patch
|
||||
c3b64b05332bd4dd7fad3fff3cacd4f9de0512943f1548c6f1205fab1a74c83622024f30471805f57d625198cc32f647b32172914528fd5605d0bf61cb0c3ff1 0001-tree-object-size.cc-Fix-assert-constant-offset-in-ch.patch
|
||||
e91873055550eba051d9297bec5c6acd27abb9ee6ce8911cdd04b5faf37d77b6b2a7607ec588d2863f13f14b48af9398cb4ac42443d8567bfa5037dc6bd50404 0001-LoongArch-Only-allow-valid-binary-op-when-optimize-c.patch
|
||||
"
|
||||
@@ -1,31 +0,0 @@
|
||||
Provide struct_sock_fprog_sz on Linux, rather than on Linux+glibc.
|
||||
|
||||
With `#include <linux/filter.h>` `struct sock_fprog` is available when
|
||||
linux headers are available. It seems that glibc is just including that header
|
||||
as an implementation detail, while musl does not.
|
||||
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp 2025-08-08 08:51:45.621434001 +0200
|
||||
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp 2026-02-25 20:29:28.519492722 +0100
|
||||
@@ -74,6 +74,7 @@
|
||||
#include <sys/vt.h>
|
||||
#include <linux/cdrom.h>
|
||||
#include <linux/fd.h>
|
||||
+#include <linux/filter.h>
|
||||
#if SANITIZER_ANDROID
|
||||
#include <linux/fs.h>
|
||||
#endif
|
||||
@@ -507,6 +508,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(El
|
||||
unsigned struct_seq_event_rec_sz = sizeof(struct seq_event_rec);
|
||||
unsigned struct_synth_info_sz = sizeof(struct synth_info);
|
||||
unsigned struct_vt_mode_sz = sizeof(struct vt_mode);
|
||||
+ unsigned struct_sock_fprog_sz = sizeof(struct sock_fprog);
|
||||
#endif // SANITIZER_LINUX
|
||||
|
||||
#if SANITIZER_GLIBC
|
||||
@@ -534,7 +536,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(El
|
||||
|
||||
unsigned struct_audio_buf_info_sz = sizeof(struct audio_buf_info);
|
||||
unsigned struct_ppp_stats_sz = sizeof(struct ppp_stats);
|
||||
- unsigned struct_sock_fprog_sz = sizeof(struct sock_fprog);
|
||||
# endif // SANITIZER_GLIBC
|
||||
|
||||
# if !SANITIZER_ANDROID && !SANITIZER_APPLE
|
||||
@@ -1,6 +1,7 @@
|
||||
# Automatically generated aport, do not edit!
|
||||
# Generator: pmbootstrap aportgen gcc-riscv64
|
||||
# Based on: main/gcc (from Alpine)
|
||||
|
||||
CTARGET_ARCH=riscv64
|
||||
CTARGET="$(arch_to_hostspec ${CTARGET_ARCH})"
|
||||
LANG_D=false
|
||||
@@ -22,7 +23,6 @@ CBUILDROOT="/"
|
||||
|
||||
_cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
|
||||
|
||||
maintainer="Oliver Smith <ollieparanoid@postmarketos.org>"
|
||||
pkgname=gcc-riscv64
|
||||
pkgver=15.2.0
|
||||
# i.e. 13.2.1, must match gcc/BASE-VER
|
||||
@@ -34,24 +34,19 @@ _pkgsnap="${pkgver##*_git}"
|
||||
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
|
||||
|
||||
pkgname=gcc-riscv64
|
||||
pkgrel=5
|
||||
pkgrel=2
|
||||
pkgdesc="Stage2 cross-compiler for riscv64"
|
||||
url="https://gcc.gnu.org"
|
||||
arch="aarch64 x86_64"
|
||||
arch="x86_64"
|
||||
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
|
||||
_gccrel=$pkgver-r$pkgrel
|
||||
depends="binutils-riscv64 mpc1 so:libgcc_s.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libstdc++.so.6 so:libz.so.1"
|
||||
|
||||
case "$CARCH" in
|
||||
aarch64) depends="$depends so:libc.musl-aarch64.so.1" ;;
|
||||
x86_64) depends="$depends so:libc.musl-x86_64.so.1" ;;
|
||||
esac
|
||||
depends="binutils-riscv64 mpc1 so:libc.musl-x86_64.so.1 so:libgcc_s.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libstdc++.so.6 so:libz.so.1"
|
||||
makedepends_build="gcc g++ bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev"
|
||||
makedepends_host="linux-headers gmp-dev mpfr-dev mpc1-dev isl-dev zlib-dev musl-dev-riscv64 binutils-riscv64"
|
||||
subpackages="g++-riscv64:gpp libstdc++-dev-riscv64:libcxx_dev"
|
||||
[ "$CHOST" = "$CTARGET" ] && subpackages="gcc-gdb gcc-doc"
|
||||
replaces="libstdc++ binutils"
|
||||
options="!strip !tracedeps toolchain"
|
||||
options="!strip !tracedeps"
|
||||
|
||||
: "${LANG_CXX:=true}"
|
||||
: "${LANG_D:=true}"
|
||||
@@ -180,7 +175,7 @@ esac
|
||||
|
||||
# libatomic is a dependency for openvswitch
|
||||
$_libatomic && subpackages="$subpackages libatomic::$CTARGET_ARCH"
|
||||
$_libgcc && subpackages="$subpackages libgcc::$CTARGET_ARCH libgcc-static:libgccstatic:$CTARGET_ARCH"
|
||||
$_libgcc && subpackages="$subpackages libgcc::$CTARGET_ARCH"
|
||||
$_libquadmath && subpackages="$subpackages libquadmath::$CTARGET_ARCH"
|
||||
if $_libgomp; then
|
||||
depends="$depends libgomp=$_gccrel"
|
||||
@@ -284,7 +279,6 @@ source="https://gcc.gnu.org/pub/gcc/releases/gcc-$_pkgbase/gcc-$_pkgbase.tar.xz
|
||||
0039-except-Don-t-use-the-cached-value-of-the-gcc_except_.patch
|
||||
0040-ada-libgnat-use-stub-symbolic-module-name-functions.patch
|
||||
0041-ada-libgnat-recognize-linux-musleabi-and-linux-muslg.patch
|
||||
0042-libsanitizer-struct_sock_fprog_sz.patch
|
||||
|
||||
0001-tree-object-size.cc-Fix-assert-constant-offset-in-ch.patch
|
||||
0001-LoongArch-Only-allow-valid-binary-op-when-optimize-c.patch
|
||||
@@ -586,12 +580,7 @@ gpp() {
|
||||
depends="libstdc++-dev$_target=$_gccrel gcc$_target=$_gccrel musl-dev"
|
||||
[ "$CHOST" = "$CTARGET" ] && depends="$depends libstdc++=$_gccrel"
|
||||
|
||||
depends="$depends so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libz.so.1"
|
||||
|
||||
case "$CARCH" in
|
||||
aarch64) depends="$depends so:libc.musl-aarch64.so.1" ;;
|
||||
x86_64) depends="$depends so:libc.musl-x86_64.so.1" ;;
|
||||
esac
|
||||
depends="$depends so:libc.musl-x86_64.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libz.so.1"
|
||||
|
||||
amove $_gcclibexec/cc1plus
|
||||
amove usr/bin/*++
|
||||
@@ -635,15 +624,6 @@ libgcc() {
|
||||
amove usr/lib/libgcc_s.so.*
|
||||
}
|
||||
|
||||
libgccstatic() {
|
||||
pkgdesc="GNU C compiler runtime libraries"
|
||||
depends=
|
||||
|
||||
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtbeginS.o
|
||||
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtendS.o
|
||||
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/libgcc.a
|
||||
}
|
||||
|
||||
libgomp() {
|
||||
pkgdesc="GCC shared-memory parallel programming API library"
|
||||
depends=
|
||||
@@ -816,7 +796,6 @@ eecc77e2a9cf956fd752693ad7f8ff8253a7bb557e00564bb488bbc1deac895e63104cc1182a0bdd
|
||||
9f4c3fa0d17cfcd72626bdbaf51992ff3018f878d673ab19b9056047ee2630b581e5a5a4d4857444f08ba9bcdb0fc94f90dcda6180816e39690d1652843f0d8a 0039-except-Don-t-use-the-cached-value-of-the-gcc_except_.patch
|
||||
d166475e340c91bbb24cf257240aab37129b04f2609e5ce323b530ab83853a4c34c525e0072c15732717f1681db07e6b3b0a4d268720c31f460435ccf4c99b7f 0040-ada-libgnat-use-stub-symbolic-module-name-functions.patch
|
||||
c717764ef52c0226a23cbf434654cdefa6cbf38ec625648575d9143c5513b16d8914c25015db743033b8a46ac5b2c33ab75e1b67076128d67bb1319e5a83dd85 0041-ada-libgnat-recognize-linux-musleabi-and-linux-muslg.patch
|
||||
5dd452a80c496a587a8826b04a4917045e4028631606e85cabd8e87e0460642d188a2156c4e0cf37a5d88e66ebd08a08393d48a6065045178c69eaba2edd063e 0042-libsanitizer-struct_sock_fprog_sz.patch
|
||||
c3b64b05332bd4dd7fad3fff3cacd4f9de0512943f1548c6f1205fab1a74c83622024f30471805f57d625198cc32f647b32172914528fd5605d0bf61cb0c3ff1 0001-tree-object-size.cc-Fix-assert-constant-offset-in-ch.patch
|
||||
e91873055550eba051d9297bec5c6acd27abb9ee6ce8911cdd04b5faf37d77b6b2a7607ec588d2863f13f14b48af9398cb4ac42443d8567bfa5037dc6bd50404 0001-LoongArch-Only-allow-valid-binary-op-when-optimize-c.patch
|
||||
"
|
||||
@@ -1,31 +0,0 @@
|
||||
Provide struct_sock_fprog_sz on Linux, rather than on Linux+glibc.
|
||||
|
||||
With `#include <linux/filter.h>` `struct sock_fprog` is available when
|
||||
linux headers are available. It seems that glibc is just including that header
|
||||
as an implementation detail, while musl does not.
|
||||
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp 2025-08-08 08:51:45.621434001 +0200
|
||||
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp 2026-02-25 20:29:28.519492722 +0100
|
||||
@@ -74,6 +74,7 @@
|
||||
#include <sys/vt.h>
|
||||
#include <linux/cdrom.h>
|
||||
#include <linux/fd.h>
|
||||
+#include <linux/filter.h>
|
||||
#if SANITIZER_ANDROID
|
||||
#include <linux/fs.h>
|
||||
#endif
|
||||
@@ -507,6 +508,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(El
|
||||
unsigned struct_seq_event_rec_sz = sizeof(struct seq_event_rec);
|
||||
unsigned struct_synth_info_sz = sizeof(struct synth_info);
|
||||
unsigned struct_vt_mode_sz = sizeof(struct vt_mode);
|
||||
+ unsigned struct_sock_fprog_sz = sizeof(struct sock_fprog);
|
||||
#endif // SANITIZER_LINUX
|
||||
|
||||
#if SANITIZER_GLIBC
|
||||
@@ -534,7 +536,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(El
|
||||
|
||||
unsigned struct_audio_buf_info_sz = sizeof(struct audio_buf_info);
|
||||
unsigned struct_ppp_stats_sz = sizeof(struct ppp_stats);
|
||||
- unsigned struct_sock_fprog_sz = sizeof(struct sock_fprog);
|
||||
# endif // SANITIZER_GLIBC
|
||||
|
||||
# if !SANITIZER_ANDROID && !SANITIZER_APPLE
|
||||
+7
-28
@@ -1,6 +1,7 @@
|
||||
# Automatically generated aport, do not edit!
|
||||
# Generator: pmbootstrap aportgen gcc-x86
|
||||
# Based on: main/gcc (from Alpine)
|
||||
|
||||
CTARGET_ARCH=x86
|
||||
CTARGET="$(arch_to_hostspec ${CTARGET_ARCH})"
|
||||
LANG_D=false
|
||||
@@ -22,7 +23,6 @@ CBUILDROOT="/"
|
||||
|
||||
_cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
|
||||
|
||||
maintainer="Oliver Smith <ollieparanoid@postmarketos.org>"
|
||||
pkgname=gcc-x86
|
||||
pkgver=15.2.0
|
||||
# i.e. 13.2.1, must match gcc/BASE-VER
|
||||
@@ -34,24 +34,19 @@ _pkgsnap="${pkgver##*_git}"
|
||||
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
|
||||
|
||||
pkgname=gcc-x86
|
||||
pkgrel=5
|
||||
pkgrel=2
|
||||
pkgdesc="Stage2 cross-compiler for x86"
|
||||
url="https://gcc.gnu.org"
|
||||
arch="aarch64 x86_64"
|
||||
arch="x86_64"
|
||||
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
|
||||
_gccrel=$pkgver-r$pkgrel
|
||||
depends="binutils-x86 mpc1 so:libgcc_s.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libstdc++.so.6 so:libz.so.1"
|
||||
|
||||
case "$CARCH" in
|
||||
aarch64) depends="$depends so:libc.musl-aarch64.so.1" ;;
|
||||
x86_64) depends="$depends so:libc.musl-x86_64.so.1" ;;
|
||||
esac
|
||||
depends="binutils-x86 mpc1 so:libc.musl-x86_64.so.1 so:libgcc_s.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libstdc++.so.6 so:libz.so.1"
|
||||
makedepends_build="gcc g++ bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev"
|
||||
makedepends_host="linux-headers gmp-dev mpfr-dev mpc1-dev isl-dev zlib-dev musl-dev-x86 binutils-x86"
|
||||
subpackages="g++-x86:gpp libstdc++-dev-x86:libcxx_dev"
|
||||
[ "$CHOST" = "$CTARGET" ] && subpackages="gcc-gdb gcc-doc"
|
||||
replaces="libstdc++ binutils"
|
||||
options="!strip !tracedeps toolchain"
|
||||
options="!strip !tracedeps"
|
||||
|
||||
: "${LANG_CXX:=true}"
|
||||
: "${LANG_D:=true}"
|
||||
@@ -180,7 +175,7 @@ esac
|
||||
|
||||
# libatomic is a dependency for openvswitch
|
||||
$_libatomic && subpackages="$subpackages libatomic::$CTARGET_ARCH"
|
||||
$_libgcc && subpackages="$subpackages libgcc::$CTARGET_ARCH libgcc-static:libgccstatic:$CTARGET_ARCH"
|
||||
$_libgcc && subpackages="$subpackages libgcc::$CTARGET_ARCH"
|
||||
$_libquadmath && subpackages="$subpackages libquadmath::$CTARGET_ARCH"
|
||||
if $_libgomp; then
|
||||
depends="$depends libgomp=$_gccrel"
|
||||
@@ -284,7 +279,6 @@ source="https://gcc.gnu.org/pub/gcc/releases/gcc-$_pkgbase/gcc-$_pkgbase.tar.xz
|
||||
0039-except-Don-t-use-the-cached-value-of-the-gcc_except_.patch
|
||||
0040-ada-libgnat-use-stub-symbolic-module-name-functions.patch
|
||||
0041-ada-libgnat-recognize-linux-musleabi-and-linux-muslg.patch
|
||||
0042-libsanitizer-struct_sock_fprog_sz.patch
|
||||
|
||||
0001-tree-object-size.cc-Fix-assert-constant-offset-in-ch.patch
|
||||
0001-LoongArch-Only-allow-valid-binary-op-when-optimize-c.patch
|
||||
@@ -586,12 +580,7 @@ gpp() {
|
||||
depends="libstdc++-dev$_target=$_gccrel gcc$_target=$_gccrel musl-dev"
|
||||
[ "$CHOST" = "$CTARGET" ] && depends="$depends libstdc++=$_gccrel"
|
||||
|
||||
depends="$depends so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libz.so.1"
|
||||
|
||||
case "$CARCH" in
|
||||
aarch64) depends="$depends so:libc.musl-aarch64.so.1" ;;
|
||||
x86_64) depends="$depends so:libc.musl-x86_64.so.1" ;;
|
||||
esac
|
||||
depends="$depends so:libc.musl-x86_64.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libz.so.1"
|
||||
|
||||
amove $_gcclibexec/cc1plus
|
||||
amove usr/bin/*++
|
||||
@@ -635,15 +624,6 @@ libgcc() {
|
||||
amove usr/lib/libgcc_s.so.*
|
||||
}
|
||||
|
||||
libgccstatic() {
|
||||
pkgdesc="GNU C compiler runtime libraries"
|
||||
depends=
|
||||
|
||||
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtbeginS.o
|
||||
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtendS.o
|
||||
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/libgcc.a
|
||||
}
|
||||
|
||||
libgomp() {
|
||||
pkgdesc="GCC shared-memory parallel programming API library"
|
||||
depends=
|
||||
@@ -816,7 +796,6 @@ eecc77e2a9cf956fd752693ad7f8ff8253a7bb557e00564bb488bbc1deac895e63104cc1182a0bdd
|
||||
9f4c3fa0d17cfcd72626bdbaf51992ff3018f878d673ab19b9056047ee2630b581e5a5a4d4857444f08ba9bcdb0fc94f90dcda6180816e39690d1652843f0d8a 0039-except-Don-t-use-the-cached-value-of-the-gcc_except_.patch
|
||||
d166475e340c91bbb24cf257240aab37129b04f2609e5ce323b530ab83853a4c34c525e0072c15732717f1681db07e6b3b0a4d268720c31f460435ccf4c99b7f 0040-ada-libgnat-use-stub-symbolic-module-name-functions.patch
|
||||
c717764ef52c0226a23cbf434654cdefa6cbf38ec625648575d9143c5513b16d8914c25015db743033b8a46ac5b2c33ab75e1b67076128d67bb1319e5a83dd85 0041-ada-libgnat-recognize-linux-musleabi-and-linux-muslg.patch
|
||||
5dd452a80c496a587a8826b04a4917045e4028631606e85cabd8e87e0460642d188a2156c4e0cf37a5d88e66ebd08a08393d48a6065045178c69eaba2edd063e 0042-libsanitizer-struct_sock_fprog_sz.patch
|
||||
c3b64b05332bd4dd7fad3fff3cacd4f9de0512943f1548c6f1205fab1a74c83622024f30471805f57d625198cc32f647b32172914528fd5605d0bf61cb0c3ff1 0001-tree-object-size.cc-Fix-assert-constant-offset-in-ch.patch
|
||||
e91873055550eba051d9297bec5c6acd27abb9ee6ce8911cdd04b5faf37d77b6b2a7607ec588d2863f13f14b48af9398cb4ac42443d8567bfa5037dc6bd50404 0001-LoongArch-Only-allow-valid-binary-op-when-optimize-c.patch
|
||||
"
|
||||
@@ -1,31 +0,0 @@
|
||||
Provide struct_sock_fprog_sz on Linux, rather than on Linux+glibc.
|
||||
|
||||
With `#include <linux/filter.h>` `struct sock_fprog` is available when
|
||||
linux headers are available. It seems that glibc is just including that header
|
||||
as an implementation detail, while musl does not.
|
||||
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp 2025-08-08 08:51:45.621434001 +0200
|
||||
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp 2026-02-25 20:29:28.519492722 +0100
|
||||
@@ -74,6 +74,7 @@
|
||||
#include <sys/vt.h>
|
||||
#include <linux/cdrom.h>
|
||||
#include <linux/fd.h>
|
||||
+#include <linux/filter.h>
|
||||
#if SANITIZER_ANDROID
|
||||
#include <linux/fs.h>
|
||||
#endif
|
||||
@@ -507,6 +508,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(El
|
||||
unsigned struct_seq_event_rec_sz = sizeof(struct seq_event_rec);
|
||||
unsigned struct_synth_info_sz = sizeof(struct synth_info);
|
||||
unsigned struct_vt_mode_sz = sizeof(struct vt_mode);
|
||||
+ unsigned struct_sock_fprog_sz = sizeof(struct sock_fprog);
|
||||
#endif // SANITIZER_LINUX
|
||||
|
||||
#if SANITIZER_GLIBC
|
||||
@@ -534,7 +536,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(El
|
||||
|
||||
unsigned struct_audio_buf_info_sz = sizeof(struct audio_buf_info);
|
||||
unsigned struct_ppp_stats_sz = sizeof(struct ppp_stats);
|
||||
- unsigned struct_sock_fprog_sz = sizeof(struct sock_fprog);
|
||||
# endif // SANITIZER_GLIBC
|
||||
|
||||
# if !SANITIZER_ANDROID && !SANITIZER_APPLE
|
||||
@@ -1,6 +1,7 @@
|
||||
# Automatically generated aport, do not edit!
|
||||
# Generator: pmbootstrap aportgen gcc-x86_64
|
||||
# Based on: main/gcc (from Alpine)
|
||||
|
||||
CTARGET_ARCH=x86_64
|
||||
CTARGET="$(arch_to_hostspec ${CTARGET_ARCH})"
|
||||
LANG_D=false
|
||||
@@ -22,7 +23,6 @@ CBUILDROOT="/"
|
||||
|
||||
_cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
|
||||
|
||||
maintainer="Oliver Smith <ollieparanoid@postmarketos.org>"
|
||||
pkgname=gcc-x86_64
|
||||
pkgver=15.2.0
|
||||
# i.e. 13.2.1, must match gcc/BASE-VER
|
||||
@@ -34,23 +34,19 @@ _pkgsnap="${pkgver##*_git}"
|
||||
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
|
||||
|
||||
pkgname=gcc-x86_64
|
||||
pkgrel=5
|
||||
pkgrel=2
|
||||
pkgdesc="Stage2 cross-compiler for x86_64"
|
||||
url="https://gcc.gnu.org"
|
||||
arch="aarch64"
|
||||
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
|
||||
_gccrel=$pkgver-r$pkgrel
|
||||
depends="binutils-x86_64 mpc1 so:libgcc_s.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libstdc++.so.6 so:libz.so.1"
|
||||
|
||||
case "$CARCH" in
|
||||
aarch64) depends="$depends so:libc.musl-aarch64.so.1" ;;
|
||||
esac
|
||||
depends="binutils-x86_64 mpc1 so:libc.musl-aarch64.so.1 so:libgcc_s.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libstdc++.so.6 so:libz.so.1"
|
||||
makedepends_build="gcc g++ bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev"
|
||||
makedepends_host="linux-headers gmp-dev mpfr-dev mpc1-dev isl-dev zlib-dev musl-dev-x86_64 binutils-x86_64"
|
||||
subpackages="g++-x86_64:gpp libstdc++-dev-x86_64:libcxx_dev"
|
||||
[ "$CHOST" = "$CTARGET" ] && subpackages="gcc-gdb gcc-doc"
|
||||
replaces="libstdc++ binutils"
|
||||
options="!strip !tracedeps toolchain"
|
||||
options="!strip !tracedeps"
|
||||
|
||||
: "${LANG_CXX:=true}"
|
||||
: "${LANG_D:=true}"
|
||||
@@ -179,7 +175,7 @@ esac
|
||||
|
||||
# libatomic is a dependency for openvswitch
|
||||
$_libatomic && subpackages="$subpackages libatomic::$CTARGET_ARCH"
|
||||
$_libgcc && subpackages="$subpackages libgcc::$CTARGET_ARCH libgcc-static:libgccstatic:$CTARGET_ARCH"
|
||||
$_libgcc && subpackages="$subpackages libgcc::$CTARGET_ARCH"
|
||||
$_libquadmath && subpackages="$subpackages libquadmath::$CTARGET_ARCH"
|
||||
if $_libgomp; then
|
||||
depends="$depends libgomp=$_gccrel"
|
||||
@@ -283,7 +279,6 @@ source="https://gcc.gnu.org/pub/gcc/releases/gcc-$_pkgbase/gcc-$_pkgbase.tar.xz
|
||||
0039-except-Don-t-use-the-cached-value-of-the-gcc_except_.patch
|
||||
0040-ada-libgnat-use-stub-symbolic-module-name-functions.patch
|
||||
0041-ada-libgnat-recognize-linux-musleabi-and-linux-muslg.patch
|
||||
0042-libsanitizer-struct_sock_fprog_sz.patch
|
||||
|
||||
0001-tree-object-size.cc-Fix-assert-constant-offset-in-ch.patch
|
||||
0001-LoongArch-Only-allow-valid-binary-op-when-optimize-c.patch
|
||||
@@ -585,11 +580,7 @@ gpp() {
|
||||
depends="libstdc++-dev$_target=$_gccrel gcc$_target=$_gccrel musl-dev"
|
||||
[ "$CHOST" = "$CTARGET" ] && depends="$depends libstdc++=$_gccrel"
|
||||
|
||||
depends="$depends so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libz.so.1"
|
||||
|
||||
case "$CARCH" in
|
||||
aarch64) depends="$depends so:libc.musl-aarch64.so.1" ;;
|
||||
esac
|
||||
depends="$depends so:libc.musl-aarch64.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libz.so.1"
|
||||
|
||||
amove $_gcclibexec/cc1plus
|
||||
amove usr/bin/*++
|
||||
@@ -633,15 +624,6 @@ libgcc() {
|
||||
amove usr/lib/libgcc_s.so.*
|
||||
}
|
||||
|
||||
libgccstatic() {
|
||||
pkgdesc="GNU C compiler runtime libraries"
|
||||
depends=
|
||||
|
||||
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtbeginS.o
|
||||
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtendS.o
|
||||
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/libgcc.a
|
||||
}
|
||||
|
||||
libgomp() {
|
||||
pkgdesc="GCC shared-memory parallel programming API library"
|
||||
depends=
|
||||
@@ -814,7 +796,6 @@ eecc77e2a9cf956fd752693ad7f8ff8253a7bb557e00564bb488bbc1deac895e63104cc1182a0bdd
|
||||
9f4c3fa0d17cfcd72626bdbaf51992ff3018f878d673ab19b9056047ee2630b581e5a5a4d4857444f08ba9bcdb0fc94f90dcda6180816e39690d1652843f0d8a 0039-except-Don-t-use-the-cached-value-of-the-gcc_except_.patch
|
||||
d166475e340c91bbb24cf257240aab37129b04f2609e5ce323b530ab83853a4c34c525e0072c15732717f1681db07e6b3b0a4d268720c31f460435ccf4c99b7f 0040-ada-libgnat-use-stub-symbolic-module-name-functions.patch
|
||||
c717764ef52c0226a23cbf434654cdefa6cbf38ec625648575d9143c5513b16d8914c25015db743033b8a46ac5b2c33ab75e1b67076128d67bb1319e5a83dd85 0041-ada-libgnat-recognize-linux-musleabi-and-linux-muslg.patch
|
||||
5dd452a80c496a587a8826b04a4917045e4028631606e85cabd8e87e0460642d188a2156c4e0cf37a5d88e66ebd08a08393d48a6065045178c69eaba2edd063e 0042-libsanitizer-struct_sock_fprog_sz.patch
|
||||
c3b64b05332bd4dd7fad3fff3cacd4f9de0512943f1548c6f1205fab1a74c83622024f30471805f57d625198cc32f647b32172914528fd5605d0bf61cb0c3ff1 0001-tree-object-size.cc-Fix-assert-constant-offset-in-ch.patch
|
||||
e91873055550eba051d9297bec5c6acd27abb9ee6ce8911cdd04b5faf37d77b6b2a7607ec588d2863f13f14b48af9398cb4ac42443d8567bfa5037dc6bd50404 0001-LoongArch-Only-allow-valid-binary-op-when-optimize-c.patch
|
||||
"
|
||||
@@ -0,0 +1,31 @@
|
||||
Enable -D_FORTIFY_SOURCE=2 by default.
|
||||
|
||||
Original patch from:
|
||||
http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.2/gentoo/10_all_default-fortify-source.patch
|
||||
|
||||
--- a/gcc/c-family/c-cppbuiltin.c
|
||||
+++ b/gcc/c-family/c-cppbuiltin.c
|
||||
@@ -951,6 +951,9 @@ c_cpp_builtins (cpp_reader *pfile)
|
||||
builtin_define_with_value ("__REGISTER_PREFIX__", REGISTER_PREFIX, 0);
|
||||
builtin_define_with_value ("__USER_LABEL_PREFIX__", user_label_prefix, 0);
|
||||
|
||||
+ /* Fortify Source enabled by default w/optimization. */
|
||||
+ cpp_define (pfile, "_FORTIFY_SOURCE=((defined __OPTIMIZE__ && __OPTIMIZE__ > 0) ? 2 : 0)");
|
||||
+
|
||||
/* Misc. */
|
||||
if (flag_gnu89_inline)
|
||||
cpp_define (pfile, "__GNUC_GNU_INLINE__");
|
||||
--- a/gcc/doc/gcc.info
|
||||
+++ b/gcc/doc/gcc.info
|
||||
@@ -6255,6 +6255,11 @@ find out the exact set of optimizations that are enabled at each level.
|
||||
Please note the warning under '-fgcse' about invoking '-O2' on
|
||||
programs that use computed gotos.
|
||||
|
||||
+ NOTE: In Alpine Linux, `-D_FORTIFY_SOURCE=2' is set by default, and is
|
||||
+ activated when `-Os' or `-O1' or higher is used. This enables additional
|
||||
+ compile-time and run-time checks for several libc functions. To disable,
|
||||
+ specify either `-U_FORTIFY_SOURCE' or `-D_FORTIFY_SOURCE=0'.
|
||||
+
|
||||
'-O3'
|
||||
Optimize yet more. '-O3' turns on all optimizations specified by
|
||||
'-O2' and also turns on the '-finline-functions',
|
||||
+17
-63
@@ -1,6 +1,7 @@
|
||||
# Automatically generated aport, do not edit!
|
||||
# Generator: pmbootstrap aportgen gcc4-aarch64
|
||||
# Based on: main/gcc4 (from postmarketOS)
|
||||
|
||||
CTARGET_ARCH=aarch64
|
||||
CTARGET="$(arch_to_hostspec ${CTARGET_ARCH})"
|
||||
LANG_D=false
|
||||
@@ -22,22 +23,19 @@ CBUILDROOT="/"
|
||||
|
||||
_cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
|
||||
|
||||
maintainer=""
|
||||
pkgname=gcc4-aarch64
|
||||
pkgver=9999
|
||||
_pkgver=4.9.4
|
||||
pkgrel=10
|
||||
_pkgver=4.9.2
|
||||
pkgrel=7
|
||||
pkgdesc="Stage2 cross-compiler for aarch64"
|
||||
url="http://gcc.gnu.org"
|
||||
# loongarch64: not supported
|
||||
# ppc64le, riscv64: doesn't build
|
||||
arch="x86_64"
|
||||
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
|
||||
license="GPL LGPL"
|
||||
_gccrel=$_pkgver-r$pkgrel
|
||||
depends="binutils-aarch64 mpc1 so:libc.musl-x86_64.so.1 so:libgcc_s.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libstdc++.so.6 so:libz.so.1"
|
||||
depends="binutils-aarch64 mpc1"
|
||||
makedepends_build="gcc g++ bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev"
|
||||
makedepends_host="linux-headers gmp-dev mpfr-dev mpc1-dev isl-dev zlib-dev musl-dev-aarch64 binutils-aarch64"
|
||||
options="!strip !tracedeps toolchain"
|
||||
options="!strip"
|
||||
|
||||
# We only care about C, so we can compile old Linux kernels
|
||||
LANG_CXX=false
|
||||
@@ -69,23 +67,11 @@ if [ "$CHOST" != "$CTARGET" ]; then
|
||||
LIBATOMIC=false
|
||||
LIBITM=false
|
||||
|
||||
# format-sec: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100431
|
||||
CFLAGS="${CFLAGS/-Werror=format-security/}"
|
||||
CXXFLAGS="${CXXFLAGS/-Werror=format-security/}"
|
||||
CPPFLAGS="${CPPFLAGS/-Werror=format-security/}"
|
||||
# fstack-clash-protection is not known to GCC 4
|
||||
CFLAGS="${CFLAGS/-fstack-clash-protection/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fstack-clash-protection/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fstack-clash-protection/}"
|
||||
# and neither is -fno-plt
|
||||
CFLAGS="${CFLAGS/-fno-plt/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fno-plt/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fno-plt/}"
|
||||
# reset target flags (should be set in crosscreate abuild)
|
||||
# fixup flags. seems gcc treats CPPFLAGS as global without
|
||||
# _FOR_xxx variants. wrap it in CFLAGS and CXXFLAGS.
|
||||
export CFLAGS="$CPPFLAGS -g0 $CFLAGS"
|
||||
export CXXFLAGS="$CPPFLAGS -g0 $CXXFLAGS"
|
||||
export CFLAGS="$CPPFLAGS $CFLAGS"
|
||||
export CXXFLAGS="$CPPFLAGS $CXXFLAGS"
|
||||
unset CPPFLAGS
|
||||
export CFLAGS_FOR_TARGET=" "
|
||||
export CXXFLAGS_FOR_TARGET=" "
|
||||
@@ -93,23 +79,10 @@ if [ "$CHOST" != "$CTARGET" ]; then
|
||||
|
||||
STRIP_FOR_TARGET="$CTARGET-strip"
|
||||
elif [ "$CBUILD" != "$CHOST" ]; then
|
||||
# format-sec: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100431
|
||||
CFLAGS="${CFLAGS/-Werror=format-security/}"
|
||||
CXXFLAGS="${CXXFLAGS/-Werror=format-security/}"
|
||||
CPPFLAGS="${CPPFLAGS/-Werror=format-security/}"
|
||||
# fstack-clash-protection is not known to GCC 4
|
||||
CFLAGS="${CFLAGS/-fstack-clash-protection/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fstack-clash-protection/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fstack-clash-protection/}"
|
||||
# and neither is -fno-plt
|
||||
CFLAGS="${CFLAGS/-fno-plt/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fno-plt/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fno-plt/}"
|
||||
# reset target flags (should be set in crosscreate abuild)
|
||||
# fixup flags. seems gcc treats CPPFLAGS as global without
|
||||
# _FOR_xxx variants. wrap it in CFLAGS and CXXFLAGS.
|
||||
export CFLAGS="$CPPFLAGS -g0 $CFLAGS"
|
||||
export CXXFLAGS="$CPPFLAGS -g0 $CXXFLAGS"
|
||||
export CFLAGS="$CPPFLAGS $CFLAGS"
|
||||
export CXXFLAGS="$CPPFLAGS $CXXFLAGS"
|
||||
unset CPPFLAGS
|
||||
|
||||
# reset flags and cc for build
|
||||
@@ -133,31 +106,6 @@ elif [ "$CBUILD" != "$CHOST" ]; then
|
||||
else
|
||||
STRIP_FOR_TARGET=${CROSS_COMPILE}strip
|
||||
_builddir="$srcdir/build"
|
||||
|
||||
# format-sec: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100431
|
||||
CFLAGS="${CFLAGS/-Werror=format-security/}"
|
||||
CXXFLAGS="${CXXFLAGS/-Werror=format-security/}"
|
||||
CPPFLAGS="${CPPFLAGS/-Werror=format-security/}"
|
||||
# fstack-clash-protection is not known to GCC 4
|
||||
CFLAGS="${CFLAGS/-fstack-clash-protection/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fstack-clash-protection/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fstack-clash-protection/}"
|
||||
# and neither is -fno-plt
|
||||
CFLAGS="${CFLAGS/-fno-plt/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fno-plt/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fno-plt/}"
|
||||
# reset target flags (should be set in crosscreate abuild)
|
||||
# fixup flags. seems gcc treats CPPFLAGS as global without
|
||||
# _FOR_xxx variants. wrap it in CFLAGS and CXXFLAGS.
|
||||
export CFLAGS="$CPPFLAGS -g0 $CFLAGS -O2"
|
||||
export CXXFLAGS="$CPPFLAGS -g0 $CXXFLAGS -O2"
|
||||
unset CPPFLAGS
|
||||
# https://gcc.gnu.org/install/build.html
|
||||
export CFLAGS_FOR_TARGET="$CFLAGS"
|
||||
export CXXFLAGS_FOR_TARGET="$CXXFLAGS"
|
||||
export LDFLAGS_FOR_TARGET="$LDFLAGS"
|
||||
export BOOT_CFLAGS="$CFLAGS"
|
||||
export BOOT_LDFLAGS="$LDFLAGS"
|
||||
fi
|
||||
|
||||
# Go needs {set,make,swap}context, unimplemented in musl
|
||||
@@ -228,6 +176,7 @@ source="http://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$_pkgver}/gcc-${_pkg
|
||||
40_all_gcc49_config_esp.patch
|
||||
41_all_gcc49_config_esp_alpine.patch
|
||||
|
||||
10_all_default-fortify-source.patch
|
||||
12_all_default-warn-trampolines.patch
|
||||
15_all_libgfortran-Werror.patch
|
||||
16_all_libgomp-Werror.patch
|
||||
@@ -244,6 +193,7 @@ source="http://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$_pkgver}/gcc-${_pkg
|
||||
gcc-4.9-musl.patch
|
||||
gcc-4.8-musl-fix-iteratephdr.patch
|
||||
gcc-4.8-musl-libssp.patch
|
||||
gcc-4.9-musl-fortify.patch
|
||||
boehm-gc-uclibc.patch
|
||||
boehm-gc-musl.patch
|
||||
gcc-pure64.patch
|
||||
@@ -251,6 +201,7 @@ source="http://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$_pkgver}/gcc-${_pkg
|
||||
fix-gcj-iconv-musl.patch
|
||||
musl-posix_memalign-c++.patch
|
||||
pr63740.patch
|
||||
pr64037.patch
|
||||
|
||||
gcc-4.8-build-args.patch
|
||||
fix-cxxflags-passing.patch
|
||||
@@ -484,7 +435,7 @@ package() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
ca0f589f33987755195e81a9c7a83f797cfe5775fca908d025eb3ddbe8857edd666d272c2e97088c1808b268c5785326b72f2a340a277f6aa2c9bfe22c02ad69 gcc-4.9.4.tar.gz
|
||||
35a1386ae2b8629cd464383fbb3c61e94a07f3691f48b8029b97cc62a60c792ffb870aad2343b2ad8185bf46f77e1e1dd62309ecdadc42f919874c6e2c58b936 gcc-4.9.2.tar.gz
|
||||
28f8c6fdbcb19e950b1d0bafb3bcc7a8cba87bc673aa6027cece116599cdee80f0cf5e95a1440544890239f5c754e8a93ab46d9daedd937faef445d7ea33b226 ecj-4.9.jar
|
||||
618a8d037ccad15e60182acc9c85ba844cb9b5800a22ece0b814e43541b01b4e390a2847f86debb351f4b05580241747fde87e86a17060744e7bb2b9a3dc5bd4 01_all_gcc49_configure.patch
|
||||
21770259c7916e55568027926e4a543eea468b04436cc61c28f749be5a6635c48e68b7924a8eb19a76733a9d2f00921ba06faddaedbf14b1cdad5ab1810cc6c6 02_all_gcc48_config.in.patch
|
||||
@@ -497,6 +448,7 @@ dd5b9b30eb7716cb3c010ca79a83ed6219ff6e6f2557deb4e1d26cecac0f2b14c4ef7bf4dc5c2aec
|
||||
8829f85323d8b11e26e3c19ced4a51875fc63f1483cfdc4d0f579a6cb37e1b6e23fcf33a87a574a6e0007250374ea46d117a136e73a40fbe43f0e39d9b2dd1a8 35_all_gcc48_config_arm.patch
|
||||
976994900d20a448b97fa91e1d758b6da6d8ad9121b3dbc2e8f66ff8006d8e496cd3dddc41394db6c4d20366d56fe12375b97f494d6fb9abb8e64ab626acc2ef 40_all_gcc49_config_esp.patch
|
||||
e2d027be2e76a64a607ae44566d163bcc2a03c9e14d5bd20cd8bb15c2e9e395d8964b747a6a9c49541a5d1613d721855b73d60cce7c834427b44788fa92d44dc 41_all_gcc49_config_esp_alpine.patch
|
||||
6cdac0741568b418af1e267a69b487e48a98e319f5ec8ab2bad293f2520ceced40c7df7ddef84963f5b101b94f34e441574c501ef3993ded097beb7c9d3b205f 10_all_default-fortify-source.patch
|
||||
5069e4b741488913a646a9b5d871af8e7f7a606158ea09305d0ddd46257c5b659770627bc2ca3abeaae039da1717b3ba6c9cd90554a441da74eb4ecf24c13074 12_all_default-warn-trampolines.patch
|
||||
c18a99b7303a734fe4dca9d4e90e21d18e5bd71c7d91e1a26c86b1354c73f567590a875941bfe64ce59f0393023b91c606c96b30885c55b98a790c3ab0c84ca7 15_all_libgfortran-Werror.patch
|
||||
433404fd9bfa172d69fff4a5505e8648cbbbf5f052d2b4235608ff7af0c4063d557d25d80c85c5bd0d1e1ed64b568e7bbc0cdbce11cc74db4c0189af3a01634a 16_all_libgomp-Werror.patch
|
||||
@@ -512,6 +464,7 @@ d08d7ead2de0429e5c9055d5b029ec2be9a8c821d22cecaf9b51f633652c493333f98963d9267fa2
|
||||
e2be926c0ed4d67587857652678253a2a4e42294009a0c4b9fc420e53b0e6d44d1a2c6c2c62db837bc010470e9e62eb4af1ba7f51ff507c41e40922cd022dd26 gcc-4.9-musl.patch
|
||||
b5b0210dfaccfe0b06f0a9090666b1fae2a3faa4140b7930146b29531f0da9beb1f2c1f7e7bc2bd29179f9fe05dc30e246e96220b8ff75a90f75e8350c9058a1 gcc-4.8-musl-fix-iteratephdr.patch
|
||||
e6d9b103c128e5d4eca515b1496d78b05708de770597c883daddd95ea41e77b5ef1be613b989357cc870a7efd9e43b011022c2d302e7056cff7b69e764906ff2 gcc-4.8-musl-libssp.patch
|
||||
600fe5098dc54edaa9808fd5717af9dec058953f9ad37d49cfba1db4f7e9a7a8f02019342f75157fc575946fa693259422184de27b7ecc8386d9f3ecc0f7cc5d gcc-4.9-musl-fortify.patch
|
||||
e1d6a450dfb40b134ad7f759c4c10174d2490b0093fe47cb33479245f26a3a8c54ebcf6255943c0ccfcb5095600d1c05e530baeed35609c8ffe75caac8e57c49 boehm-gc-uclibc.patch
|
||||
bda845a6aa1854d2c883910b115f79ccfa93dfc2b5eac69a3a236d83eb34cadc140731d616ffc24698c7abc8878dd15f231bcc5119f1860e575a120b311706c7 boehm-gc-musl.patch
|
||||
4a5aeff0399782c752e6e3f2f48d984b2056dfb5d229b23a24eee1562d241339989b2203f139821cfc03c9b25c9bd7da6ccbbdc7a09d242e4de7f0d606c6f63c gcc-pure64.patch
|
||||
@@ -519,6 +472,7 @@ f89ddeb21bc8f97e6a850a6b70b4501a8f3e49a4bc8cc82897488decda5d98ad01cb7f6c8b392d45
|
||||
54d67cc008b735e47771314171930c5d8b8f5f5dc97fcf4214824c105c808f3e75d22d5a4fdf5068ed0457fa0d46c60cfb442e276259a4a5e9b8722a027d18e6 fix-gcj-iconv-musl.patch
|
||||
7de81fc8c7eb36690949eb30082515454978440a8f389b12407ac5e9125ef6824d6059ffb5b063ab1ccc6c4827b1a6a0984b538f056b85e3171800a6f723ec8b musl-posix_memalign-c++.patch
|
||||
095281d940ad7504ed7071cc9800d81db33eb4aa5465696ef7b12bf1213dbdfa701f4392095c5167b331c38219b19d25a0798524b319f1c77aa8522d76d8c92c pr63740.patch
|
||||
efc04b179d41b484eddddc56d0e442634995d56c994e6295ae09b9856ab46649d5f45f51ea84494ab39df41c213772d0e68aee67e66fdf340f0a647b55629ced pr64037.patch
|
||||
abe9aaf9aa956058d0386a4396a511d176a46bb3906b90e952383646cdc158cbeb0a5dc616a1ccb1ca7d49fd0b5e351532aa15a3b13362abbf1ca4266f54a687 gcc-4.8-build-args.patch
|
||||
35d6d59f0b7b968f282f56767c9e0823a7bdc5aa0d450aca50fbd802649a7ca608b47671244a3faa208a9b0d6832cabb5a22724157dc817b2c0ad63d09f93282 fix-cxxflags-passing.patch
|
||||
c731f4aaaa65c8950e1b2bd9331410f92d378fd8c7e718532dccaa27ee11984d51d74216c3611e89a802325b81d7f184116839dce2dab50cae9b643c20a82fe7 fix-cxxflags-for-target.patch
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
--- gcc-4.9.2/gcc/config/linux.h.orig 2015-03-09 13:27:13.289736710 +0000
|
||||
+++ gcc-4.9.2/gcc/config/linux.h 2015-03-09 13:29:32.295625046 +0000
|
||||
@@ -146,6 +146,8 @@
|
||||
|
||||
#ifdef NATIVE_SYSTEM_HEADER_DIR
|
||||
#define INCLUDE_DEFAULTS_MUSL_NATIVE \
|
||||
+ { NATIVE_SYSTEM_HEADER_DIR "/fortify", 0, 0, 0, 1, 2 }, \
|
||||
+ { NATIVE_SYSTEM_HEADER_DIR "/fortify", 0, 0, 0, 1, 0 }, \
|
||||
{ NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \
|
||||
{ NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 },
|
||||
#else
|
||||
@@ -0,0 +1,83 @@
|
||||
https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=0817dc6f0e6b973e0e3671eb72d3758a8f042324
|
||||
(changelog changes removed)
|
||||
|
||||
From 0817dc6f0e6b973e0e3671eb72d3758a8f042324 Mon Sep 17 00:00:00 2001
|
||||
From: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
|
||||
Date: Sun, 14 Dec 2014 16:07:03 +0000
|
||||
Subject: [PATCH] Pass unpromoted argument to promote_function_mode
|
||||
|
||||
This patch updates setup_incoming_promotions in combine.c to match what
|
||||
is actually passed in assign_parm_setup_reg in function.c.
|
||||
|
||||
Backported from mainline:
|
||||
|
||||
gcc/
|
||||
|
||||
PR rtl-optimization/64037
|
||||
* combine.c (setup_incoming_promotions): Pass the argument
|
||||
before any promotions happen to promote_function_mode.
|
||||
|
||||
gcc/testsuite/
|
||||
|
||||
PR rtl-optimization/64037
|
||||
* g++.dg/pr64037.C: New test.
|
||||
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@218721 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
---
|
||||
gcc/combine.c | 4 ++--
|
||||
gcc/testsuite/g++.dg/pr64037.C | 27 +++++++++++++++++++++++++++
|
||||
4 files changed, 46 insertions(+), 2 deletions(-)
|
||||
create mode 100644 gcc/testsuite/g++.dg/pr64037.C
|
||||
|
||||
diff --git a/gcc/combine.c b/gcc/combine.c
|
||||
index 7c00452..adea2c1 100644
|
||||
--- a/gcc/combine.c
|
||||
+++ b/gcc/combine.c
|
||||
@@ -1529,8 +1529,8 @@ setup_incoming_promotions (rtx first)
|
||||
uns3 = TYPE_UNSIGNED (DECL_ARG_TYPE (arg));
|
||||
|
||||
/* The mode and signedness of the argument as it is actually passed,
|
||||
- after any TARGET_PROMOTE_FUNCTION_ARGS-driven ABI promotions. */
|
||||
- mode3 = promote_function_mode (DECL_ARG_TYPE (arg), mode2, &uns3,
|
||||
+ see assign_parm_setup_reg in function.c. */
|
||||
+ mode3 = promote_function_mode (TREE_TYPE (arg), mode1, &uns3,
|
||||
TREE_TYPE (cfun->decl), 0);
|
||||
|
||||
/* The mode of the register in which the argument is being passed. */
|
||||
diff --git a/gcc/testsuite/g++.dg/pr64037.C b/gcc/testsuite/g++.dg/pr64037.C
|
||||
new file mode 100644
|
||||
index 0000000..e5cd0e2
|
||||
--- /dev/null
|
||||
+++ b/gcc/testsuite/g++.dg/pr64037.C
|
||||
@@ -0,0 +1,27 @@
|
||||
+// { dg-do run { target i?86-*-* x86_64-*-* } }
|
||||
+// { dg-options "-std=c++11 -Os" }
|
||||
+
|
||||
+enum class X : unsigned char {
|
||||
+ V = 2,
|
||||
+};
|
||||
+
|
||||
+static void
|
||||
+__attribute__((noinline,noclone))
|
||||
+foo(unsigned &out, unsigned a, X b)
|
||||
+{
|
||||
+ out = static_cast<unsigned>(b);
|
||||
+}
|
||||
+
|
||||
+int main()
|
||||
+{
|
||||
+ unsigned deadbeef = 0xDEADBEEF;
|
||||
+ asm volatile ("" : "+d" (deadbeef), "+c" (deadbeef));
|
||||
+
|
||||
+ unsigned out;
|
||||
+ foo(out, 2, X::V);
|
||||
+
|
||||
+ if (out != 2)
|
||||
+ __builtin_abort ();
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
--
|
||||
1.7.1
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
Enable -D_FORTIFY_SOURCE=2 by default.
|
||||
|
||||
Original patch from:
|
||||
http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.2/gentoo/10_all_default-fortify-source.patch
|
||||
|
||||
--- a/gcc/c-family/c-cppbuiltin.c
|
||||
+++ b/gcc/c-family/c-cppbuiltin.c
|
||||
@@ -951,6 +951,9 @@ c_cpp_builtins (cpp_reader *pfile)
|
||||
builtin_define_with_value ("__REGISTER_PREFIX__", REGISTER_PREFIX, 0);
|
||||
builtin_define_with_value ("__USER_LABEL_PREFIX__", user_label_prefix, 0);
|
||||
|
||||
+ /* Fortify Source enabled by default w/optimization. */
|
||||
+ cpp_define (pfile, "_FORTIFY_SOURCE=((defined __OPTIMIZE__ && __OPTIMIZE__ > 0) ? 2 : 0)");
|
||||
+
|
||||
/* Misc. */
|
||||
if (flag_gnu89_inline)
|
||||
cpp_define (pfile, "__GNUC_GNU_INLINE__");
|
||||
--- a/gcc/doc/gcc.info
|
||||
+++ b/gcc/doc/gcc.info
|
||||
@@ -6255,6 +6255,11 @@ find out the exact set of optimizations that are enabled at each level.
|
||||
Please note the warning under '-fgcse' about invoking '-O2' on
|
||||
programs that use computed gotos.
|
||||
|
||||
+ NOTE: In Alpine Linux, `-D_FORTIFY_SOURCE=2' is set by default, and is
|
||||
+ activated when `-Os' or `-O1' or higher is used. This enables additional
|
||||
+ compile-time and run-time checks for several libc functions. To disable,
|
||||
+ specify either `-U_FORTIFY_SOURCE' or `-D_FORTIFY_SOURCE=0'.
|
||||
+
|
||||
'-O3'
|
||||
Optimize yet more. '-O3' turns on all optimizations specified by
|
||||
'-O2' and also turns on the '-finline-functions',
|
||||
+17
-63
@@ -1,6 +1,7 @@
|
||||
# Automatically generated aport, do not edit!
|
||||
# Generator: pmbootstrap aportgen gcc4-armhf
|
||||
# Based on: main/gcc4 (from postmarketOS)
|
||||
|
||||
CTARGET_ARCH=armhf
|
||||
CTARGET="$(arch_to_hostspec ${CTARGET_ARCH})"
|
||||
LANG_D=false
|
||||
@@ -22,22 +23,19 @@ CBUILDROOT="/"
|
||||
|
||||
_cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
|
||||
|
||||
maintainer=""
|
||||
pkgname=gcc4-armhf
|
||||
pkgver=9999
|
||||
_pkgver=4.9.4
|
||||
pkgrel=10
|
||||
_pkgver=4.9.2
|
||||
pkgrel=7
|
||||
pkgdesc="Stage2 cross-compiler for armhf"
|
||||
url="http://gcc.gnu.org"
|
||||
# loongarch64: not supported
|
||||
# ppc64le, riscv64: doesn't build
|
||||
arch="x86_64"
|
||||
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
|
||||
license="GPL LGPL"
|
||||
_gccrel=$_pkgver-r$pkgrel
|
||||
depends="binutils-armhf mpc1 so:libc.musl-x86_64.so.1 so:libgcc_s.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libstdc++.so.6 so:libz.so.1"
|
||||
depends="binutils-armhf mpc1"
|
||||
makedepends_build="gcc g++ bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev"
|
||||
makedepends_host="linux-headers gmp-dev mpfr-dev mpc1-dev isl-dev zlib-dev musl-dev-armhf binutils-armhf"
|
||||
options="!strip !tracedeps toolchain"
|
||||
options="!strip"
|
||||
|
||||
# We only care about C, so we can compile old Linux kernels
|
||||
LANG_CXX=false
|
||||
@@ -69,23 +67,11 @@ if [ "$CHOST" != "$CTARGET" ]; then
|
||||
LIBATOMIC=false
|
||||
LIBITM=false
|
||||
|
||||
# format-sec: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100431
|
||||
CFLAGS="${CFLAGS/-Werror=format-security/}"
|
||||
CXXFLAGS="${CXXFLAGS/-Werror=format-security/}"
|
||||
CPPFLAGS="${CPPFLAGS/-Werror=format-security/}"
|
||||
# fstack-clash-protection is not known to GCC 4
|
||||
CFLAGS="${CFLAGS/-fstack-clash-protection/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fstack-clash-protection/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fstack-clash-protection/}"
|
||||
# and neither is -fno-plt
|
||||
CFLAGS="${CFLAGS/-fno-plt/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fno-plt/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fno-plt/}"
|
||||
# reset target flags (should be set in crosscreate abuild)
|
||||
# fixup flags. seems gcc treats CPPFLAGS as global without
|
||||
# _FOR_xxx variants. wrap it in CFLAGS and CXXFLAGS.
|
||||
export CFLAGS="$CPPFLAGS -g0 $CFLAGS"
|
||||
export CXXFLAGS="$CPPFLAGS -g0 $CXXFLAGS"
|
||||
export CFLAGS="$CPPFLAGS $CFLAGS"
|
||||
export CXXFLAGS="$CPPFLAGS $CXXFLAGS"
|
||||
unset CPPFLAGS
|
||||
export CFLAGS_FOR_TARGET=" "
|
||||
export CXXFLAGS_FOR_TARGET=" "
|
||||
@@ -93,23 +79,10 @@ if [ "$CHOST" != "$CTARGET" ]; then
|
||||
|
||||
STRIP_FOR_TARGET="$CTARGET-strip"
|
||||
elif [ "$CBUILD" != "$CHOST" ]; then
|
||||
# format-sec: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100431
|
||||
CFLAGS="${CFLAGS/-Werror=format-security/}"
|
||||
CXXFLAGS="${CXXFLAGS/-Werror=format-security/}"
|
||||
CPPFLAGS="${CPPFLAGS/-Werror=format-security/}"
|
||||
# fstack-clash-protection is not known to GCC 4
|
||||
CFLAGS="${CFLAGS/-fstack-clash-protection/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fstack-clash-protection/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fstack-clash-protection/}"
|
||||
# and neither is -fno-plt
|
||||
CFLAGS="${CFLAGS/-fno-plt/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fno-plt/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fno-plt/}"
|
||||
# reset target flags (should be set in crosscreate abuild)
|
||||
# fixup flags. seems gcc treats CPPFLAGS as global without
|
||||
# _FOR_xxx variants. wrap it in CFLAGS and CXXFLAGS.
|
||||
export CFLAGS="$CPPFLAGS -g0 $CFLAGS"
|
||||
export CXXFLAGS="$CPPFLAGS -g0 $CXXFLAGS"
|
||||
export CFLAGS="$CPPFLAGS $CFLAGS"
|
||||
export CXXFLAGS="$CPPFLAGS $CXXFLAGS"
|
||||
unset CPPFLAGS
|
||||
|
||||
# reset flags and cc for build
|
||||
@@ -133,31 +106,6 @@ elif [ "$CBUILD" != "$CHOST" ]; then
|
||||
else
|
||||
STRIP_FOR_TARGET=${CROSS_COMPILE}strip
|
||||
_builddir="$srcdir/build"
|
||||
|
||||
# format-sec: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100431
|
||||
CFLAGS="${CFLAGS/-Werror=format-security/}"
|
||||
CXXFLAGS="${CXXFLAGS/-Werror=format-security/}"
|
||||
CPPFLAGS="${CPPFLAGS/-Werror=format-security/}"
|
||||
# fstack-clash-protection is not known to GCC 4
|
||||
CFLAGS="${CFLAGS/-fstack-clash-protection/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fstack-clash-protection/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fstack-clash-protection/}"
|
||||
# and neither is -fno-plt
|
||||
CFLAGS="${CFLAGS/-fno-plt/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fno-plt/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fno-plt/}"
|
||||
# reset target flags (should be set in crosscreate abuild)
|
||||
# fixup flags. seems gcc treats CPPFLAGS as global without
|
||||
# _FOR_xxx variants. wrap it in CFLAGS and CXXFLAGS.
|
||||
export CFLAGS="$CPPFLAGS -g0 $CFLAGS -O2"
|
||||
export CXXFLAGS="$CPPFLAGS -g0 $CXXFLAGS -O2"
|
||||
unset CPPFLAGS
|
||||
# https://gcc.gnu.org/install/build.html
|
||||
export CFLAGS_FOR_TARGET="$CFLAGS"
|
||||
export CXXFLAGS_FOR_TARGET="$CXXFLAGS"
|
||||
export LDFLAGS_FOR_TARGET="$LDFLAGS"
|
||||
export BOOT_CFLAGS="$CFLAGS"
|
||||
export BOOT_LDFLAGS="$LDFLAGS"
|
||||
fi
|
||||
|
||||
# Go needs {set,make,swap}context, unimplemented in musl
|
||||
@@ -228,6 +176,7 @@ source="http://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$_pkgver}/gcc-${_pkg
|
||||
40_all_gcc49_config_esp.patch
|
||||
41_all_gcc49_config_esp_alpine.patch
|
||||
|
||||
10_all_default-fortify-source.patch
|
||||
12_all_default-warn-trampolines.patch
|
||||
15_all_libgfortran-Werror.patch
|
||||
16_all_libgomp-Werror.patch
|
||||
@@ -244,6 +193,7 @@ source="http://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$_pkgver}/gcc-${_pkg
|
||||
gcc-4.9-musl.patch
|
||||
gcc-4.8-musl-fix-iteratephdr.patch
|
||||
gcc-4.8-musl-libssp.patch
|
||||
gcc-4.9-musl-fortify.patch
|
||||
boehm-gc-uclibc.patch
|
||||
boehm-gc-musl.patch
|
||||
gcc-pure64.patch
|
||||
@@ -251,6 +201,7 @@ source="http://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$_pkgver}/gcc-${_pkg
|
||||
fix-gcj-iconv-musl.patch
|
||||
musl-posix_memalign-c++.patch
|
||||
pr63740.patch
|
||||
pr64037.patch
|
||||
|
||||
gcc-4.8-build-args.patch
|
||||
fix-cxxflags-passing.patch
|
||||
@@ -484,7 +435,7 @@ package() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
ca0f589f33987755195e81a9c7a83f797cfe5775fca908d025eb3ddbe8857edd666d272c2e97088c1808b268c5785326b72f2a340a277f6aa2c9bfe22c02ad69 gcc-4.9.4.tar.gz
|
||||
35a1386ae2b8629cd464383fbb3c61e94a07f3691f48b8029b97cc62a60c792ffb870aad2343b2ad8185bf46f77e1e1dd62309ecdadc42f919874c6e2c58b936 gcc-4.9.2.tar.gz
|
||||
28f8c6fdbcb19e950b1d0bafb3bcc7a8cba87bc673aa6027cece116599cdee80f0cf5e95a1440544890239f5c754e8a93ab46d9daedd937faef445d7ea33b226 ecj-4.9.jar
|
||||
618a8d037ccad15e60182acc9c85ba844cb9b5800a22ece0b814e43541b01b4e390a2847f86debb351f4b05580241747fde87e86a17060744e7bb2b9a3dc5bd4 01_all_gcc49_configure.patch
|
||||
21770259c7916e55568027926e4a543eea468b04436cc61c28f749be5a6635c48e68b7924a8eb19a76733a9d2f00921ba06faddaedbf14b1cdad5ab1810cc6c6 02_all_gcc48_config.in.patch
|
||||
@@ -497,6 +448,7 @@ dd5b9b30eb7716cb3c010ca79a83ed6219ff6e6f2557deb4e1d26cecac0f2b14c4ef7bf4dc5c2aec
|
||||
8829f85323d8b11e26e3c19ced4a51875fc63f1483cfdc4d0f579a6cb37e1b6e23fcf33a87a574a6e0007250374ea46d117a136e73a40fbe43f0e39d9b2dd1a8 35_all_gcc48_config_arm.patch
|
||||
976994900d20a448b97fa91e1d758b6da6d8ad9121b3dbc2e8f66ff8006d8e496cd3dddc41394db6c4d20366d56fe12375b97f494d6fb9abb8e64ab626acc2ef 40_all_gcc49_config_esp.patch
|
||||
e2d027be2e76a64a607ae44566d163bcc2a03c9e14d5bd20cd8bb15c2e9e395d8964b747a6a9c49541a5d1613d721855b73d60cce7c834427b44788fa92d44dc 41_all_gcc49_config_esp_alpine.patch
|
||||
6cdac0741568b418af1e267a69b487e48a98e319f5ec8ab2bad293f2520ceced40c7df7ddef84963f5b101b94f34e441574c501ef3993ded097beb7c9d3b205f 10_all_default-fortify-source.patch
|
||||
5069e4b741488913a646a9b5d871af8e7f7a606158ea09305d0ddd46257c5b659770627bc2ca3abeaae039da1717b3ba6c9cd90554a441da74eb4ecf24c13074 12_all_default-warn-trampolines.patch
|
||||
c18a99b7303a734fe4dca9d4e90e21d18e5bd71c7d91e1a26c86b1354c73f567590a875941bfe64ce59f0393023b91c606c96b30885c55b98a790c3ab0c84ca7 15_all_libgfortran-Werror.patch
|
||||
433404fd9bfa172d69fff4a5505e8648cbbbf5f052d2b4235608ff7af0c4063d557d25d80c85c5bd0d1e1ed64b568e7bbc0cdbce11cc74db4c0189af3a01634a 16_all_libgomp-Werror.patch
|
||||
@@ -512,6 +464,7 @@ d08d7ead2de0429e5c9055d5b029ec2be9a8c821d22cecaf9b51f633652c493333f98963d9267fa2
|
||||
e2be926c0ed4d67587857652678253a2a4e42294009a0c4b9fc420e53b0e6d44d1a2c6c2c62db837bc010470e9e62eb4af1ba7f51ff507c41e40922cd022dd26 gcc-4.9-musl.patch
|
||||
b5b0210dfaccfe0b06f0a9090666b1fae2a3faa4140b7930146b29531f0da9beb1f2c1f7e7bc2bd29179f9fe05dc30e246e96220b8ff75a90f75e8350c9058a1 gcc-4.8-musl-fix-iteratephdr.patch
|
||||
e6d9b103c128e5d4eca515b1496d78b05708de770597c883daddd95ea41e77b5ef1be613b989357cc870a7efd9e43b011022c2d302e7056cff7b69e764906ff2 gcc-4.8-musl-libssp.patch
|
||||
600fe5098dc54edaa9808fd5717af9dec058953f9ad37d49cfba1db4f7e9a7a8f02019342f75157fc575946fa693259422184de27b7ecc8386d9f3ecc0f7cc5d gcc-4.9-musl-fortify.patch
|
||||
e1d6a450dfb40b134ad7f759c4c10174d2490b0093fe47cb33479245f26a3a8c54ebcf6255943c0ccfcb5095600d1c05e530baeed35609c8ffe75caac8e57c49 boehm-gc-uclibc.patch
|
||||
bda845a6aa1854d2c883910b115f79ccfa93dfc2b5eac69a3a236d83eb34cadc140731d616ffc24698c7abc8878dd15f231bcc5119f1860e575a120b311706c7 boehm-gc-musl.patch
|
||||
4a5aeff0399782c752e6e3f2f48d984b2056dfb5d229b23a24eee1562d241339989b2203f139821cfc03c9b25c9bd7da6ccbbdc7a09d242e4de7f0d606c6f63c gcc-pure64.patch
|
||||
@@ -519,6 +472,7 @@ f89ddeb21bc8f97e6a850a6b70b4501a8f3e49a4bc8cc82897488decda5d98ad01cb7f6c8b392d45
|
||||
54d67cc008b735e47771314171930c5d8b8f5f5dc97fcf4214824c105c808f3e75d22d5a4fdf5068ed0457fa0d46c60cfb442e276259a4a5e9b8722a027d18e6 fix-gcj-iconv-musl.patch
|
||||
7de81fc8c7eb36690949eb30082515454978440a8f389b12407ac5e9125ef6824d6059ffb5b063ab1ccc6c4827b1a6a0984b538f056b85e3171800a6f723ec8b musl-posix_memalign-c++.patch
|
||||
095281d940ad7504ed7071cc9800d81db33eb4aa5465696ef7b12bf1213dbdfa701f4392095c5167b331c38219b19d25a0798524b319f1c77aa8522d76d8c92c pr63740.patch
|
||||
efc04b179d41b484eddddc56d0e442634995d56c994e6295ae09b9856ab46649d5f45f51ea84494ab39df41c213772d0e68aee67e66fdf340f0a647b55629ced pr64037.patch
|
||||
abe9aaf9aa956058d0386a4396a511d176a46bb3906b90e952383646cdc158cbeb0a5dc616a1ccb1ca7d49fd0b5e351532aa15a3b13362abbf1ca4266f54a687 gcc-4.8-build-args.patch
|
||||
35d6d59f0b7b968f282f56767c9e0823a7bdc5aa0d450aca50fbd802649a7ca608b47671244a3faa208a9b0d6832cabb5a22724157dc817b2c0ad63d09f93282 fix-cxxflags-passing.patch
|
||||
c731f4aaaa65c8950e1b2bd9331410f92d378fd8c7e718532dccaa27ee11984d51d74216c3611e89a802325b81d7f184116839dce2dab50cae9b643c20a82fe7 fix-cxxflags-for-target.patch
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
--- gcc-4.9.2/gcc/config/linux.h.orig 2015-03-09 13:27:13.289736710 +0000
|
||||
+++ gcc-4.9.2/gcc/config/linux.h 2015-03-09 13:29:32.295625046 +0000
|
||||
@@ -146,6 +146,8 @@
|
||||
|
||||
#ifdef NATIVE_SYSTEM_HEADER_DIR
|
||||
#define INCLUDE_DEFAULTS_MUSL_NATIVE \
|
||||
+ { NATIVE_SYSTEM_HEADER_DIR "/fortify", 0, 0, 0, 1, 2 }, \
|
||||
+ { NATIVE_SYSTEM_HEADER_DIR "/fortify", 0, 0, 0, 1, 0 }, \
|
||||
{ NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \
|
||||
{ NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 },
|
||||
#else
|
||||
@@ -0,0 +1,83 @@
|
||||
https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=0817dc6f0e6b973e0e3671eb72d3758a8f042324
|
||||
(changelog changes removed)
|
||||
|
||||
From 0817dc6f0e6b973e0e3671eb72d3758a8f042324 Mon Sep 17 00:00:00 2001
|
||||
From: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
|
||||
Date: Sun, 14 Dec 2014 16:07:03 +0000
|
||||
Subject: [PATCH] Pass unpromoted argument to promote_function_mode
|
||||
|
||||
This patch updates setup_incoming_promotions in combine.c to match what
|
||||
is actually passed in assign_parm_setup_reg in function.c.
|
||||
|
||||
Backported from mainline:
|
||||
|
||||
gcc/
|
||||
|
||||
PR rtl-optimization/64037
|
||||
* combine.c (setup_incoming_promotions): Pass the argument
|
||||
before any promotions happen to promote_function_mode.
|
||||
|
||||
gcc/testsuite/
|
||||
|
||||
PR rtl-optimization/64037
|
||||
* g++.dg/pr64037.C: New test.
|
||||
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@218721 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
---
|
||||
gcc/combine.c | 4 ++--
|
||||
gcc/testsuite/g++.dg/pr64037.C | 27 +++++++++++++++++++++++++++
|
||||
4 files changed, 46 insertions(+), 2 deletions(-)
|
||||
create mode 100644 gcc/testsuite/g++.dg/pr64037.C
|
||||
|
||||
diff --git a/gcc/combine.c b/gcc/combine.c
|
||||
index 7c00452..adea2c1 100644
|
||||
--- a/gcc/combine.c
|
||||
+++ b/gcc/combine.c
|
||||
@@ -1529,8 +1529,8 @@ setup_incoming_promotions (rtx first)
|
||||
uns3 = TYPE_UNSIGNED (DECL_ARG_TYPE (arg));
|
||||
|
||||
/* The mode and signedness of the argument as it is actually passed,
|
||||
- after any TARGET_PROMOTE_FUNCTION_ARGS-driven ABI promotions. */
|
||||
- mode3 = promote_function_mode (DECL_ARG_TYPE (arg), mode2, &uns3,
|
||||
+ see assign_parm_setup_reg in function.c. */
|
||||
+ mode3 = promote_function_mode (TREE_TYPE (arg), mode1, &uns3,
|
||||
TREE_TYPE (cfun->decl), 0);
|
||||
|
||||
/* The mode of the register in which the argument is being passed. */
|
||||
diff --git a/gcc/testsuite/g++.dg/pr64037.C b/gcc/testsuite/g++.dg/pr64037.C
|
||||
new file mode 100644
|
||||
index 0000000..e5cd0e2
|
||||
--- /dev/null
|
||||
+++ b/gcc/testsuite/g++.dg/pr64037.C
|
||||
@@ -0,0 +1,27 @@
|
||||
+// { dg-do run { target i?86-*-* x86_64-*-* } }
|
||||
+// { dg-options "-std=c++11 -Os" }
|
||||
+
|
||||
+enum class X : unsigned char {
|
||||
+ V = 2,
|
||||
+};
|
||||
+
|
||||
+static void
|
||||
+__attribute__((noinline,noclone))
|
||||
+foo(unsigned &out, unsigned a, X b)
|
||||
+{
|
||||
+ out = static_cast<unsigned>(b);
|
||||
+}
|
||||
+
|
||||
+int main()
|
||||
+{
|
||||
+ unsigned deadbeef = 0xDEADBEEF;
|
||||
+ asm volatile ("" : "+d" (deadbeef), "+c" (deadbeef));
|
||||
+
|
||||
+ unsigned out;
|
||||
+ foo(out, 2, X::V);
|
||||
+
|
||||
+ if (out != 2)
|
||||
+ __builtin_abort ();
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
--
|
||||
1.7.1
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
Enable -D_FORTIFY_SOURCE=2 by default.
|
||||
|
||||
Original patch from:
|
||||
http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo/src/patchsets/gcc/4.9.2/gentoo/10_all_default-fortify-source.patch
|
||||
|
||||
--- a/gcc/c-family/c-cppbuiltin.c
|
||||
+++ b/gcc/c-family/c-cppbuiltin.c
|
||||
@@ -951,6 +951,9 @@ c_cpp_builtins (cpp_reader *pfile)
|
||||
builtin_define_with_value ("__REGISTER_PREFIX__", REGISTER_PREFIX, 0);
|
||||
builtin_define_with_value ("__USER_LABEL_PREFIX__", user_label_prefix, 0);
|
||||
|
||||
+ /* Fortify Source enabled by default w/optimization. */
|
||||
+ cpp_define (pfile, "_FORTIFY_SOURCE=((defined __OPTIMIZE__ && __OPTIMIZE__ > 0) ? 2 : 0)");
|
||||
+
|
||||
/* Misc. */
|
||||
if (flag_gnu89_inline)
|
||||
cpp_define (pfile, "__GNUC_GNU_INLINE__");
|
||||
--- a/gcc/doc/gcc.info
|
||||
+++ b/gcc/doc/gcc.info
|
||||
@@ -6255,6 +6255,11 @@ find out the exact set of optimizations that are enabled at each level.
|
||||
Please note the warning under '-fgcse' about invoking '-O2' on
|
||||
programs that use computed gotos.
|
||||
|
||||
+ NOTE: In Alpine Linux, `-D_FORTIFY_SOURCE=2' is set by default, and is
|
||||
+ activated when `-Os' or `-O1' or higher is used. This enables additional
|
||||
+ compile-time and run-time checks for several libc functions. To disable,
|
||||
+ specify either `-U_FORTIFY_SOURCE' or `-D_FORTIFY_SOURCE=0'.
|
||||
+
|
||||
'-O3'
|
||||
Optimize yet more. '-O3' turns on all optimizations specified by
|
||||
'-O2' and also turns on the '-finline-functions',
|
||||
+17
-63
@@ -1,6 +1,7 @@
|
||||
# Automatically generated aport, do not edit!
|
||||
# Generator: pmbootstrap aportgen gcc4-armv7
|
||||
# Based on: main/gcc4 (from postmarketOS)
|
||||
|
||||
CTARGET_ARCH=armv7
|
||||
CTARGET="$(arch_to_hostspec ${CTARGET_ARCH})"
|
||||
LANG_D=false
|
||||
@@ -22,22 +23,19 @@ CBUILDROOT="/"
|
||||
|
||||
_cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
|
||||
|
||||
maintainer=""
|
||||
pkgname=gcc4-armv7
|
||||
pkgver=9999
|
||||
_pkgver=4.9.4
|
||||
pkgrel=10
|
||||
_pkgver=4.9.2
|
||||
pkgrel=7
|
||||
pkgdesc="Stage2 cross-compiler for armv7"
|
||||
url="http://gcc.gnu.org"
|
||||
# loongarch64: not supported
|
||||
# ppc64le, riscv64: doesn't build
|
||||
arch="x86_64"
|
||||
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
|
||||
license="GPL LGPL"
|
||||
_gccrel=$_pkgver-r$pkgrel
|
||||
depends="binutils-armv7 mpc1 so:libc.musl-x86_64.so.1 so:libgcc_s.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libstdc++.so.6 so:libz.so.1"
|
||||
depends="binutils-armv7 mpc1"
|
||||
makedepends_build="gcc g++ bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev"
|
||||
makedepends_host="linux-headers gmp-dev mpfr-dev mpc1-dev isl-dev zlib-dev musl-dev-armv7 binutils-armv7"
|
||||
options="!strip !tracedeps toolchain"
|
||||
options="!strip"
|
||||
|
||||
# We only care about C, so we can compile old Linux kernels
|
||||
LANG_CXX=false
|
||||
@@ -69,23 +67,11 @@ if [ "$CHOST" != "$CTARGET" ]; then
|
||||
LIBATOMIC=false
|
||||
LIBITM=false
|
||||
|
||||
# format-sec: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100431
|
||||
CFLAGS="${CFLAGS/-Werror=format-security/}"
|
||||
CXXFLAGS="${CXXFLAGS/-Werror=format-security/}"
|
||||
CPPFLAGS="${CPPFLAGS/-Werror=format-security/}"
|
||||
# fstack-clash-protection is not known to GCC 4
|
||||
CFLAGS="${CFLAGS/-fstack-clash-protection/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fstack-clash-protection/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fstack-clash-protection/}"
|
||||
# and neither is -fno-plt
|
||||
CFLAGS="${CFLAGS/-fno-plt/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fno-plt/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fno-plt/}"
|
||||
# reset target flags (should be set in crosscreate abuild)
|
||||
# fixup flags. seems gcc treats CPPFLAGS as global without
|
||||
# _FOR_xxx variants. wrap it in CFLAGS and CXXFLAGS.
|
||||
export CFLAGS="$CPPFLAGS -g0 $CFLAGS"
|
||||
export CXXFLAGS="$CPPFLAGS -g0 $CXXFLAGS"
|
||||
export CFLAGS="$CPPFLAGS $CFLAGS"
|
||||
export CXXFLAGS="$CPPFLAGS $CXXFLAGS"
|
||||
unset CPPFLAGS
|
||||
export CFLAGS_FOR_TARGET=" "
|
||||
export CXXFLAGS_FOR_TARGET=" "
|
||||
@@ -93,23 +79,10 @@ if [ "$CHOST" != "$CTARGET" ]; then
|
||||
|
||||
STRIP_FOR_TARGET="$CTARGET-strip"
|
||||
elif [ "$CBUILD" != "$CHOST" ]; then
|
||||
# format-sec: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100431
|
||||
CFLAGS="${CFLAGS/-Werror=format-security/}"
|
||||
CXXFLAGS="${CXXFLAGS/-Werror=format-security/}"
|
||||
CPPFLAGS="${CPPFLAGS/-Werror=format-security/}"
|
||||
# fstack-clash-protection is not known to GCC 4
|
||||
CFLAGS="${CFLAGS/-fstack-clash-protection/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fstack-clash-protection/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fstack-clash-protection/}"
|
||||
# and neither is -fno-plt
|
||||
CFLAGS="${CFLAGS/-fno-plt/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fno-plt/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fno-plt/}"
|
||||
# reset target flags (should be set in crosscreate abuild)
|
||||
# fixup flags. seems gcc treats CPPFLAGS as global without
|
||||
# _FOR_xxx variants. wrap it in CFLAGS and CXXFLAGS.
|
||||
export CFLAGS="$CPPFLAGS -g0 $CFLAGS"
|
||||
export CXXFLAGS="$CPPFLAGS -g0 $CXXFLAGS"
|
||||
export CFLAGS="$CPPFLAGS $CFLAGS"
|
||||
export CXXFLAGS="$CPPFLAGS $CXXFLAGS"
|
||||
unset CPPFLAGS
|
||||
|
||||
# reset flags and cc for build
|
||||
@@ -133,31 +106,6 @@ elif [ "$CBUILD" != "$CHOST" ]; then
|
||||
else
|
||||
STRIP_FOR_TARGET=${CROSS_COMPILE}strip
|
||||
_builddir="$srcdir/build"
|
||||
|
||||
# format-sec: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100431
|
||||
CFLAGS="${CFLAGS/-Werror=format-security/}"
|
||||
CXXFLAGS="${CXXFLAGS/-Werror=format-security/}"
|
||||
CPPFLAGS="${CPPFLAGS/-Werror=format-security/}"
|
||||
# fstack-clash-protection is not known to GCC 4
|
||||
CFLAGS="${CFLAGS/-fstack-clash-protection/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fstack-clash-protection/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fstack-clash-protection/}"
|
||||
# and neither is -fno-plt
|
||||
CFLAGS="${CFLAGS/-fno-plt/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fno-plt/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fno-plt/}"
|
||||
# reset target flags (should be set in crosscreate abuild)
|
||||
# fixup flags. seems gcc treats CPPFLAGS as global without
|
||||
# _FOR_xxx variants. wrap it in CFLAGS and CXXFLAGS.
|
||||
export CFLAGS="$CPPFLAGS -g0 $CFLAGS -O2"
|
||||
export CXXFLAGS="$CPPFLAGS -g0 $CXXFLAGS -O2"
|
||||
unset CPPFLAGS
|
||||
# https://gcc.gnu.org/install/build.html
|
||||
export CFLAGS_FOR_TARGET="$CFLAGS"
|
||||
export CXXFLAGS_FOR_TARGET="$CXXFLAGS"
|
||||
export LDFLAGS_FOR_TARGET="$LDFLAGS"
|
||||
export BOOT_CFLAGS="$CFLAGS"
|
||||
export BOOT_LDFLAGS="$LDFLAGS"
|
||||
fi
|
||||
|
||||
# Go needs {set,make,swap}context, unimplemented in musl
|
||||
@@ -228,6 +176,7 @@ source="http://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$_pkgver}/gcc-${_pkg
|
||||
40_all_gcc49_config_esp.patch
|
||||
41_all_gcc49_config_esp_alpine.patch
|
||||
|
||||
10_all_default-fortify-source.patch
|
||||
12_all_default-warn-trampolines.patch
|
||||
15_all_libgfortran-Werror.patch
|
||||
16_all_libgomp-Werror.patch
|
||||
@@ -244,6 +193,7 @@ source="http://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$_pkgver}/gcc-${_pkg
|
||||
gcc-4.9-musl.patch
|
||||
gcc-4.8-musl-fix-iteratephdr.patch
|
||||
gcc-4.8-musl-libssp.patch
|
||||
gcc-4.9-musl-fortify.patch
|
||||
boehm-gc-uclibc.patch
|
||||
boehm-gc-musl.patch
|
||||
gcc-pure64.patch
|
||||
@@ -251,6 +201,7 @@ source="http://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$_pkgver}/gcc-${_pkg
|
||||
fix-gcj-iconv-musl.patch
|
||||
musl-posix_memalign-c++.patch
|
||||
pr63740.patch
|
||||
pr64037.patch
|
||||
|
||||
gcc-4.8-build-args.patch
|
||||
fix-cxxflags-passing.patch
|
||||
@@ -484,7 +435,7 @@ package() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
ca0f589f33987755195e81a9c7a83f797cfe5775fca908d025eb3ddbe8857edd666d272c2e97088c1808b268c5785326b72f2a340a277f6aa2c9bfe22c02ad69 gcc-4.9.4.tar.gz
|
||||
35a1386ae2b8629cd464383fbb3c61e94a07f3691f48b8029b97cc62a60c792ffb870aad2343b2ad8185bf46f77e1e1dd62309ecdadc42f919874c6e2c58b936 gcc-4.9.2.tar.gz
|
||||
28f8c6fdbcb19e950b1d0bafb3bcc7a8cba87bc673aa6027cece116599cdee80f0cf5e95a1440544890239f5c754e8a93ab46d9daedd937faef445d7ea33b226 ecj-4.9.jar
|
||||
618a8d037ccad15e60182acc9c85ba844cb9b5800a22ece0b814e43541b01b4e390a2847f86debb351f4b05580241747fde87e86a17060744e7bb2b9a3dc5bd4 01_all_gcc49_configure.patch
|
||||
21770259c7916e55568027926e4a543eea468b04436cc61c28f749be5a6635c48e68b7924a8eb19a76733a9d2f00921ba06faddaedbf14b1cdad5ab1810cc6c6 02_all_gcc48_config.in.patch
|
||||
@@ -497,6 +448,7 @@ dd5b9b30eb7716cb3c010ca79a83ed6219ff6e6f2557deb4e1d26cecac0f2b14c4ef7bf4dc5c2aec
|
||||
8829f85323d8b11e26e3c19ced4a51875fc63f1483cfdc4d0f579a6cb37e1b6e23fcf33a87a574a6e0007250374ea46d117a136e73a40fbe43f0e39d9b2dd1a8 35_all_gcc48_config_arm.patch
|
||||
976994900d20a448b97fa91e1d758b6da6d8ad9121b3dbc2e8f66ff8006d8e496cd3dddc41394db6c4d20366d56fe12375b97f494d6fb9abb8e64ab626acc2ef 40_all_gcc49_config_esp.patch
|
||||
e2d027be2e76a64a607ae44566d163bcc2a03c9e14d5bd20cd8bb15c2e9e395d8964b747a6a9c49541a5d1613d721855b73d60cce7c834427b44788fa92d44dc 41_all_gcc49_config_esp_alpine.patch
|
||||
6cdac0741568b418af1e267a69b487e48a98e319f5ec8ab2bad293f2520ceced40c7df7ddef84963f5b101b94f34e441574c501ef3993ded097beb7c9d3b205f 10_all_default-fortify-source.patch
|
||||
5069e4b741488913a646a9b5d871af8e7f7a606158ea09305d0ddd46257c5b659770627bc2ca3abeaae039da1717b3ba6c9cd90554a441da74eb4ecf24c13074 12_all_default-warn-trampolines.patch
|
||||
c18a99b7303a734fe4dca9d4e90e21d18e5bd71c7d91e1a26c86b1354c73f567590a875941bfe64ce59f0393023b91c606c96b30885c55b98a790c3ab0c84ca7 15_all_libgfortran-Werror.patch
|
||||
433404fd9bfa172d69fff4a5505e8648cbbbf5f052d2b4235608ff7af0c4063d557d25d80c85c5bd0d1e1ed64b568e7bbc0cdbce11cc74db4c0189af3a01634a 16_all_libgomp-Werror.patch
|
||||
@@ -512,6 +464,7 @@ d08d7ead2de0429e5c9055d5b029ec2be9a8c821d22cecaf9b51f633652c493333f98963d9267fa2
|
||||
e2be926c0ed4d67587857652678253a2a4e42294009a0c4b9fc420e53b0e6d44d1a2c6c2c62db837bc010470e9e62eb4af1ba7f51ff507c41e40922cd022dd26 gcc-4.9-musl.patch
|
||||
b5b0210dfaccfe0b06f0a9090666b1fae2a3faa4140b7930146b29531f0da9beb1f2c1f7e7bc2bd29179f9fe05dc30e246e96220b8ff75a90f75e8350c9058a1 gcc-4.8-musl-fix-iteratephdr.patch
|
||||
e6d9b103c128e5d4eca515b1496d78b05708de770597c883daddd95ea41e77b5ef1be613b989357cc870a7efd9e43b011022c2d302e7056cff7b69e764906ff2 gcc-4.8-musl-libssp.patch
|
||||
600fe5098dc54edaa9808fd5717af9dec058953f9ad37d49cfba1db4f7e9a7a8f02019342f75157fc575946fa693259422184de27b7ecc8386d9f3ecc0f7cc5d gcc-4.9-musl-fortify.patch
|
||||
e1d6a450dfb40b134ad7f759c4c10174d2490b0093fe47cb33479245f26a3a8c54ebcf6255943c0ccfcb5095600d1c05e530baeed35609c8ffe75caac8e57c49 boehm-gc-uclibc.patch
|
||||
bda845a6aa1854d2c883910b115f79ccfa93dfc2b5eac69a3a236d83eb34cadc140731d616ffc24698c7abc8878dd15f231bcc5119f1860e575a120b311706c7 boehm-gc-musl.patch
|
||||
4a5aeff0399782c752e6e3f2f48d984b2056dfb5d229b23a24eee1562d241339989b2203f139821cfc03c9b25c9bd7da6ccbbdc7a09d242e4de7f0d606c6f63c gcc-pure64.patch
|
||||
@@ -519,6 +472,7 @@ f89ddeb21bc8f97e6a850a6b70b4501a8f3e49a4bc8cc82897488decda5d98ad01cb7f6c8b392d45
|
||||
54d67cc008b735e47771314171930c5d8b8f5f5dc97fcf4214824c105c808f3e75d22d5a4fdf5068ed0457fa0d46c60cfb442e276259a4a5e9b8722a027d18e6 fix-gcj-iconv-musl.patch
|
||||
7de81fc8c7eb36690949eb30082515454978440a8f389b12407ac5e9125ef6824d6059ffb5b063ab1ccc6c4827b1a6a0984b538f056b85e3171800a6f723ec8b musl-posix_memalign-c++.patch
|
||||
095281d940ad7504ed7071cc9800d81db33eb4aa5465696ef7b12bf1213dbdfa701f4392095c5167b331c38219b19d25a0798524b319f1c77aa8522d76d8c92c pr63740.patch
|
||||
efc04b179d41b484eddddc56d0e442634995d56c994e6295ae09b9856ab46649d5f45f51ea84494ab39df41c213772d0e68aee67e66fdf340f0a647b55629ced pr64037.patch
|
||||
abe9aaf9aa956058d0386a4396a511d176a46bb3906b90e952383646cdc158cbeb0a5dc616a1ccb1ca7d49fd0b5e351532aa15a3b13362abbf1ca4266f54a687 gcc-4.8-build-args.patch
|
||||
35d6d59f0b7b968f282f56767c9e0823a7bdc5aa0d450aca50fbd802649a7ca608b47671244a3faa208a9b0d6832cabb5a22724157dc817b2c0ad63d09f93282 fix-cxxflags-passing.patch
|
||||
c731f4aaaa65c8950e1b2bd9331410f92d378fd8c7e718532dccaa27ee11984d51d74216c3611e89a802325b81d7f184116839dce2dab50cae9b643c20a82fe7 fix-cxxflags-for-target.patch
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
--- gcc-4.9.2/gcc/config/linux.h.orig 2015-03-09 13:27:13.289736710 +0000
|
||||
+++ gcc-4.9.2/gcc/config/linux.h 2015-03-09 13:29:32.295625046 +0000
|
||||
@@ -146,6 +146,8 @@
|
||||
|
||||
#ifdef NATIVE_SYSTEM_HEADER_DIR
|
||||
#define INCLUDE_DEFAULTS_MUSL_NATIVE \
|
||||
+ { NATIVE_SYSTEM_HEADER_DIR "/fortify", 0, 0, 0, 1, 2 }, \
|
||||
+ { NATIVE_SYSTEM_HEADER_DIR "/fortify", 0, 0, 0, 1, 0 }, \
|
||||
{ NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \
|
||||
{ NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 },
|
||||
#else
|
||||
@@ -0,0 +1,83 @@
|
||||
https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=0817dc6f0e6b973e0e3671eb72d3758a8f042324
|
||||
(changelog changes removed)
|
||||
|
||||
From 0817dc6f0e6b973e0e3671eb72d3758a8f042324 Mon Sep 17 00:00:00 2001
|
||||
From: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
|
||||
Date: Sun, 14 Dec 2014 16:07:03 +0000
|
||||
Subject: [PATCH] Pass unpromoted argument to promote_function_mode
|
||||
|
||||
This patch updates setup_incoming_promotions in combine.c to match what
|
||||
is actually passed in assign_parm_setup_reg in function.c.
|
||||
|
||||
Backported from mainline:
|
||||
|
||||
gcc/
|
||||
|
||||
PR rtl-optimization/64037
|
||||
* combine.c (setup_incoming_promotions): Pass the argument
|
||||
before any promotions happen to promote_function_mode.
|
||||
|
||||
gcc/testsuite/
|
||||
|
||||
PR rtl-optimization/64037
|
||||
* g++.dg/pr64037.C: New test.
|
||||
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@218721 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
---
|
||||
gcc/combine.c | 4 ++--
|
||||
gcc/testsuite/g++.dg/pr64037.C | 27 +++++++++++++++++++++++++++
|
||||
4 files changed, 46 insertions(+), 2 deletions(-)
|
||||
create mode 100644 gcc/testsuite/g++.dg/pr64037.C
|
||||
|
||||
diff --git a/gcc/combine.c b/gcc/combine.c
|
||||
index 7c00452..adea2c1 100644
|
||||
--- a/gcc/combine.c
|
||||
+++ b/gcc/combine.c
|
||||
@@ -1529,8 +1529,8 @@ setup_incoming_promotions (rtx first)
|
||||
uns3 = TYPE_UNSIGNED (DECL_ARG_TYPE (arg));
|
||||
|
||||
/* The mode and signedness of the argument as it is actually passed,
|
||||
- after any TARGET_PROMOTE_FUNCTION_ARGS-driven ABI promotions. */
|
||||
- mode3 = promote_function_mode (DECL_ARG_TYPE (arg), mode2, &uns3,
|
||||
+ see assign_parm_setup_reg in function.c. */
|
||||
+ mode3 = promote_function_mode (TREE_TYPE (arg), mode1, &uns3,
|
||||
TREE_TYPE (cfun->decl), 0);
|
||||
|
||||
/* The mode of the register in which the argument is being passed. */
|
||||
diff --git a/gcc/testsuite/g++.dg/pr64037.C b/gcc/testsuite/g++.dg/pr64037.C
|
||||
new file mode 100644
|
||||
index 0000000..e5cd0e2
|
||||
--- /dev/null
|
||||
+++ b/gcc/testsuite/g++.dg/pr64037.C
|
||||
@@ -0,0 +1,27 @@
|
||||
+// { dg-do run { target i?86-*-* x86_64-*-* } }
|
||||
+// { dg-options "-std=c++11 -Os" }
|
||||
+
|
||||
+enum class X : unsigned char {
|
||||
+ V = 2,
|
||||
+};
|
||||
+
|
||||
+static void
|
||||
+__attribute__((noinline,noclone))
|
||||
+foo(unsigned &out, unsigned a, X b)
|
||||
+{
|
||||
+ out = static_cast<unsigned>(b);
|
||||
+}
|
||||
+
|
||||
+int main()
|
||||
+{
|
||||
+ unsigned deadbeef = 0xDEADBEEF;
|
||||
+ asm volatile ("" : "+d" (deadbeef), "+c" (deadbeef));
|
||||
+
|
||||
+ unsigned out;
|
||||
+ foo(out, 2, X::V);
|
||||
+
|
||||
+ if (out != 2)
|
||||
+ __builtin_abort ();
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
--
|
||||
1.7.1
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# DP: Turn on -D_FORTIFY_SOURCE=2 by default for C, C++, ObjC, ObjC++,
|
||||
# DP: if the optimization level is > 0
|
||||
|
||||
---
|
||||
gcc/doc/invoke.texi | 6 ++++++
|
||||
gcc/c-family/c-cppbuiltin.c | 3 +
|
||||
2 files changed, 9 insertions(+), 0 deletions(-)
|
||||
|
||||
Index: b/gcc/doc/invoke.texi
|
||||
===================================================================
|
||||
--- a/gcc/doc/invoke.texi
|
||||
+++ b/gcc/doc/invoke.texi
|
||||
@@ -7840,6 +7840,12 @@ also turns on the following optimization
|
||||
Please note the warning under @option{-fgcse} about
|
||||
invoking @option{-O2} on programs that use computed gotos.
|
||||
|
||||
+NOTE: In Alpine Linux, @option{-D_FORTIFY_SOURCE=2} is
|
||||
+set by default, and is activated when @option{-O} is set to 2 or higher.
|
||||
+This enables additional compile-time and run-time checks for several libc
|
||||
+functions. To disable, specify either @option{-U_FORTIFY_SOURCE} or
|
||||
+@option{-D_FORTIFY_SOURCE=0}.
|
||||
+
|
||||
@item -O3
|
||||
@opindex O3
|
||||
Optimize yet more. @option{-O3} turns on all optimizations specified
|
||||
Index: b/gcc/c-family/c-cppbuiltin.c
|
||||
===================================================================
|
||||
--- a/gcc/c-family/c-cppbuiltin.c
|
||||
+++ b/gcc/c-family/c-cppbuiltin.c
|
||||
@@ -1176,6 +1176,10 @@ c_cpp_builtins (cpp_reader *pfile)
|
||||
builtin_define_with_value ("__REGISTER_PREFIX__", REGISTER_PREFIX, 0);
|
||||
builtin_define_with_value ("__USER_LABEL_PREFIX__", user_label_prefix, 0);
|
||||
|
||||
+ /* Fortify Source enabled by default for optimization levels > 0 */
|
||||
+ if (optimize)
|
||||
+ builtin_define_with_int_value ("_FORTIFY_SOURCE", 2);
|
||||
+
|
||||
/* Misc. */
|
||||
if (flag_gnu89_inline)
|
||||
cpp_define (pfile, "__GNUC_GNU_INLINE__");
|
||||
+13
-65
@@ -1,6 +1,7 @@
|
||||
# Automatically generated aport, do not edit!
|
||||
# Generator: pmbootstrap aportgen gcc6-aarch64
|
||||
# Based on: main/gcc6 (from postmarketOS)
|
||||
|
||||
CTARGET_ARCH=aarch64
|
||||
CTARGET="$(arch_to_hostspec ${CTARGET_ARCH})"
|
||||
LANG_D=false
|
||||
@@ -22,23 +23,19 @@ CBUILDROOT="/"
|
||||
|
||||
_cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
|
||||
|
||||
maintainer=""
|
||||
pkgname=gcc6-aarch64
|
||||
pkgver=9999
|
||||
_pkgver=6.4.0
|
||||
pkgrel=15
|
||||
pkgrel=12
|
||||
pkgdesc="Stage2 cross-compiler for aarch64"
|
||||
url="http://gcc.gnu.org"
|
||||
# loongarch64: not relevant
|
||||
# ppc64le: not relevant
|
||||
# riscv64: doesn't build
|
||||
arch="x86_64"
|
||||
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
|
||||
license="GPL LGPL"
|
||||
_gccrel=$_pkgver-r$pkgrel
|
||||
depends="binutils-aarch64 mpc1 so:libc.musl-x86_64.so.1 so:libgcc_s.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libstdc++.so.6 so:libz.so.1"
|
||||
depends="binutils-aarch64 mpc1"
|
||||
makedepends_build="gcc g++ bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev"
|
||||
makedepends_host="linux-headers gmp-dev mpfr-dev mpc1-dev isl-dev zlib-dev musl-dev-aarch64 binutils-aarch64"
|
||||
options="!strip !tracedeps toolchain"
|
||||
options="!strip"
|
||||
|
||||
# We only care about C, so we can compile old Linux kernels
|
||||
LANG_CXX=false
|
||||
@@ -70,23 +67,11 @@ if [ "$CHOST" != "$CTARGET" ]; then
|
||||
LIBATOMIC=false
|
||||
LIBITM=false
|
||||
|
||||
# format-sec: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100431
|
||||
CFLAGS="${CFLAGS/-Werror=format-security/}"
|
||||
CXXFLAGS="${CXXFLAGS/-Werror=format-security/}"
|
||||
CPPFLAGS="${CPPFLAGS/-Werror=format-security/}"
|
||||
# fstack-clash-protection is not known to GCC 6
|
||||
CFLAGS="${CFLAGS/-fstack-clash-protection/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fstack-clash-protection/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fstack-clash-protection/}"
|
||||
# and neither is -fno-plt
|
||||
CFLAGS="${CFLAGS/-fno-plt/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fno-plt/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fno-plt/}"
|
||||
# reset target flags (should be set in crosscreate abuild)
|
||||
# fixup flags. seems gcc treats CPPFLAGS as global without
|
||||
# _FOR_xxx variants. wrap it in CFLAGS and CXXFLAGS.
|
||||
export CFLAGS="$CPPFLAGS -g0 $CFLAGS"
|
||||
export CXXFLAGS="$CPPFLAGS -g0 $CXXFLAGS"
|
||||
export CFLAGS="$CPPFLAGS $CFLAGS"
|
||||
export CXXFLAGS="$CPPFLAGS $CXXFLAGS"
|
||||
unset CPPFLAGS
|
||||
export CFLAGS_FOR_TARGET=" "
|
||||
export CXXFLAGS_FOR_TARGET=" "
|
||||
@@ -94,23 +79,10 @@ if [ "$CHOST" != "$CTARGET" ]; then
|
||||
|
||||
STRIP_FOR_TARGET="$CTARGET-strip"
|
||||
elif [ "$CBUILD" != "$CHOST" ]; then
|
||||
# format-sec: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100431
|
||||
CFLAGS="${CFLAGS/-Werror=format-security/}"
|
||||
CXXFLAGS="${CXXFLAGS/-Werror=format-security/}"
|
||||
CPPFLAGS="${CPPFLAGS/-Werror=format-security/}"
|
||||
# fstack-clash-protection is not known to GCC 6
|
||||
CFLAGS="${CFLAGS/-fstack-clash-protection/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fstack-clash-protection/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fstack-clash-protection/}"
|
||||
# and neither is -fno-plt
|
||||
CFLAGS="${CFLAGS/-fno-plt/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fno-plt/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fno-plt/}"
|
||||
# reset target flags (should be set in crosscreate abuild)
|
||||
# fixup flags. seems gcc treats CPPFLAGS as global without
|
||||
# _FOR_xxx variants. wrap it in CFLAGS and CXXFLAGS.
|
||||
export CFLAGS="$CPPFLAGS -g0 $CFLAGS"
|
||||
export CXXFLAGS="$CPPFLAGS -g0 $CXXFLAGS"
|
||||
export CFLAGS="$CPPFLAGS $CFLAGS"
|
||||
export CXXFLAGS="$CPPFLAGS $CXXFLAGS"
|
||||
unset CPPFLAGS
|
||||
|
||||
# reset flags and cc for build
|
||||
@@ -134,31 +106,6 @@ elif [ "$CBUILD" != "$CHOST" ]; then
|
||||
else
|
||||
STRIP_FOR_TARGET=${CROSS_COMPILE}strip
|
||||
_builddir="$srcdir/build"
|
||||
|
||||
# format-sec: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100431
|
||||
CFLAGS="${CFLAGS/-Werror=format-security/}"
|
||||
CXXFLAGS="${CXXFLAGS/-Werror=format-security/}"
|
||||
CPPFLAGS="${CPPFLAGS/-Werror=format-security/}"
|
||||
# fstack-clash-protection is not known to GCC 6
|
||||
CFLAGS="${CFLAGS/-fstack-clash-protection/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fstack-clash-protection/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fstack-clash-protection/}"
|
||||
# and neither is -fno-plt
|
||||
CFLAGS="${CFLAGS/-fno-plt/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fno-plt/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fno-plt/}"
|
||||
# reset target flags (should be set in crosscreate abuild)
|
||||
# fixup flags. seems gcc treats CPPFLAGS as global without
|
||||
# _FOR_xxx variants. wrap it in CFLAGS and CXXFLAGS.
|
||||
export CFLAGS="$CPPFLAGS -g0 $CFLAGS -O2"
|
||||
export CXXFLAGS="$CPPFLAGS -g0 $CXXFLAGS -O2"
|
||||
unset CPPFLAGS
|
||||
# https://gcc.gnu.org/install/build.html
|
||||
export CFLAGS_FOR_TARGET="$CFLAGS"
|
||||
export CXXFLAGS_FOR_TARGET="$CXXFLAGS"
|
||||
export LDFLAGS_FOR_TARGET="$LDFLAGS"
|
||||
export BOOT_CFLAGS="$CFLAGS"
|
||||
export BOOT_LDFLAGS="$LDFLAGS"
|
||||
fi
|
||||
|
||||
# Go needs {set,make,swap}context, unimplemented in musl
|
||||
@@ -219,6 +166,7 @@ source="http://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$_pkgver}/gcc-${_pkg
|
||||
|
||||
001_all_default-ssp-strong.patch
|
||||
002_all_default-relro.patch
|
||||
003_all_default-fortify-source.patch
|
||||
005_all_default-as-needed.patch
|
||||
011_all_default-warn-format-security.patch
|
||||
012_all_default-warn-trampolines.patch
|
||||
@@ -236,6 +184,7 @@ source="http://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$_pkgver}/gcc-${_pkg
|
||||
207-static-pie.patch
|
||||
|
||||
libgcc-always-build-gcceh.a.patch
|
||||
gcc-4.9-musl-fortify.patch
|
||||
gcc-6.1-musl-libssp.patch
|
||||
boehm-gc-musl.patch
|
||||
gcc-pure64.patch
|
||||
@@ -259,8 +208,6 @@ source="http://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$_pkgver}/gcc-${_pkg
|
||||
gcc-pure64-mips.patch
|
||||
ada-mips64.patch
|
||||
|
||||
gcc-6.4-isl.patch
|
||||
|
||||
0001-i386-Move-struct-ix86_frame-to-machine_function.patch
|
||||
0002-i386-Use-reference-of-struct-ix86_frame-to-avoid-cop.patch
|
||||
0003-i386-Use-const-reference-of-struct-ix86_frame-to-avo.patch
|
||||
@@ -499,6 +446,7 @@ sha512sums="
|
||||
28f8c6fdbcb19e950b1d0bafb3bcc7a8cba87bc673aa6027cece116599cdee80f0cf5e95a1440544890239f5c754e8a93ab46d9daedd937faef445d7ea33b226 ecj-4.9.jar
|
||||
a1335adc2fbee98e36c4437ff2587771b98ed4180726779020f65039498235626a411cdb0100dbd20cd19d12f0d94f9a21af179ff624676c28cead9d60598b5d 001_all_default-ssp-strong.patch
|
||||
e36e95b81489163abd6fe9d58f7867bdca43e61143afacbfb17f4698c0b16ec5fd0061d8fab7b2ae615540bebd721c2e2227f80401b4e7fc253da9da62e6b513 002_all_default-relro.patch
|
||||
f86466c62b8291fac46f9c250c7ad8fa5ab7b1cce2504442fd07ddc4543665b317ae28951f244e39aba29aeaf3fff252ec4f6a147aa16adb2b7aed747dd89188 003_all_default-fortify-source.patch
|
||||
51282fea54c7e616367bbeb2479ba13fec6f24eb47bd04e2071907b3b36273b2ff24676f46ef8d22f241c8ab4857307861eee076eab66797c3a50a8ecaa1809a 005_all_default-as-needed.patch
|
||||
3398386dd1e079d6545dd9799adc799c6b80e3984fac6899d0e1a7ee21b66d0c7e53cddf17a65d590c883db750f9f79aaedd857355a8b9f7fb9476c906237919 011_all_default-warn-format-security.patch
|
||||
9adb0d2b9b67dd957df6c609b8714c7c078efb52cd88770905c37c67827be8fc83d1125037b9c29d77db21ce78756aa2bb0bacdb0b98d869ac126da76a298e21 012_all_default-warn-trampolines.patch
|
||||
@@ -514,6 +462,7 @@ fc0de05b36613b732a0222ea005c90653c6a40d6761b6894af2419272f4e74875f37e26af33a9b99
|
||||
98473bcaa77903a223ca9b0d2087c0921b287a2816d308cc32c8fe009e6cbf5dd1ae7fba27794ab8d9c09e117fe534413d91a464d1218474fc123ce0adfdc2c1 205-nopie.patch
|
||||
3287d5b443bea8ec64132bcabe869c738ae98ea8f1a86df1c5d18c927f8816edbfcefeefc47792dbbb2bcacf50319af00e01b3735d34525913b64350770ad453 207-static-pie.patch
|
||||
d08d7ead2de0429e5c9055d5b029ec2be9a8c821d22cecaf9b51f633652c493333f98963d9267fa2fa63850c50ae5eefd5f59e5910ec10d20044dac082182a8b libgcc-always-build-gcceh.a.patch
|
||||
600fe5098dc54edaa9808fd5717af9dec058953f9ad37d49cfba1db4f7e9a7a8f02019342f75157fc575946fa693259422184de27b7ecc8386d9f3ecc0f7cc5d gcc-4.9-musl-fortify.patch
|
||||
dbe0ee917fc7668571722364ab7c806731e3a31e8bfa30b4941b28b16b877d2a32b4a3897ef533399a28f82d43cac9b28e92de0493f0e779046db56584e07fa4 gcc-6.1-musl-libssp.patch
|
||||
bda845a6aa1854d2c883910b115f79ccfa93dfc2b5eac69a3a236d83eb34cadc140731d616ffc24698c7abc8878dd15f231bcc5119f1860e575a120b311706c7 boehm-gc-musl.patch
|
||||
fa62556719449caec6b2b434355bfbcaa5ae55ffe017b3e1f827f66a2aae21b79c571ee7a4ce723ea69169bc3a6447e73650991a200cc372adf2f102677518d7 gcc-pure64.patch
|
||||
@@ -533,7 +482,6 @@ f4ef08454e28c8732db69115e4998ec153399e8d229dd27f923dbdcf57b68128a65640d026cc7f45
|
||||
34a818d5be67eb1f34e44a80b83c28a9b9c17d37fc9fac639f490d6bb5b53ebe3318140d09c236a17d7c98f5a7792ae3d6cefccda8067a5e942d6305b9d1f87c fix-linux-header-use-in-libgcc.patch
|
||||
86be3338cc9c33089608bc4c5e3b7918c4e500a345c338f361b18c342119a6ed69af5495d72950de7106d760f003528b46ad14795e805f8a3331e206dcb234e3 gcc-pure64-mips.patch
|
||||
508f3bca214d88531d739d761d07affc953689b1540905c73420b34c246e1e6b72588cf89f0e1462752633f8ddc88da8c0238be2a1b6e1c213829cecee7924cf ada-mips64.patch
|
||||
80084d4f5984ea1c62f813c3c1fe7ce033d41d6cd5e6df3b10c649c0bbc2544ad0a58e7076fa28bf71d691df0211b07fc11eb0d5c9f462ef28eed4c3fbeeb9ee gcc-6.4-isl.patch
|
||||
7912964bf3a985e9f870250d6e068f715582a4fb04270849d697a50e6aad0cf50df3d483ff80a0eb777d9940fd85526dd8d0b85da9bc71a5f2fbc07616263866 0001-i386-Move-struct-ix86_frame-to-machine_function.patch
|
||||
baa27a4b912d8e27cd65a556b09cf45289a0e00e86dae3925f2923d1f3752080e80d80e159c996ef4156c4df1dfc3069114810a846672170ef3ae461ae0ab7e1 0002-i386-Use-reference-of-struct-ix86_frame-to-avoid-cop.patch
|
||||
6701d15000bdd7c4c98a8fece8c814f5e4e73603eecf84fe4dc5ac10f79b3074afba7c2cc9e51d08b2abade1c34cb0c944c08ead7a85db94e97158c752fd1aac 0003-i386-Use-const-reference-of-struct-ix86_frame-to-avo.patch
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
--- gcc-4.9.2/gcc/config/linux.h.orig 2015-03-09 13:27:13.289736710 +0000
|
||||
+++ gcc-4.9.2/gcc/config/linux.h 2015-03-09 13:29:32.295625046 +0000
|
||||
@@ -146,6 +146,8 @@
|
||||
|
||||
#ifdef NATIVE_SYSTEM_HEADER_DIR
|
||||
#define INCLUDE_DEFAULTS_MUSL_NATIVE \
|
||||
+ { NATIVE_SYSTEM_HEADER_DIR "/fortify", 0, 0, 0, 1, 2 }, \
|
||||
+ { NATIVE_SYSTEM_HEADER_DIR "/fortify", 0, 0, 0, 1, 0 }, \
|
||||
{ NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \
|
||||
{ NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 },
|
||||
#else
|
||||
@@ -1,251 +0,0 @@
|
||||
From cc46a51d4ff8bc1c42b7e6ae472494733bed5c49 Mon Sep 17 00:00:00 2001
|
||||
From: Richard Biener <rguenther@suse.de>
|
||||
Date: Thu, 16 Feb 2017 07:53:53 +0000
|
||||
Subject: [PATCH] graphite.h: Do not include isl/isl_val_gmp.h, instead include
|
||||
isl/isl_val.h.
|
||||
|
||||
2017-02-16 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* graphite.h: Do not include isl/isl_val_gmp.h, instead include
|
||||
isl/isl_val.h.
|
||||
* graphite-isl-ast-to-gimple.c (gmp_cst_to_tree): Remove.
|
||||
(gcc_expression_from_isl_expr_int): Use generic isl_val interface.
|
||||
* graphite-sese-to-poly.c: Do not include isl/isl_val_gmp.h.
|
||||
(isl_val_int_from_wi): New function.
|
||||
(extract_affine_gmp): Rename to ...
|
||||
(extract_affine_wi): ... this, take a widest_int.
|
||||
(extract_affine_int): Just wrap extract_affine_wi.
|
||||
(add_param_constraints): Use isl_val_int_from_wi.
|
||||
(add_loop_constraints): Likewise, and extract_affine_wi.
|
||||
|
||||
From-SVN: r245501
|
||||
---
|
||||
gcc/ChangeLog | 14 ++++++++
|
||||
gcc/graphite-isl-ast-to-gimple.c | 30 +++++------------
|
||||
gcc/graphite-sese-to-poly.c | 58 ++++++++++++++------------------
|
||||
gcc/graphite.h | 2 +-
|
||||
4 files changed, 50 insertions(+), 54 deletions(-)
|
||||
|
||||
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
|
||||
index 24d9c1589f456..5fc6142eaa03f 100644
|
||||
--- a/gcc/ChangeLog
|
||||
+++ b/gcc/ChangeLog
|
||||
@@ -1,3 +1,17 @@
|
||||
+2017-02-16 Richard Biener <rguenther@suse.de>
|
||||
+
|
||||
+ * graphite.h: Do not include isl/isl_val_gmp.h, instead include
|
||||
+ isl/isl_val.h.
|
||||
+ * graphite-isl-ast-to-gimple.c (gmp_cst_to_tree): Remove.
|
||||
+ (gcc_expression_from_isl_expr_int): Use generic isl_val interface.
|
||||
+ * graphite-sese-to-poly.c: Do not include isl/isl_val_gmp.h.
|
||||
+ (isl_val_int_from_wi): New function.
|
||||
+ (extract_affine_gmp): Rename to ...
|
||||
+ (extract_affine_wi): ... this, take a widest_int.
|
||||
+ (extract_affine_int): Just wrap extract_affine_wi.
|
||||
+ (add_param_constraints): Use isl_val_int_from_wi.
|
||||
+ (add_loop_constraints): Likewise, and extract_affine_wi.
|
||||
+
|
||||
2017-02-15 Jeff Law <law@redhat.com>
|
||||
|
||||
PR middle-end/79521
|
||||
diff --git a/gcc/graphite-isl-ast-to-gimple.c b/gcc/graphite-isl-ast-to-gimple.c
|
||||
index dbdae7a7c155d..ec5fb73d9b2bc 100644
|
||||
--- a/gcc/graphite-isl-ast-to-gimple.c
|
||||
+++ b/gcc/graphite-isl-ast-to-gimple.c
|
||||
@@ -73,22 +73,6 @@ struct ast_build_info
|
||||
bool is_parallelizable;
|
||||
};
|
||||
|
||||
-/* Converts a GMP constant VAL to a tree and returns it. */
|
||||
-
|
||||
-static tree
|
||||
-gmp_cst_to_tree (tree type, mpz_t val)
|
||||
-{
|
||||
- tree t = type ? type : integer_type_node;
|
||||
- mpz_t tmp;
|
||||
-
|
||||
- mpz_init (tmp);
|
||||
- mpz_set (tmp, val);
|
||||
- wide_int wi = wi::from_mpz (t, tmp, true);
|
||||
- mpz_clear (tmp);
|
||||
-
|
||||
- return wide_int_to_tree (t, wi);
|
||||
-}
|
||||
-
|
||||
/* Verifies properties that GRAPHITE should maintain during translation. */
|
||||
|
||||
static inline void
|
||||
@@ -325,16 +309,20 @@ gcc_expression_from_isl_expr_int (tree type, __isl_take isl_ast_expr *expr)
|
||||
{
|
||||
gcc_assert (isl_ast_expr_get_type (expr) == isl_ast_expr_int);
|
||||
isl_val *val = isl_ast_expr_get_val (expr);
|
||||
- mpz_t val_mpz_t;
|
||||
- mpz_init (val_mpz_t);
|
||||
+ size_t n = isl_val_n_abs_num_chunks (val, sizeof (HOST_WIDE_INT));
|
||||
+ HOST_WIDE_INT *chunks = XALLOCAVEC (HOST_WIDE_INT, n);
|
||||
tree res;
|
||||
- if (isl_val_get_num_gmp (val, val_mpz_t) == -1)
|
||||
+ if (isl_val_get_abs_num_chunks (val, sizeof (HOST_WIDE_INT), chunks) == -1)
|
||||
res = NULL_TREE;
|
||||
else
|
||||
- res = gmp_cst_to_tree (type, val_mpz_t);
|
||||
+ {
|
||||
+ widest_int wi = widest_int::from_array (chunks, n, true);
|
||||
+ if (isl_val_is_neg (val))
|
||||
+ wi = -wi;
|
||||
+ res = wide_int_to_tree (type, wi);
|
||||
+ }
|
||||
isl_val_free (val);
|
||||
isl_ast_expr_free (expr);
|
||||
- mpz_clear (val_mpz_t);
|
||||
return res;
|
||||
}
|
||||
|
||||
diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c
|
||||
index ede96e5a3c299..8ff9a22e12916 100644
|
||||
--- a/gcc/graphite-sese-to-poly.c
|
||||
+++ b/gcc/graphite-sese-to-poly.c
|
||||
@@ -55,7 +55,6 @@ along with GCC; see the file COPYING3. If not see
|
||||
#include <isl/constraint.h>
|
||||
#include <isl/aff.h>
|
||||
#include <isl/val.h>
|
||||
-#include <isl/val_gmp.h>
|
||||
|
||||
#include "graphite.h"
|
||||
|
||||
@@ -154,16 +153,32 @@ extract_affine_name (scop_p s, tree e, __isl_take isl_space *space)
|
||||
return isl_pw_aff_alloc (dom, aff);
|
||||
}
|
||||
|
||||
+/* Convert WI to a isl_val with CTX. */
|
||||
+
|
||||
+static __isl_give isl_val *
|
||||
+isl_val_int_from_wi (isl_ctx *ctx, const widest_int &wi)
|
||||
+{
|
||||
+ if (wi::neg_p (wi, SIGNED))
|
||||
+ {
|
||||
+ widest_int mwi = -wi;
|
||||
+ return isl_val_neg (isl_val_int_from_chunks (ctx, mwi.get_len (),
|
||||
+ sizeof (HOST_WIDE_INT),
|
||||
+ mwi.get_val ()));
|
||||
+ }
|
||||
+ return isl_val_int_from_chunks (ctx, wi.get_len (), sizeof (HOST_WIDE_INT),
|
||||
+ wi.get_val ());
|
||||
+}
|
||||
+
|
||||
/* Extract an affine expression from the gmp constant G. */
|
||||
|
||||
static isl_pw_aff *
|
||||
-extract_affine_gmp (mpz_t g, __isl_take isl_space *space)
|
||||
+extract_affine_wi (const widest_int &g, __isl_take isl_space *space)
|
||||
{
|
||||
isl_local_space *ls = isl_local_space_from_space (isl_space_copy (space));
|
||||
isl_aff *aff = isl_aff_zero_on_domain (ls);
|
||||
isl_set *dom = isl_set_universe (space);
|
||||
isl_ctx *ct = isl_aff_get_ctx (aff);
|
||||
- isl_val *v = isl_val_int_from_gmp (ct, g);
|
||||
+ isl_val *v = isl_val_int_from_wi (ct, g);
|
||||
aff = isl_aff_add_constant_val (aff, v);
|
||||
|
||||
return isl_pw_aff_alloc (dom, aff);
|
||||
@@ -174,13 +189,7 @@ extract_affine_gmp (mpz_t g, __isl_take isl_space *space)
|
||||
static isl_pw_aff *
|
||||
extract_affine_int (tree e, __isl_take isl_space *space)
|
||||
{
|
||||
- mpz_t g;
|
||||
-
|
||||
- mpz_init (g);
|
||||
- tree_int_to_gmp (e, g);
|
||||
- isl_pw_aff *res = extract_affine_gmp (g, space);
|
||||
- mpz_clear (g);
|
||||
-
|
||||
+ isl_pw_aff *res = extract_affine_wi (wi::to_widest (e), space);
|
||||
return res;
|
||||
}
|
||||
|
||||
@@ -411,15 +420,11 @@ add_param_constraints (scop_p scop, graphite_dim_t p)
|
||||
{
|
||||
isl_space *space = isl_set_get_space (scop->param_context);
|
||||
isl_constraint *c;
|
||||
- mpz_t g;
|
||||
isl_val *v;
|
||||
|
||||
c = isl_inequality_alloc (isl_local_space_from_space (space));
|
||||
- mpz_init (g);
|
||||
- tree_int_to_gmp (lb, g);
|
||||
- v = isl_val_int_from_gmp (scop->isl_context, g);
|
||||
+ v = isl_val_int_from_wi (scop->isl_context, wi::to_widest (lb));
|
||||
v = isl_val_neg (v);
|
||||
- mpz_clear (g);
|
||||
c = isl_constraint_set_constant_val (c, v);
|
||||
c = isl_constraint_set_coefficient_si (c, isl_dim_param, p, 1);
|
||||
|
||||
@@ -431,15 +436,11 @@ add_param_constraints (scop_p scop, graphite_dim_t p)
|
||||
{
|
||||
isl_space *space = isl_set_get_space (scop->param_context);
|
||||
isl_constraint *c;
|
||||
- mpz_t g;
|
||||
isl_val *v;
|
||||
|
||||
c = isl_inequality_alloc (isl_local_space_from_space (space));
|
||||
|
||||
- mpz_init (g);
|
||||
- tree_int_to_gmp (ub, g);
|
||||
- v = isl_val_int_from_gmp (scop->isl_context, g);
|
||||
- mpz_clear (g);
|
||||
+ v = isl_val_int_from_wi (scop->isl_context, wi::to_widest (ub));
|
||||
c = isl_constraint_set_constant_val (c, v);
|
||||
c = isl_constraint_set_coefficient_si (c, isl_dim_param, p, -1);
|
||||
|
||||
@@ -773,11 +774,8 @@ add_loop_constraints (scop_p scop, __isl_take isl_set *domain, loop_p loop,
|
||||
isl_local_space *ls = isl_local_space_from_space (space);
|
||||
isl_constraint *c = isl_inequality_alloc (ls);
|
||||
c = isl_constraint_set_coefficient_si (c, isl_dim_set, loop_index, -1);
|
||||
- mpz_t g;
|
||||
- mpz_init (g);
|
||||
- tree_int_to_gmp (nb_iters, g);
|
||||
- isl_val *v = isl_val_int_from_gmp (scop->isl_context, g);
|
||||
- mpz_clear (g);
|
||||
+ isl_val *v
|
||||
+ = isl_val_int_from_wi (scop->isl_context, wi::to_widest (nb_iters));
|
||||
c = isl_constraint_set_constant_val (c, v);
|
||||
return isl_set_add_constraint (domain, c);
|
||||
}
|
||||
@@ -817,12 +815,9 @@ add_loop_constraints (scop_p scop, __isl_take isl_set *domain, loop_p loop,
|
||||
|
||||
/* NIT is an upper bound to NB_ITERS: "NIT >= NB_ITERS", although we
|
||||
do not know whether the loop executes at least once. */
|
||||
- mpz_t g;
|
||||
- mpz_init (g);
|
||||
- wi::to_mpz (nit, g, SIGNED);
|
||||
- mpz_sub_ui (g, g, 1);
|
||||
+ --nit;
|
||||
|
||||
- isl_pw_aff *approx = extract_affine_gmp (g, isl_space_copy (space));
|
||||
+ isl_pw_aff *approx = extract_affine_wi (nit, isl_space_copy (space));
|
||||
isl_set *x = isl_pw_aff_ge_set (approx, aff_nb_iters);
|
||||
x = isl_set_project_out (x, isl_dim_set, 0,
|
||||
isl_set_dim (x, isl_dim_set));
|
||||
@@ -831,8 +826,7 @@ add_loop_constraints (scop_p scop, __isl_take isl_set *domain, loop_p loop,
|
||||
ls = isl_local_space_from_space (space);
|
||||
c = isl_inequality_alloc (ls);
|
||||
c = isl_constraint_set_coefficient_si (c, isl_dim_set, loop_index, -1);
|
||||
- isl_val *v = isl_val_int_from_gmp (scop->isl_context, g);
|
||||
- mpz_clear (g);
|
||||
+ isl_val *v = isl_val_int_from_wi (scop->isl_context, nit);
|
||||
c = isl_constraint_set_constant_val (c, v);
|
||||
|
||||
if (dump_file)
|
||||
diff --git a/gcc/graphite.h b/gcc/graphite.h
|
||||
index 5103c614ff140..d22c4f2693f52 100644
|
||||
--- a/gcc/graphite.h
|
||||
+++ b/gcc/graphite.h
|
||||
@@ -25,7 +25,7 @@ along with GCC; see the file COPYING3. If not see
|
||||
#include "sese.h"
|
||||
#include <isl/options.h>
|
||||
#include <isl/ctx.h>
|
||||
-#include <isl/val_gmp.h>
|
||||
+#include <isl/val.h>
|
||||
#include <isl/set.h>
|
||||
#include <isl/union_set.h>
|
||||
#include <isl/map.h>
|
||||
@@ -0,0 +1,40 @@
|
||||
# DP: Turn on -D_FORTIFY_SOURCE=2 by default for C, C++, ObjC, ObjC++,
|
||||
# DP: if the optimization level is > 0
|
||||
|
||||
---
|
||||
gcc/doc/invoke.texi | 6 ++++++
|
||||
gcc/c-family/c-cppbuiltin.c | 3 +
|
||||
2 files changed, 9 insertions(+), 0 deletions(-)
|
||||
|
||||
Index: b/gcc/doc/invoke.texi
|
||||
===================================================================
|
||||
--- a/gcc/doc/invoke.texi
|
||||
+++ b/gcc/doc/invoke.texi
|
||||
@@ -7840,6 +7840,12 @@ also turns on the following optimization
|
||||
Please note the warning under @option{-fgcse} about
|
||||
invoking @option{-O2} on programs that use computed gotos.
|
||||
|
||||
+NOTE: In Alpine Linux, @option{-D_FORTIFY_SOURCE=2} is
|
||||
+set by default, and is activated when @option{-O} is set to 2 or higher.
|
||||
+This enables additional compile-time and run-time checks for several libc
|
||||
+functions. To disable, specify either @option{-U_FORTIFY_SOURCE} or
|
||||
+@option{-D_FORTIFY_SOURCE=0}.
|
||||
+
|
||||
@item -O3
|
||||
@opindex O3
|
||||
Optimize yet more. @option{-O3} turns on all optimizations specified
|
||||
Index: b/gcc/c-family/c-cppbuiltin.c
|
||||
===================================================================
|
||||
--- a/gcc/c-family/c-cppbuiltin.c
|
||||
+++ b/gcc/c-family/c-cppbuiltin.c
|
||||
@@ -1176,6 +1176,10 @@ c_cpp_builtins (cpp_reader *pfile)
|
||||
builtin_define_with_value ("__REGISTER_PREFIX__", REGISTER_PREFIX, 0);
|
||||
builtin_define_with_value ("__USER_LABEL_PREFIX__", user_label_prefix, 0);
|
||||
|
||||
+ /* Fortify Source enabled by default for optimization levels > 0 */
|
||||
+ if (optimize)
|
||||
+ builtin_define_with_int_value ("_FORTIFY_SOURCE", 2);
|
||||
+
|
||||
/* Misc. */
|
||||
if (flag_gnu89_inline)
|
||||
cpp_define (pfile, "__GNUC_GNU_INLINE__");
|
||||
+13
-65
@@ -1,6 +1,7 @@
|
||||
# Automatically generated aport, do not edit!
|
||||
# Generator: pmbootstrap aportgen gcc6-armhf
|
||||
# Based on: main/gcc6 (from postmarketOS)
|
||||
|
||||
CTARGET_ARCH=armhf
|
||||
CTARGET="$(arch_to_hostspec ${CTARGET_ARCH})"
|
||||
LANG_D=false
|
||||
@@ -22,23 +23,19 @@ CBUILDROOT="/"
|
||||
|
||||
_cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
|
||||
|
||||
maintainer=""
|
||||
pkgname=gcc6-armhf
|
||||
pkgver=9999
|
||||
_pkgver=6.4.0
|
||||
pkgrel=15
|
||||
pkgrel=12
|
||||
pkgdesc="Stage2 cross-compiler for armhf"
|
||||
url="http://gcc.gnu.org"
|
||||
# loongarch64: not relevant
|
||||
# ppc64le: not relevant
|
||||
# riscv64: doesn't build
|
||||
arch="x86_64"
|
||||
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
|
||||
license="GPL LGPL"
|
||||
_gccrel=$_pkgver-r$pkgrel
|
||||
depends="binutils-armhf mpc1 so:libc.musl-x86_64.so.1 so:libgcc_s.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libstdc++.so.6 so:libz.so.1"
|
||||
depends="binutils-armhf mpc1"
|
||||
makedepends_build="gcc g++ bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev"
|
||||
makedepends_host="linux-headers gmp-dev mpfr-dev mpc1-dev isl-dev zlib-dev musl-dev-armhf binutils-armhf"
|
||||
options="!strip !tracedeps toolchain"
|
||||
options="!strip"
|
||||
|
||||
# We only care about C, so we can compile old Linux kernels
|
||||
LANG_CXX=false
|
||||
@@ -70,23 +67,11 @@ if [ "$CHOST" != "$CTARGET" ]; then
|
||||
LIBATOMIC=false
|
||||
LIBITM=false
|
||||
|
||||
# format-sec: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100431
|
||||
CFLAGS="${CFLAGS/-Werror=format-security/}"
|
||||
CXXFLAGS="${CXXFLAGS/-Werror=format-security/}"
|
||||
CPPFLAGS="${CPPFLAGS/-Werror=format-security/}"
|
||||
# fstack-clash-protection is not known to GCC 6
|
||||
CFLAGS="${CFLAGS/-fstack-clash-protection/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fstack-clash-protection/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fstack-clash-protection/}"
|
||||
# and neither is -fno-plt
|
||||
CFLAGS="${CFLAGS/-fno-plt/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fno-plt/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fno-plt/}"
|
||||
# reset target flags (should be set in crosscreate abuild)
|
||||
# fixup flags. seems gcc treats CPPFLAGS as global without
|
||||
# _FOR_xxx variants. wrap it in CFLAGS and CXXFLAGS.
|
||||
export CFLAGS="$CPPFLAGS -g0 $CFLAGS"
|
||||
export CXXFLAGS="$CPPFLAGS -g0 $CXXFLAGS"
|
||||
export CFLAGS="$CPPFLAGS $CFLAGS"
|
||||
export CXXFLAGS="$CPPFLAGS $CXXFLAGS"
|
||||
unset CPPFLAGS
|
||||
export CFLAGS_FOR_TARGET=" "
|
||||
export CXXFLAGS_FOR_TARGET=" "
|
||||
@@ -94,23 +79,10 @@ if [ "$CHOST" != "$CTARGET" ]; then
|
||||
|
||||
STRIP_FOR_TARGET="$CTARGET-strip"
|
||||
elif [ "$CBUILD" != "$CHOST" ]; then
|
||||
# format-sec: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100431
|
||||
CFLAGS="${CFLAGS/-Werror=format-security/}"
|
||||
CXXFLAGS="${CXXFLAGS/-Werror=format-security/}"
|
||||
CPPFLAGS="${CPPFLAGS/-Werror=format-security/}"
|
||||
# fstack-clash-protection is not known to GCC 6
|
||||
CFLAGS="${CFLAGS/-fstack-clash-protection/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fstack-clash-protection/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fstack-clash-protection/}"
|
||||
# and neither is -fno-plt
|
||||
CFLAGS="${CFLAGS/-fno-plt/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fno-plt/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fno-plt/}"
|
||||
# reset target flags (should be set in crosscreate abuild)
|
||||
# fixup flags. seems gcc treats CPPFLAGS as global without
|
||||
# _FOR_xxx variants. wrap it in CFLAGS and CXXFLAGS.
|
||||
export CFLAGS="$CPPFLAGS -g0 $CFLAGS"
|
||||
export CXXFLAGS="$CPPFLAGS -g0 $CXXFLAGS"
|
||||
export CFLAGS="$CPPFLAGS $CFLAGS"
|
||||
export CXXFLAGS="$CPPFLAGS $CXXFLAGS"
|
||||
unset CPPFLAGS
|
||||
|
||||
# reset flags and cc for build
|
||||
@@ -134,31 +106,6 @@ elif [ "$CBUILD" != "$CHOST" ]; then
|
||||
else
|
||||
STRIP_FOR_TARGET=${CROSS_COMPILE}strip
|
||||
_builddir="$srcdir/build"
|
||||
|
||||
# format-sec: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100431
|
||||
CFLAGS="${CFLAGS/-Werror=format-security/}"
|
||||
CXXFLAGS="${CXXFLAGS/-Werror=format-security/}"
|
||||
CPPFLAGS="${CPPFLAGS/-Werror=format-security/}"
|
||||
# fstack-clash-protection is not known to GCC 6
|
||||
CFLAGS="${CFLAGS/-fstack-clash-protection/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fstack-clash-protection/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fstack-clash-protection/}"
|
||||
# and neither is -fno-plt
|
||||
CFLAGS="${CFLAGS/-fno-plt/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fno-plt/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fno-plt/}"
|
||||
# reset target flags (should be set in crosscreate abuild)
|
||||
# fixup flags. seems gcc treats CPPFLAGS as global without
|
||||
# _FOR_xxx variants. wrap it in CFLAGS and CXXFLAGS.
|
||||
export CFLAGS="$CPPFLAGS -g0 $CFLAGS -O2"
|
||||
export CXXFLAGS="$CPPFLAGS -g0 $CXXFLAGS -O2"
|
||||
unset CPPFLAGS
|
||||
# https://gcc.gnu.org/install/build.html
|
||||
export CFLAGS_FOR_TARGET="$CFLAGS"
|
||||
export CXXFLAGS_FOR_TARGET="$CXXFLAGS"
|
||||
export LDFLAGS_FOR_TARGET="$LDFLAGS"
|
||||
export BOOT_CFLAGS="$CFLAGS"
|
||||
export BOOT_LDFLAGS="$LDFLAGS"
|
||||
fi
|
||||
|
||||
# Go needs {set,make,swap}context, unimplemented in musl
|
||||
@@ -219,6 +166,7 @@ source="http://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$_pkgver}/gcc-${_pkg
|
||||
|
||||
001_all_default-ssp-strong.patch
|
||||
002_all_default-relro.patch
|
||||
003_all_default-fortify-source.patch
|
||||
005_all_default-as-needed.patch
|
||||
011_all_default-warn-format-security.patch
|
||||
012_all_default-warn-trampolines.patch
|
||||
@@ -236,6 +184,7 @@ source="http://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$_pkgver}/gcc-${_pkg
|
||||
207-static-pie.patch
|
||||
|
||||
libgcc-always-build-gcceh.a.patch
|
||||
gcc-4.9-musl-fortify.patch
|
||||
gcc-6.1-musl-libssp.patch
|
||||
boehm-gc-musl.patch
|
||||
gcc-pure64.patch
|
||||
@@ -259,8 +208,6 @@ source="http://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$_pkgver}/gcc-${_pkg
|
||||
gcc-pure64-mips.patch
|
||||
ada-mips64.patch
|
||||
|
||||
gcc-6.4-isl.patch
|
||||
|
||||
0001-i386-Move-struct-ix86_frame-to-machine_function.patch
|
||||
0002-i386-Use-reference-of-struct-ix86_frame-to-avoid-cop.patch
|
||||
0003-i386-Use-const-reference-of-struct-ix86_frame-to-avo.patch
|
||||
@@ -499,6 +446,7 @@ sha512sums="
|
||||
28f8c6fdbcb19e950b1d0bafb3bcc7a8cba87bc673aa6027cece116599cdee80f0cf5e95a1440544890239f5c754e8a93ab46d9daedd937faef445d7ea33b226 ecj-4.9.jar
|
||||
a1335adc2fbee98e36c4437ff2587771b98ed4180726779020f65039498235626a411cdb0100dbd20cd19d12f0d94f9a21af179ff624676c28cead9d60598b5d 001_all_default-ssp-strong.patch
|
||||
e36e95b81489163abd6fe9d58f7867bdca43e61143afacbfb17f4698c0b16ec5fd0061d8fab7b2ae615540bebd721c2e2227f80401b4e7fc253da9da62e6b513 002_all_default-relro.patch
|
||||
f86466c62b8291fac46f9c250c7ad8fa5ab7b1cce2504442fd07ddc4543665b317ae28951f244e39aba29aeaf3fff252ec4f6a147aa16adb2b7aed747dd89188 003_all_default-fortify-source.patch
|
||||
51282fea54c7e616367bbeb2479ba13fec6f24eb47bd04e2071907b3b36273b2ff24676f46ef8d22f241c8ab4857307861eee076eab66797c3a50a8ecaa1809a 005_all_default-as-needed.patch
|
||||
3398386dd1e079d6545dd9799adc799c6b80e3984fac6899d0e1a7ee21b66d0c7e53cddf17a65d590c883db750f9f79aaedd857355a8b9f7fb9476c906237919 011_all_default-warn-format-security.patch
|
||||
9adb0d2b9b67dd957df6c609b8714c7c078efb52cd88770905c37c67827be8fc83d1125037b9c29d77db21ce78756aa2bb0bacdb0b98d869ac126da76a298e21 012_all_default-warn-trampolines.patch
|
||||
@@ -514,6 +462,7 @@ fc0de05b36613b732a0222ea005c90653c6a40d6761b6894af2419272f4e74875f37e26af33a9b99
|
||||
98473bcaa77903a223ca9b0d2087c0921b287a2816d308cc32c8fe009e6cbf5dd1ae7fba27794ab8d9c09e117fe534413d91a464d1218474fc123ce0adfdc2c1 205-nopie.patch
|
||||
3287d5b443bea8ec64132bcabe869c738ae98ea8f1a86df1c5d18c927f8816edbfcefeefc47792dbbb2bcacf50319af00e01b3735d34525913b64350770ad453 207-static-pie.patch
|
||||
d08d7ead2de0429e5c9055d5b029ec2be9a8c821d22cecaf9b51f633652c493333f98963d9267fa2fa63850c50ae5eefd5f59e5910ec10d20044dac082182a8b libgcc-always-build-gcceh.a.patch
|
||||
600fe5098dc54edaa9808fd5717af9dec058953f9ad37d49cfba1db4f7e9a7a8f02019342f75157fc575946fa693259422184de27b7ecc8386d9f3ecc0f7cc5d gcc-4.9-musl-fortify.patch
|
||||
dbe0ee917fc7668571722364ab7c806731e3a31e8bfa30b4941b28b16b877d2a32b4a3897ef533399a28f82d43cac9b28e92de0493f0e779046db56584e07fa4 gcc-6.1-musl-libssp.patch
|
||||
bda845a6aa1854d2c883910b115f79ccfa93dfc2b5eac69a3a236d83eb34cadc140731d616ffc24698c7abc8878dd15f231bcc5119f1860e575a120b311706c7 boehm-gc-musl.patch
|
||||
fa62556719449caec6b2b434355bfbcaa5ae55ffe017b3e1f827f66a2aae21b79c571ee7a4ce723ea69169bc3a6447e73650991a200cc372adf2f102677518d7 gcc-pure64.patch
|
||||
@@ -533,7 +482,6 @@ f4ef08454e28c8732db69115e4998ec153399e8d229dd27f923dbdcf57b68128a65640d026cc7f45
|
||||
34a818d5be67eb1f34e44a80b83c28a9b9c17d37fc9fac639f490d6bb5b53ebe3318140d09c236a17d7c98f5a7792ae3d6cefccda8067a5e942d6305b9d1f87c fix-linux-header-use-in-libgcc.patch
|
||||
86be3338cc9c33089608bc4c5e3b7918c4e500a345c338f361b18c342119a6ed69af5495d72950de7106d760f003528b46ad14795e805f8a3331e206dcb234e3 gcc-pure64-mips.patch
|
||||
508f3bca214d88531d739d761d07affc953689b1540905c73420b34c246e1e6b72588cf89f0e1462752633f8ddc88da8c0238be2a1b6e1c213829cecee7924cf ada-mips64.patch
|
||||
80084d4f5984ea1c62f813c3c1fe7ce033d41d6cd5e6df3b10c649c0bbc2544ad0a58e7076fa28bf71d691df0211b07fc11eb0d5c9f462ef28eed4c3fbeeb9ee gcc-6.4-isl.patch
|
||||
7912964bf3a985e9f870250d6e068f715582a4fb04270849d697a50e6aad0cf50df3d483ff80a0eb777d9940fd85526dd8d0b85da9bc71a5f2fbc07616263866 0001-i386-Move-struct-ix86_frame-to-machine_function.patch
|
||||
baa27a4b912d8e27cd65a556b09cf45289a0e00e86dae3925f2923d1f3752080e80d80e159c996ef4156c4df1dfc3069114810a846672170ef3ae461ae0ab7e1 0002-i386-Use-reference-of-struct-ix86_frame-to-avoid-cop.patch
|
||||
6701d15000bdd7c4c98a8fece8c814f5e4e73603eecf84fe4dc5ac10f79b3074afba7c2cc9e51d08b2abade1c34cb0c944c08ead7a85db94e97158c752fd1aac 0003-i386-Use-const-reference-of-struct-ix86_frame-to-avo.patch
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
--- gcc-4.9.2/gcc/config/linux.h.orig 2015-03-09 13:27:13.289736710 +0000
|
||||
+++ gcc-4.9.2/gcc/config/linux.h 2015-03-09 13:29:32.295625046 +0000
|
||||
@@ -146,6 +146,8 @@
|
||||
|
||||
#ifdef NATIVE_SYSTEM_HEADER_DIR
|
||||
#define INCLUDE_DEFAULTS_MUSL_NATIVE \
|
||||
+ { NATIVE_SYSTEM_HEADER_DIR "/fortify", 0, 0, 0, 1, 2 }, \
|
||||
+ { NATIVE_SYSTEM_HEADER_DIR "/fortify", 0, 0, 0, 1, 0 }, \
|
||||
{ NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \
|
||||
{ NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 },
|
||||
#else
|
||||
@@ -1,251 +0,0 @@
|
||||
From cc46a51d4ff8bc1c42b7e6ae472494733bed5c49 Mon Sep 17 00:00:00 2001
|
||||
From: Richard Biener <rguenther@suse.de>
|
||||
Date: Thu, 16 Feb 2017 07:53:53 +0000
|
||||
Subject: [PATCH] graphite.h: Do not include isl/isl_val_gmp.h, instead include
|
||||
isl/isl_val.h.
|
||||
|
||||
2017-02-16 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* graphite.h: Do not include isl/isl_val_gmp.h, instead include
|
||||
isl/isl_val.h.
|
||||
* graphite-isl-ast-to-gimple.c (gmp_cst_to_tree): Remove.
|
||||
(gcc_expression_from_isl_expr_int): Use generic isl_val interface.
|
||||
* graphite-sese-to-poly.c: Do not include isl/isl_val_gmp.h.
|
||||
(isl_val_int_from_wi): New function.
|
||||
(extract_affine_gmp): Rename to ...
|
||||
(extract_affine_wi): ... this, take a widest_int.
|
||||
(extract_affine_int): Just wrap extract_affine_wi.
|
||||
(add_param_constraints): Use isl_val_int_from_wi.
|
||||
(add_loop_constraints): Likewise, and extract_affine_wi.
|
||||
|
||||
From-SVN: r245501
|
||||
---
|
||||
gcc/ChangeLog | 14 ++++++++
|
||||
gcc/graphite-isl-ast-to-gimple.c | 30 +++++------------
|
||||
gcc/graphite-sese-to-poly.c | 58 ++++++++++++++------------------
|
||||
gcc/graphite.h | 2 +-
|
||||
4 files changed, 50 insertions(+), 54 deletions(-)
|
||||
|
||||
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
|
||||
index 24d9c1589f456..5fc6142eaa03f 100644
|
||||
--- a/gcc/ChangeLog
|
||||
+++ b/gcc/ChangeLog
|
||||
@@ -1,3 +1,17 @@
|
||||
+2017-02-16 Richard Biener <rguenther@suse.de>
|
||||
+
|
||||
+ * graphite.h: Do not include isl/isl_val_gmp.h, instead include
|
||||
+ isl/isl_val.h.
|
||||
+ * graphite-isl-ast-to-gimple.c (gmp_cst_to_tree): Remove.
|
||||
+ (gcc_expression_from_isl_expr_int): Use generic isl_val interface.
|
||||
+ * graphite-sese-to-poly.c: Do not include isl/isl_val_gmp.h.
|
||||
+ (isl_val_int_from_wi): New function.
|
||||
+ (extract_affine_gmp): Rename to ...
|
||||
+ (extract_affine_wi): ... this, take a widest_int.
|
||||
+ (extract_affine_int): Just wrap extract_affine_wi.
|
||||
+ (add_param_constraints): Use isl_val_int_from_wi.
|
||||
+ (add_loop_constraints): Likewise, and extract_affine_wi.
|
||||
+
|
||||
2017-02-15 Jeff Law <law@redhat.com>
|
||||
|
||||
PR middle-end/79521
|
||||
diff --git a/gcc/graphite-isl-ast-to-gimple.c b/gcc/graphite-isl-ast-to-gimple.c
|
||||
index dbdae7a7c155d..ec5fb73d9b2bc 100644
|
||||
--- a/gcc/graphite-isl-ast-to-gimple.c
|
||||
+++ b/gcc/graphite-isl-ast-to-gimple.c
|
||||
@@ -73,22 +73,6 @@ struct ast_build_info
|
||||
bool is_parallelizable;
|
||||
};
|
||||
|
||||
-/* Converts a GMP constant VAL to a tree and returns it. */
|
||||
-
|
||||
-static tree
|
||||
-gmp_cst_to_tree (tree type, mpz_t val)
|
||||
-{
|
||||
- tree t = type ? type : integer_type_node;
|
||||
- mpz_t tmp;
|
||||
-
|
||||
- mpz_init (tmp);
|
||||
- mpz_set (tmp, val);
|
||||
- wide_int wi = wi::from_mpz (t, tmp, true);
|
||||
- mpz_clear (tmp);
|
||||
-
|
||||
- return wide_int_to_tree (t, wi);
|
||||
-}
|
||||
-
|
||||
/* Verifies properties that GRAPHITE should maintain during translation. */
|
||||
|
||||
static inline void
|
||||
@@ -325,16 +309,20 @@ gcc_expression_from_isl_expr_int (tree type, __isl_take isl_ast_expr *expr)
|
||||
{
|
||||
gcc_assert (isl_ast_expr_get_type (expr) == isl_ast_expr_int);
|
||||
isl_val *val = isl_ast_expr_get_val (expr);
|
||||
- mpz_t val_mpz_t;
|
||||
- mpz_init (val_mpz_t);
|
||||
+ size_t n = isl_val_n_abs_num_chunks (val, sizeof (HOST_WIDE_INT));
|
||||
+ HOST_WIDE_INT *chunks = XALLOCAVEC (HOST_WIDE_INT, n);
|
||||
tree res;
|
||||
- if (isl_val_get_num_gmp (val, val_mpz_t) == -1)
|
||||
+ if (isl_val_get_abs_num_chunks (val, sizeof (HOST_WIDE_INT), chunks) == -1)
|
||||
res = NULL_TREE;
|
||||
else
|
||||
- res = gmp_cst_to_tree (type, val_mpz_t);
|
||||
+ {
|
||||
+ widest_int wi = widest_int::from_array (chunks, n, true);
|
||||
+ if (isl_val_is_neg (val))
|
||||
+ wi = -wi;
|
||||
+ res = wide_int_to_tree (type, wi);
|
||||
+ }
|
||||
isl_val_free (val);
|
||||
isl_ast_expr_free (expr);
|
||||
- mpz_clear (val_mpz_t);
|
||||
return res;
|
||||
}
|
||||
|
||||
diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c
|
||||
index ede96e5a3c299..8ff9a22e12916 100644
|
||||
--- a/gcc/graphite-sese-to-poly.c
|
||||
+++ b/gcc/graphite-sese-to-poly.c
|
||||
@@ -55,7 +55,6 @@ along with GCC; see the file COPYING3. If not see
|
||||
#include <isl/constraint.h>
|
||||
#include <isl/aff.h>
|
||||
#include <isl/val.h>
|
||||
-#include <isl/val_gmp.h>
|
||||
|
||||
#include "graphite.h"
|
||||
|
||||
@@ -154,16 +153,32 @@ extract_affine_name (scop_p s, tree e, __isl_take isl_space *space)
|
||||
return isl_pw_aff_alloc (dom, aff);
|
||||
}
|
||||
|
||||
+/* Convert WI to a isl_val with CTX. */
|
||||
+
|
||||
+static __isl_give isl_val *
|
||||
+isl_val_int_from_wi (isl_ctx *ctx, const widest_int &wi)
|
||||
+{
|
||||
+ if (wi::neg_p (wi, SIGNED))
|
||||
+ {
|
||||
+ widest_int mwi = -wi;
|
||||
+ return isl_val_neg (isl_val_int_from_chunks (ctx, mwi.get_len (),
|
||||
+ sizeof (HOST_WIDE_INT),
|
||||
+ mwi.get_val ()));
|
||||
+ }
|
||||
+ return isl_val_int_from_chunks (ctx, wi.get_len (), sizeof (HOST_WIDE_INT),
|
||||
+ wi.get_val ());
|
||||
+}
|
||||
+
|
||||
/* Extract an affine expression from the gmp constant G. */
|
||||
|
||||
static isl_pw_aff *
|
||||
-extract_affine_gmp (mpz_t g, __isl_take isl_space *space)
|
||||
+extract_affine_wi (const widest_int &g, __isl_take isl_space *space)
|
||||
{
|
||||
isl_local_space *ls = isl_local_space_from_space (isl_space_copy (space));
|
||||
isl_aff *aff = isl_aff_zero_on_domain (ls);
|
||||
isl_set *dom = isl_set_universe (space);
|
||||
isl_ctx *ct = isl_aff_get_ctx (aff);
|
||||
- isl_val *v = isl_val_int_from_gmp (ct, g);
|
||||
+ isl_val *v = isl_val_int_from_wi (ct, g);
|
||||
aff = isl_aff_add_constant_val (aff, v);
|
||||
|
||||
return isl_pw_aff_alloc (dom, aff);
|
||||
@@ -174,13 +189,7 @@ extract_affine_gmp (mpz_t g, __isl_take isl_space *space)
|
||||
static isl_pw_aff *
|
||||
extract_affine_int (tree e, __isl_take isl_space *space)
|
||||
{
|
||||
- mpz_t g;
|
||||
-
|
||||
- mpz_init (g);
|
||||
- tree_int_to_gmp (e, g);
|
||||
- isl_pw_aff *res = extract_affine_gmp (g, space);
|
||||
- mpz_clear (g);
|
||||
-
|
||||
+ isl_pw_aff *res = extract_affine_wi (wi::to_widest (e), space);
|
||||
return res;
|
||||
}
|
||||
|
||||
@@ -411,15 +420,11 @@ add_param_constraints (scop_p scop, graphite_dim_t p)
|
||||
{
|
||||
isl_space *space = isl_set_get_space (scop->param_context);
|
||||
isl_constraint *c;
|
||||
- mpz_t g;
|
||||
isl_val *v;
|
||||
|
||||
c = isl_inequality_alloc (isl_local_space_from_space (space));
|
||||
- mpz_init (g);
|
||||
- tree_int_to_gmp (lb, g);
|
||||
- v = isl_val_int_from_gmp (scop->isl_context, g);
|
||||
+ v = isl_val_int_from_wi (scop->isl_context, wi::to_widest (lb));
|
||||
v = isl_val_neg (v);
|
||||
- mpz_clear (g);
|
||||
c = isl_constraint_set_constant_val (c, v);
|
||||
c = isl_constraint_set_coefficient_si (c, isl_dim_param, p, 1);
|
||||
|
||||
@@ -431,15 +436,11 @@ add_param_constraints (scop_p scop, graphite_dim_t p)
|
||||
{
|
||||
isl_space *space = isl_set_get_space (scop->param_context);
|
||||
isl_constraint *c;
|
||||
- mpz_t g;
|
||||
isl_val *v;
|
||||
|
||||
c = isl_inequality_alloc (isl_local_space_from_space (space));
|
||||
|
||||
- mpz_init (g);
|
||||
- tree_int_to_gmp (ub, g);
|
||||
- v = isl_val_int_from_gmp (scop->isl_context, g);
|
||||
- mpz_clear (g);
|
||||
+ v = isl_val_int_from_wi (scop->isl_context, wi::to_widest (ub));
|
||||
c = isl_constraint_set_constant_val (c, v);
|
||||
c = isl_constraint_set_coefficient_si (c, isl_dim_param, p, -1);
|
||||
|
||||
@@ -773,11 +774,8 @@ add_loop_constraints (scop_p scop, __isl_take isl_set *domain, loop_p loop,
|
||||
isl_local_space *ls = isl_local_space_from_space (space);
|
||||
isl_constraint *c = isl_inequality_alloc (ls);
|
||||
c = isl_constraint_set_coefficient_si (c, isl_dim_set, loop_index, -1);
|
||||
- mpz_t g;
|
||||
- mpz_init (g);
|
||||
- tree_int_to_gmp (nb_iters, g);
|
||||
- isl_val *v = isl_val_int_from_gmp (scop->isl_context, g);
|
||||
- mpz_clear (g);
|
||||
+ isl_val *v
|
||||
+ = isl_val_int_from_wi (scop->isl_context, wi::to_widest (nb_iters));
|
||||
c = isl_constraint_set_constant_val (c, v);
|
||||
return isl_set_add_constraint (domain, c);
|
||||
}
|
||||
@@ -817,12 +815,9 @@ add_loop_constraints (scop_p scop, __isl_take isl_set *domain, loop_p loop,
|
||||
|
||||
/* NIT is an upper bound to NB_ITERS: "NIT >= NB_ITERS", although we
|
||||
do not know whether the loop executes at least once. */
|
||||
- mpz_t g;
|
||||
- mpz_init (g);
|
||||
- wi::to_mpz (nit, g, SIGNED);
|
||||
- mpz_sub_ui (g, g, 1);
|
||||
+ --nit;
|
||||
|
||||
- isl_pw_aff *approx = extract_affine_gmp (g, isl_space_copy (space));
|
||||
+ isl_pw_aff *approx = extract_affine_wi (nit, isl_space_copy (space));
|
||||
isl_set *x = isl_pw_aff_ge_set (approx, aff_nb_iters);
|
||||
x = isl_set_project_out (x, isl_dim_set, 0,
|
||||
isl_set_dim (x, isl_dim_set));
|
||||
@@ -831,8 +826,7 @@ add_loop_constraints (scop_p scop, __isl_take isl_set *domain, loop_p loop,
|
||||
ls = isl_local_space_from_space (space);
|
||||
c = isl_inequality_alloc (ls);
|
||||
c = isl_constraint_set_coefficient_si (c, isl_dim_set, loop_index, -1);
|
||||
- isl_val *v = isl_val_int_from_gmp (scop->isl_context, g);
|
||||
- mpz_clear (g);
|
||||
+ isl_val *v = isl_val_int_from_wi (scop->isl_context, nit);
|
||||
c = isl_constraint_set_constant_val (c, v);
|
||||
|
||||
if (dump_file)
|
||||
diff --git a/gcc/graphite.h b/gcc/graphite.h
|
||||
index 5103c614ff140..d22c4f2693f52 100644
|
||||
--- a/gcc/graphite.h
|
||||
+++ b/gcc/graphite.h
|
||||
@@ -25,7 +25,7 @@ along with GCC; see the file COPYING3. If not see
|
||||
#include "sese.h"
|
||||
#include <isl/options.h>
|
||||
#include <isl/ctx.h>
|
||||
-#include <isl/val_gmp.h>
|
||||
+#include <isl/val.h>
|
||||
#include <isl/set.h>
|
||||
#include <isl/union_set.h>
|
||||
#include <isl/map.h>
|
||||
@@ -0,0 +1,40 @@
|
||||
# DP: Turn on -D_FORTIFY_SOURCE=2 by default for C, C++, ObjC, ObjC++,
|
||||
# DP: if the optimization level is > 0
|
||||
|
||||
---
|
||||
gcc/doc/invoke.texi | 6 ++++++
|
||||
gcc/c-family/c-cppbuiltin.c | 3 +
|
||||
2 files changed, 9 insertions(+), 0 deletions(-)
|
||||
|
||||
Index: b/gcc/doc/invoke.texi
|
||||
===================================================================
|
||||
--- a/gcc/doc/invoke.texi
|
||||
+++ b/gcc/doc/invoke.texi
|
||||
@@ -7840,6 +7840,12 @@ also turns on the following optimization
|
||||
Please note the warning under @option{-fgcse} about
|
||||
invoking @option{-O2} on programs that use computed gotos.
|
||||
|
||||
+NOTE: In Alpine Linux, @option{-D_FORTIFY_SOURCE=2} is
|
||||
+set by default, and is activated when @option{-O} is set to 2 or higher.
|
||||
+This enables additional compile-time and run-time checks for several libc
|
||||
+functions. To disable, specify either @option{-U_FORTIFY_SOURCE} or
|
||||
+@option{-D_FORTIFY_SOURCE=0}.
|
||||
+
|
||||
@item -O3
|
||||
@opindex O3
|
||||
Optimize yet more. @option{-O3} turns on all optimizations specified
|
||||
Index: b/gcc/c-family/c-cppbuiltin.c
|
||||
===================================================================
|
||||
--- a/gcc/c-family/c-cppbuiltin.c
|
||||
+++ b/gcc/c-family/c-cppbuiltin.c
|
||||
@@ -1176,6 +1176,10 @@ c_cpp_builtins (cpp_reader *pfile)
|
||||
builtin_define_with_value ("__REGISTER_PREFIX__", REGISTER_PREFIX, 0);
|
||||
builtin_define_with_value ("__USER_LABEL_PREFIX__", user_label_prefix, 0);
|
||||
|
||||
+ /* Fortify Source enabled by default for optimization levels > 0 */
|
||||
+ if (optimize)
|
||||
+ builtin_define_with_int_value ("_FORTIFY_SOURCE", 2);
|
||||
+
|
||||
/* Misc. */
|
||||
if (flag_gnu89_inline)
|
||||
cpp_define (pfile, "__GNUC_GNU_INLINE__");
|
||||
+13
-65
@@ -1,6 +1,7 @@
|
||||
# Automatically generated aport, do not edit!
|
||||
# Generator: pmbootstrap aportgen gcc6-armv7
|
||||
# Based on: main/gcc6 (from postmarketOS)
|
||||
|
||||
CTARGET_ARCH=armv7
|
||||
CTARGET="$(arch_to_hostspec ${CTARGET_ARCH})"
|
||||
LANG_D=false
|
||||
@@ -22,23 +23,19 @@ CBUILDROOT="/"
|
||||
|
||||
_cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
|
||||
|
||||
maintainer=""
|
||||
pkgname=gcc6-armv7
|
||||
pkgver=9999
|
||||
_pkgver=6.4.0
|
||||
pkgrel=15
|
||||
pkgrel=12
|
||||
pkgdesc="Stage2 cross-compiler for armv7"
|
||||
url="http://gcc.gnu.org"
|
||||
# loongarch64: not relevant
|
||||
# ppc64le: not relevant
|
||||
# riscv64: doesn't build
|
||||
arch="x86_64"
|
||||
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
|
||||
license="GPL LGPL"
|
||||
_gccrel=$_pkgver-r$pkgrel
|
||||
depends="binutils-armv7 mpc1 so:libc.musl-x86_64.so.1 so:libgcc_s.so.1 so:libgmp.so.10 so:libisl.so.23 so:libmpc.so.3 so:libmpfr.so.6 so:libstdc++.so.6 so:libz.so.1"
|
||||
depends="binutils-armv7 mpc1"
|
||||
makedepends_build="gcc g++ bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev"
|
||||
makedepends_host="linux-headers gmp-dev mpfr-dev mpc1-dev isl-dev zlib-dev musl-dev-armv7 binutils-armv7"
|
||||
options="!strip !tracedeps toolchain"
|
||||
options="!strip"
|
||||
|
||||
# We only care about C, so we can compile old Linux kernels
|
||||
LANG_CXX=false
|
||||
@@ -70,23 +67,11 @@ if [ "$CHOST" != "$CTARGET" ]; then
|
||||
LIBATOMIC=false
|
||||
LIBITM=false
|
||||
|
||||
# format-sec: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100431
|
||||
CFLAGS="${CFLAGS/-Werror=format-security/}"
|
||||
CXXFLAGS="${CXXFLAGS/-Werror=format-security/}"
|
||||
CPPFLAGS="${CPPFLAGS/-Werror=format-security/}"
|
||||
# fstack-clash-protection is not known to GCC 6
|
||||
CFLAGS="${CFLAGS/-fstack-clash-protection/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fstack-clash-protection/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fstack-clash-protection/}"
|
||||
# and neither is -fno-plt
|
||||
CFLAGS="${CFLAGS/-fno-plt/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fno-plt/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fno-plt/}"
|
||||
# reset target flags (should be set in crosscreate abuild)
|
||||
# fixup flags. seems gcc treats CPPFLAGS as global without
|
||||
# _FOR_xxx variants. wrap it in CFLAGS and CXXFLAGS.
|
||||
export CFLAGS="$CPPFLAGS -g0 $CFLAGS"
|
||||
export CXXFLAGS="$CPPFLAGS -g0 $CXXFLAGS"
|
||||
export CFLAGS="$CPPFLAGS $CFLAGS"
|
||||
export CXXFLAGS="$CPPFLAGS $CXXFLAGS"
|
||||
unset CPPFLAGS
|
||||
export CFLAGS_FOR_TARGET=" "
|
||||
export CXXFLAGS_FOR_TARGET=" "
|
||||
@@ -94,23 +79,10 @@ if [ "$CHOST" != "$CTARGET" ]; then
|
||||
|
||||
STRIP_FOR_TARGET="$CTARGET-strip"
|
||||
elif [ "$CBUILD" != "$CHOST" ]; then
|
||||
# format-sec: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100431
|
||||
CFLAGS="${CFLAGS/-Werror=format-security/}"
|
||||
CXXFLAGS="${CXXFLAGS/-Werror=format-security/}"
|
||||
CPPFLAGS="${CPPFLAGS/-Werror=format-security/}"
|
||||
# fstack-clash-protection is not known to GCC 6
|
||||
CFLAGS="${CFLAGS/-fstack-clash-protection/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fstack-clash-protection/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fstack-clash-protection/}"
|
||||
# and neither is -fno-plt
|
||||
CFLAGS="${CFLAGS/-fno-plt/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fno-plt/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fno-plt/}"
|
||||
# reset target flags (should be set in crosscreate abuild)
|
||||
# fixup flags. seems gcc treats CPPFLAGS as global without
|
||||
# _FOR_xxx variants. wrap it in CFLAGS and CXXFLAGS.
|
||||
export CFLAGS="$CPPFLAGS -g0 $CFLAGS"
|
||||
export CXXFLAGS="$CPPFLAGS -g0 $CXXFLAGS"
|
||||
export CFLAGS="$CPPFLAGS $CFLAGS"
|
||||
export CXXFLAGS="$CPPFLAGS $CXXFLAGS"
|
||||
unset CPPFLAGS
|
||||
|
||||
# reset flags and cc for build
|
||||
@@ -134,31 +106,6 @@ elif [ "$CBUILD" != "$CHOST" ]; then
|
||||
else
|
||||
STRIP_FOR_TARGET=${CROSS_COMPILE}strip
|
||||
_builddir="$srcdir/build"
|
||||
|
||||
# format-sec: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100431
|
||||
CFLAGS="${CFLAGS/-Werror=format-security/}"
|
||||
CXXFLAGS="${CXXFLAGS/-Werror=format-security/}"
|
||||
CPPFLAGS="${CPPFLAGS/-Werror=format-security/}"
|
||||
# fstack-clash-protection is not known to GCC 6
|
||||
CFLAGS="${CFLAGS/-fstack-clash-protection/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fstack-clash-protection/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fstack-clash-protection/}"
|
||||
# and neither is -fno-plt
|
||||
CFLAGS="${CFLAGS/-fno-plt/}"
|
||||
CXXFLAGS="${CXXFLAGS/-fno-plt/}"
|
||||
CPPFLAGS="${CPPFLAGS/-fno-plt/}"
|
||||
# reset target flags (should be set in crosscreate abuild)
|
||||
# fixup flags. seems gcc treats CPPFLAGS as global without
|
||||
# _FOR_xxx variants. wrap it in CFLAGS and CXXFLAGS.
|
||||
export CFLAGS="$CPPFLAGS -g0 $CFLAGS -O2"
|
||||
export CXXFLAGS="$CPPFLAGS -g0 $CXXFLAGS -O2"
|
||||
unset CPPFLAGS
|
||||
# https://gcc.gnu.org/install/build.html
|
||||
export CFLAGS_FOR_TARGET="$CFLAGS"
|
||||
export CXXFLAGS_FOR_TARGET="$CXXFLAGS"
|
||||
export LDFLAGS_FOR_TARGET="$LDFLAGS"
|
||||
export BOOT_CFLAGS="$CFLAGS"
|
||||
export BOOT_LDFLAGS="$LDFLAGS"
|
||||
fi
|
||||
|
||||
# Go needs {set,make,swap}context, unimplemented in musl
|
||||
@@ -219,6 +166,7 @@ source="http://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$_pkgver}/gcc-${_pkg
|
||||
|
||||
001_all_default-ssp-strong.patch
|
||||
002_all_default-relro.patch
|
||||
003_all_default-fortify-source.patch
|
||||
005_all_default-as-needed.patch
|
||||
011_all_default-warn-format-security.patch
|
||||
012_all_default-warn-trampolines.patch
|
||||
@@ -236,6 +184,7 @@ source="http://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$_pkgver}/gcc-${_pkg
|
||||
207-static-pie.patch
|
||||
|
||||
libgcc-always-build-gcceh.a.patch
|
||||
gcc-4.9-musl-fortify.patch
|
||||
gcc-6.1-musl-libssp.patch
|
||||
boehm-gc-musl.patch
|
||||
gcc-pure64.patch
|
||||
@@ -259,8 +208,6 @@ source="http://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$_pkgver}/gcc-${_pkg
|
||||
gcc-pure64-mips.patch
|
||||
ada-mips64.patch
|
||||
|
||||
gcc-6.4-isl.patch
|
||||
|
||||
0001-i386-Move-struct-ix86_frame-to-machine_function.patch
|
||||
0002-i386-Use-reference-of-struct-ix86_frame-to-avoid-cop.patch
|
||||
0003-i386-Use-const-reference-of-struct-ix86_frame-to-avo.patch
|
||||
@@ -499,6 +446,7 @@ sha512sums="
|
||||
28f8c6fdbcb19e950b1d0bafb3bcc7a8cba87bc673aa6027cece116599cdee80f0cf5e95a1440544890239f5c754e8a93ab46d9daedd937faef445d7ea33b226 ecj-4.9.jar
|
||||
a1335adc2fbee98e36c4437ff2587771b98ed4180726779020f65039498235626a411cdb0100dbd20cd19d12f0d94f9a21af179ff624676c28cead9d60598b5d 001_all_default-ssp-strong.patch
|
||||
e36e95b81489163abd6fe9d58f7867bdca43e61143afacbfb17f4698c0b16ec5fd0061d8fab7b2ae615540bebd721c2e2227f80401b4e7fc253da9da62e6b513 002_all_default-relro.patch
|
||||
f86466c62b8291fac46f9c250c7ad8fa5ab7b1cce2504442fd07ddc4543665b317ae28951f244e39aba29aeaf3fff252ec4f6a147aa16adb2b7aed747dd89188 003_all_default-fortify-source.patch
|
||||
51282fea54c7e616367bbeb2479ba13fec6f24eb47bd04e2071907b3b36273b2ff24676f46ef8d22f241c8ab4857307861eee076eab66797c3a50a8ecaa1809a 005_all_default-as-needed.patch
|
||||
3398386dd1e079d6545dd9799adc799c6b80e3984fac6899d0e1a7ee21b66d0c7e53cddf17a65d590c883db750f9f79aaedd857355a8b9f7fb9476c906237919 011_all_default-warn-format-security.patch
|
||||
9adb0d2b9b67dd957df6c609b8714c7c078efb52cd88770905c37c67827be8fc83d1125037b9c29d77db21ce78756aa2bb0bacdb0b98d869ac126da76a298e21 012_all_default-warn-trampolines.patch
|
||||
@@ -514,6 +462,7 @@ fc0de05b36613b732a0222ea005c90653c6a40d6761b6894af2419272f4e74875f37e26af33a9b99
|
||||
98473bcaa77903a223ca9b0d2087c0921b287a2816d308cc32c8fe009e6cbf5dd1ae7fba27794ab8d9c09e117fe534413d91a464d1218474fc123ce0adfdc2c1 205-nopie.patch
|
||||
3287d5b443bea8ec64132bcabe869c738ae98ea8f1a86df1c5d18c927f8816edbfcefeefc47792dbbb2bcacf50319af00e01b3735d34525913b64350770ad453 207-static-pie.patch
|
||||
d08d7ead2de0429e5c9055d5b029ec2be9a8c821d22cecaf9b51f633652c493333f98963d9267fa2fa63850c50ae5eefd5f59e5910ec10d20044dac082182a8b libgcc-always-build-gcceh.a.patch
|
||||
600fe5098dc54edaa9808fd5717af9dec058953f9ad37d49cfba1db4f7e9a7a8f02019342f75157fc575946fa693259422184de27b7ecc8386d9f3ecc0f7cc5d gcc-4.9-musl-fortify.patch
|
||||
dbe0ee917fc7668571722364ab7c806731e3a31e8bfa30b4941b28b16b877d2a32b4a3897ef533399a28f82d43cac9b28e92de0493f0e779046db56584e07fa4 gcc-6.1-musl-libssp.patch
|
||||
bda845a6aa1854d2c883910b115f79ccfa93dfc2b5eac69a3a236d83eb34cadc140731d616ffc24698c7abc8878dd15f231bcc5119f1860e575a120b311706c7 boehm-gc-musl.patch
|
||||
fa62556719449caec6b2b434355bfbcaa5ae55ffe017b3e1f827f66a2aae21b79c571ee7a4ce723ea69169bc3a6447e73650991a200cc372adf2f102677518d7 gcc-pure64.patch
|
||||
@@ -533,7 +482,6 @@ f4ef08454e28c8732db69115e4998ec153399e8d229dd27f923dbdcf57b68128a65640d026cc7f45
|
||||
34a818d5be67eb1f34e44a80b83c28a9b9c17d37fc9fac639f490d6bb5b53ebe3318140d09c236a17d7c98f5a7792ae3d6cefccda8067a5e942d6305b9d1f87c fix-linux-header-use-in-libgcc.patch
|
||||
86be3338cc9c33089608bc4c5e3b7918c4e500a345c338f361b18c342119a6ed69af5495d72950de7106d760f003528b46ad14795e805f8a3331e206dcb234e3 gcc-pure64-mips.patch
|
||||
508f3bca214d88531d739d761d07affc953689b1540905c73420b34c246e1e6b72588cf89f0e1462752633f8ddc88da8c0238be2a1b6e1c213829cecee7924cf ada-mips64.patch
|
||||
80084d4f5984ea1c62f813c3c1fe7ce033d41d6cd5e6df3b10c649c0bbc2544ad0a58e7076fa28bf71d691df0211b07fc11eb0d5c9f462ef28eed4c3fbeeb9ee gcc-6.4-isl.patch
|
||||
7912964bf3a985e9f870250d6e068f715582a4fb04270849d697a50e6aad0cf50df3d483ff80a0eb777d9940fd85526dd8d0b85da9bc71a5f2fbc07616263866 0001-i386-Move-struct-ix86_frame-to-machine_function.patch
|
||||
baa27a4b912d8e27cd65a556b09cf45289a0e00e86dae3925f2923d1f3752080e80d80e159c996ef4156c4df1dfc3069114810a846672170ef3ae461ae0ab7e1 0002-i386-Use-reference-of-struct-ix86_frame-to-avoid-cop.patch
|
||||
6701d15000bdd7c4c98a8fece8c814f5e4e73603eecf84fe4dc5ac10f79b3074afba7c2cc9e51d08b2abade1c34cb0c944c08ead7a85db94e97158c752fd1aac 0003-i386-Use-const-reference-of-struct-ix86_frame-to-avo.patch
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
--- gcc-4.9.2/gcc/config/linux.h.orig 2015-03-09 13:27:13.289736710 +0000
|
||||
+++ gcc-4.9.2/gcc/config/linux.h 2015-03-09 13:29:32.295625046 +0000
|
||||
@@ -146,6 +146,8 @@
|
||||
|
||||
#ifdef NATIVE_SYSTEM_HEADER_DIR
|
||||
#define INCLUDE_DEFAULTS_MUSL_NATIVE \
|
||||
+ { NATIVE_SYSTEM_HEADER_DIR "/fortify", 0, 0, 0, 1, 2 }, \
|
||||
+ { NATIVE_SYSTEM_HEADER_DIR "/fortify", 0, 0, 0, 1, 0 }, \
|
||||
{ NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \
|
||||
{ NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 },
|
||||
#else
|
||||
@@ -1,251 +0,0 @@
|
||||
From cc46a51d4ff8bc1c42b7e6ae472494733bed5c49 Mon Sep 17 00:00:00 2001
|
||||
From: Richard Biener <rguenther@suse.de>
|
||||
Date: Thu, 16 Feb 2017 07:53:53 +0000
|
||||
Subject: [PATCH] graphite.h: Do not include isl/isl_val_gmp.h, instead include
|
||||
isl/isl_val.h.
|
||||
|
||||
2017-02-16 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* graphite.h: Do not include isl/isl_val_gmp.h, instead include
|
||||
isl/isl_val.h.
|
||||
* graphite-isl-ast-to-gimple.c (gmp_cst_to_tree): Remove.
|
||||
(gcc_expression_from_isl_expr_int): Use generic isl_val interface.
|
||||
* graphite-sese-to-poly.c: Do not include isl/isl_val_gmp.h.
|
||||
(isl_val_int_from_wi): New function.
|
||||
(extract_affine_gmp): Rename to ...
|
||||
(extract_affine_wi): ... this, take a widest_int.
|
||||
(extract_affine_int): Just wrap extract_affine_wi.
|
||||
(add_param_constraints): Use isl_val_int_from_wi.
|
||||
(add_loop_constraints): Likewise, and extract_affine_wi.
|
||||
|
||||
From-SVN: r245501
|
||||
---
|
||||
gcc/ChangeLog | 14 ++++++++
|
||||
gcc/graphite-isl-ast-to-gimple.c | 30 +++++------------
|
||||
gcc/graphite-sese-to-poly.c | 58 ++++++++++++++------------------
|
||||
gcc/graphite.h | 2 +-
|
||||
4 files changed, 50 insertions(+), 54 deletions(-)
|
||||
|
||||
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
|
||||
index 24d9c1589f456..5fc6142eaa03f 100644
|
||||
--- a/gcc/ChangeLog
|
||||
+++ b/gcc/ChangeLog
|
||||
@@ -1,3 +1,17 @@
|
||||
+2017-02-16 Richard Biener <rguenther@suse.de>
|
||||
+
|
||||
+ * graphite.h: Do not include isl/isl_val_gmp.h, instead include
|
||||
+ isl/isl_val.h.
|
||||
+ * graphite-isl-ast-to-gimple.c (gmp_cst_to_tree): Remove.
|
||||
+ (gcc_expression_from_isl_expr_int): Use generic isl_val interface.
|
||||
+ * graphite-sese-to-poly.c: Do not include isl/isl_val_gmp.h.
|
||||
+ (isl_val_int_from_wi): New function.
|
||||
+ (extract_affine_gmp): Rename to ...
|
||||
+ (extract_affine_wi): ... this, take a widest_int.
|
||||
+ (extract_affine_int): Just wrap extract_affine_wi.
|
||||
+ (add_param_constraints): Use isl_val_int_from_wi.
|
||||
+ (add_loop_constraints): Likewise, and extract_affine_wi.
|
||||
+
|
||||
2017-02-15 Jeff Law <law@redhat.com>
|
||||
|
||||
PR middle-end/79521
|
||||
diff --git a/gcc/graphite-isl-ast-to-gimple.c b/gcc/graphite-isl-ast-to-gimple.c
|
||||
index dbdae7a7c155d..ec5fb73d9b2bc 100644
|
||||
--- a/gcc/graphite-isl-ast-to-gimple.c
|
||||
+++ b/gcc/graphite-isl-ast-to-gimple.c
|
||||
@@ -73,22 +73,6 @@ struct ast_build_info
|
||||
bool is_parallelizable;
|
||||
};
|
||||
|
||||
-/* Converts a GMP constant VAL to a tree and returns it. */
|
||||
-
|
||||
-static tree
|
||||
-gmp_cst_to_tree (tree type, mpz_t val)
|
||||
-{
|
||||
- tree t = type ? type : integer_type_node;
|
||||
- mpz_t tmp;
|
||||
-
|
||||
- mpz_init (tmp);
|
||||
- mpz_set (tmp, val);
|
||||
- wide_int wi = wi::from_mpz (t, tmp, true);
|
||||
- mpz_clear (tmp);
|
||||
-
|
||||
- return wide_int_to_tree (t, wi);
|
||||
-}
|
||||
-
|
||||
/* Verifies properties that GRAPHITE should maintain during translation. */
|
||||
|
||||
static inline void
|
||||
@@ -325,16 +309,20 @@ gcc_expression_from_isl_expr_int (tree type, __isl_take isl_ast_expr *expr)
|
||||
{
|
||||
gcc_assert (isl_ast_expr_get_type (expr) == isl_ast_expr_int);
|
||||
isl_val *val = isl_ast_expr_get_val (expr);
|
||||
- mpz_t val_mpz_t;
|
||||
- mpz_init (val_mpz_t);
|
||||
+ size_t n = isl_val_n_abs_num_chunks (val, sizeof (HOST_WIDE_INT));
|
||||
+ HOST_WIDE_INT *chunks = XALLOCAVEC (HOST_WIDE_INT, n);
|
||||
tree res;
|
||||
- if (isl_val_get_num_gmp (val, val_mpz_t) == -1)
|
||||
+ if (isl_val_get_abs_num_chunks (val, sizeof (HOST_WIDE_INT), chunks) == -1)
|
||||
res = NULL_TREE;
|
||||
else
|
||||
- res = gmp_cst_to_tree (type, val_mpz_t);
|
||||
+ {
|
||||
+ widest_int wi = widest_int::from_array (chunks, n, true);
|
||||
+ if (isl_val_is_neg (val))
|
||||
+ wi = -wi;
|
||||
+ res = wide_int_to_tree (type, wi);
|
||||
+ }
|
||||
isl_val_free (val);
|
||||
isl_ast_expr_free (expr);
|
||||
- mpz_clear (val_mpz_t);
|
||||
return res;
|
||||
}
|
||||
|
||||
diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c
|
||||
index ede96e5a3c299..8ff9a22e12916 100644
|
||||
--- a/gcc/graphite-sese-to-poly.c
|
||||
+++ b/gcc/graphite-sese-to-poly.c
|
||||
@@ -55,7 +55,6 @@ along with GCC; see the file COPYING3. If not see
|
||||
#include <isl/constraint.h>
|
||||
#include <isl/aff.h>
|
||||
#include <isl/val.h>
|
||||
-#include <isl/val_gmp.h>
|
||||
|
||||
#include "graphite.h"
|
||||
|
||||
@@ -154,16 +153,32 @@ extract_affine_name (scop_p s, tree e, __isl_take isl_space *space)
|
||||
return isl_pw_aff_alloc (dom, aff);
|
||||
}
|
||||
|
||||
+/* Convert WI to a isl_val with CTX. */
|
||||
+
|
||||
+static __isl_give isl_val *
|
||||
+isl_val_int_from_wi (isl_ctx *ctx, const widest_int &wi)
|
||||
+{
|
||||
+ if (wi::neg_p (wi, SIGNED))
|
||||
+ {
|
||||
+ widest_int mwi = -wi;
|
||||
+ return isl_val_neg (isl_val_int_from_chunks (ctx, mwi.get_len (),
|
||||
+ sizeof (HOST_WIDE_INT),
|
||||
+ mwi.get_val ()));
|
||||
+ }
|
||||
+ return isl_val_int_from_chunks (ctx, wi.get_len (), sizeof (HOST_WIDE_INT),
|
||||
+ wi.get_val ());
|
||||
+}
|
||||
+
|
||||
/* Extract an affine expression from the gmp constant G. */
|
||||
|
||||
static isl_pw_aff *
|
||||
-extract_affine_gmp (mpz_t g, __isl_take isl_space *space)
|
||||
+extract_affine_wi (const widest_int &g, __isl_take isl_space *space)
|
||||
{
|
||||
isl_local_space *ls = isl_local_space_from_space (isl_space_copy (space));
|
||||
isl_aff *aff = isl_aff_zero_on_domain (ls);
|
||||
isl_set *dom = isl_set_universe (space);
|
||||
isl_ctx *ct = isl_aff_get_ctx (aff);
|
||||
- isl_val *v = isl_val_int_from_gmp (ct, g);
|
||||
+ isl_val *v = isl_val_int_from_wi (ct, g);
|
||||
aff = isl_aff_add_constant_val (aff, v);
|
||||
|
||||
return isl_pw_aff_alloc (dom, aff);
|
||||
@@ -174,13 +189,7 @@ extract_affine_gmp (mpz_t g, __isl_take isl_space *space)
|
||||
static isl_pw_aff *
|
||||
extract_affine_int (tree e, __isl_take isl_space *space)
|
||||
{
|
||||
- mpz_t g;
|
||||
-
|
||||
- mpz_init (g);
|
||||
- tree_int_to_gmp (e, g);
|
||||
- isl_pw_aff *res = extract_affine_gmp (g, space);
|
||||
- mpz_clear (g);
|
||||
-
|
||||
+ isl_pw_aff *res = extract_affine_wi (wi::to_widest (e), space);
|
||||
return res;
|
||||
}
|
||||
|
||||
@@ -411,15 +420,11 @@ add_param_constraints (scop_p scop, graphite_dim_t p)
|
||||
{
|
||||
isl_space *space = isl_set_get_space (scop->param_context);
|
||||
isl_constraint *c;
|
||||
- mpz_t g;
|
||||
isl_val *v;
|
||||
|
||||
c = isl_inequality_alloc (isl_local_space_from_space (space));
|
||||
- mpz_init (g);
|
||||
- tree_int_to_gmp (lb, g);
|
||||
- v = isl_val_int_from_gmp (scop->isl_context, g);
|
||||
+ v = isl_val_int_from_wi (scop->isl_context, wi::to_widest (lb));
|
||||
v = isl_val_neg (v);
|
||||
- mpz_clear (g);
|
||||
c = isl_constraint_set_constant_val (c, v);
|
||||
c = isl_constraint_set_coefficient_si (c, isl_dim_param, p, 1);
|
||||
|
||||
@@ -431,15 +436,11 @@ add_param_constraints (scop_p scop, graphite_dim_t p)
|
||||
{
|
||||
isl_space *space = isl_set_get_space (scop->param_context);
|
||||
isl_constraint *c;
|
||||
- mpz_t g;
|
||||
isl_val *v;
|
||||
|
||||
c = isl_inequality_alloc (isl_local_space_from_space (space));
|
||||
|
||||
- mpz_init (g);
|
||||
- tree_int_to_gmp (ub, g);
|
||||
- v = isl_val_int_from_gmp (scop->isl_context, g);
|
||||
- mpz_clear (g);
|
||||
+ v = isl_val_int_from_wi (scop->isl_context, wi::to_widest (ub));
|
||||
c = isl_constraint_set_constant_val (c, v);
|
||||
c = isl_constraint_set_coefficient_si (c, isl_dim_param, p, -1);
|
||||
|
||||
@@ -773,11 +774,8 @@ add_loop_constraints (scop_p scop, __isl_take isl_set *domain, loop_p loop,
|
||||
isl_local_space *ls = isl_local_space_from_space (space);
|
||||
isl_constraint *c = isl_inequality_alloc (ls);
|
||||
c = isl_constraint_set_coefficient_si (c, isl_dim_set, loop_index, -1);
|
||||
- mpz_t g;
|
||||
- mpz_init (g);
|
||||
- tree_int_to_gmp (nb_iters, g);
|
||||
- isl_val *v = isl_val_int_from_gmp (scop->isl_context, g);
|
||||
- mpz_clear (g);
|
||||
+ isl_val *v
|
||||
+ = isl_val_int_from_wi (scop->isl_context, wi::to_widest (nb_iters));
|
||||
c = isl_constraint_set_constant_val (c, v);
|
||||
return isl_set_add_constraint (domain, c);
|
||||
}
|
||||
@@ -817,12 +815,9 @@ add_loop_constraints (scop_p scop, __isl_take isl_set *domain, loop_p loop,
|
||||
|
||||
/* NIT is an upper bound to NB_ITERS: "NIT >= NB_ITERS", although we
|
||||
do not know whether the loop executes at least once. */
|
||||
- mpz_t g;
|
||||
- mpz_init (g);
|
||||
- wi::to_mpz (nit, g, SIGNED);
|
||||
- mpz_sub_ui (g, g, 1);
|
||||
+ --nit;
|
||||
|
||||
- isl_pw_aff *approx = extract_affine_gmp (g, isl_space_copy (space));
|
||||
+ isl_pw_aff *approx = extract_affine_wi (nit, isl_space_copy (space));
|
||||
isl_set *x = isl_pw_aff_ge_set (approx, aff_nb_iters);
|
||||
x = isl_set_project_out (x, isl_dim_set, 0,
|
||||
isl_set_dim (x, isl_dim_set));
|
||||
@@ -831,8 +826,7 @@ add_loop_constraints (scop_p scop, __isl_take isl_set *domain, loop_p loop,
|
||||
ls = isl_local_space_from_space (space);
|
||||
c = isl_inequality_alloc (ls);
|
||||
c = isl_constraint_set_coefficient_si (c, isl_dim_set, loop_index, -1);
|
||||
- isl_val *v = isl_val_int_from_gmp (scop->isl_context, g);
|
||||
- mpz_clear (g);
|
||||
+ isl_val *v = isl_val_int_from_wi (scop->isl_context, nit);
|
||||
c = isl_constraint_set_constant_val (c, v);
|
||||
|
||||
if (dump_file)
|
||||
diff --git a/gcc/graphite.h b/gcc/graphite.h
|
||||
index 5103c614ff140..d22c4f2693f52 100644
|
||||
--- a/gcc/graphite.h
|
||||
+++ b/gcc/graphite.h
|
||||
@@ -25,7 +25,7 @@ along with GCC; see the file COPYING3. If not see
|
||||
#include "sese.h"
|
||||
#include <isl/options.h>
|
||||
#include <isl/ctx.h>
|
||||
-#include <isl/val_gmp.h>
|
||||
+#include <isl/val.h>
|
||||
#include <isl/set.h>
|
||||
#include <isl/union_set.h>
|
||||
#include <isl/map.h>
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
maintainer=""
|
||||
pkgname=grub-efi-x86
|
||||
pkgver=2.14
|
||||
pkgrel=0
|
||||
pkgver=2.12
|
||||
pkgrel=9
|
||||
|
||||
_arch="x86"
|
||||
_mirror="http://dl-4.alpinelinux.org/alpine/"
|
||||
@@ -23,5 +23,5 @@ package() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
a092d829a6726702f7c21047c2b3bc27b5ef50ab928f60831a4107659a0ea0d670cc81e0d5b7ed047e06f990bffa9c032633b4f0b15a6920c9fcff37cd39e465 grub-efi-2.14-r0-x86-edge.apk
|
||||
ef8dd1fde9db54c71dd5024be62d09bf4f19dbdd2faf9772780373816050f23c594c6eefdc367f5b8cd93e97ae2f10dbd73cf7979377b72deb77acf8a3e37f71 grub-efi-2.12-r9-x86-edge.apk
|
||||
"
|
||||
@@ -6,10 +6,9 @@ if [ -z "$(type -t arch_to_hostspec)" ]; then
|
||||
arch_to_hostspec() { :; }
|
||||
fi
|
||||
|
||||
maintainer=""
|
||||
pkgname=musl-aarch64
|
||||
pkgver=1.2.6
|
||||
pkgrel=2
|
||||
pkgver=1.2.5
|
||||
pkgrel=21
|
||||
arch="x86_64"
|
||||
subpackages="musl-dev-aarch64:package_dev"
|
||||
|
||||
@@ -58,6 +57,6 @@ package_dev() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
03134d5e7b840db09a10f1f34254840dd86d69f960f3eb38a0944df06d897cc603a1a82af380f0ee975a10708c51430d77618debc8ae500d1bbef705fd77681b musl-1.2.6-r2-aarch64-edge.apk
|
||||
d95f9907bd7c0e818ffde40481bf0a8c23ca038e83f260f4ecb583fe164a581c978f76df3623be312400d75e23e2ca4b0742d59855cd908a9d411829ac017de7 musl-dev-1.2.6-r2-aarch64-edge.apk
|
||||
dce3b131910f7596f8f1d7c2662805b619a151313c7822cf56a7529b6a8b3baf708bfab649be42d920b173dbd7caf33c667ab120779728b9c271439e1190d4ce musl-1.2.5-r21-aarch64-edge.apk
|
||||
e635424ca037e3d949f793de68218e43fc25f0633aa27d1c330d96d97a8473643683f37bd545022bcb25c8298b8ed54288cf48ccc9633b6dda849cfa187d1019 musl-dev-1.2.5-r21-aarch64-edge.apk
|
||||
"
|
||||
@@ -6,11 +6,10 @@ if [ -z "$(type -t arch_to_hostspec)" ]; then
|
||||
arch_to_hostspec() { :; }
|
||||
fi
|
||||
|
||||
maintainer=""
|
||||
pkgname=musl-armhf
|
||||
pkgver=1.2.6
|
||||
pkgrel=2
|
||||
arch="aarch64 x86_64"
|
||||
pkgver=1.2.5
|
||||
pkgrel=21
|
||||
arch="x86_64"
|
||||
subpackages="musl-dev-armhf:package_dev"
|
||||
|
||||
_arch="armhf"
|
||||
@@ -58,6 +57,6 @@ package_dev() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
0f2a24ee0f23612adfb578ccda1b9dccd24a37f78c90d1ba655cdcf0e094dd95f4ec34288c87f98804714cb8fc0865bf0fe079c7a1902b39c4d992bb46e10e64 musl-1.2.6-r2-armhf-edge.apk
|
||||
8b5175848776267bee95be058595e538eaa06cb63522d519b6760920faac40c16fa59a57a6be545c121f1e4d1c7cd2e4b2b8fdded57cbdb7e8585b08ca349d86 musl-dev-1.2.6-r2-armhf-edge.apk
|
||||
b5411d6b4e03c1c8767906733d091e3438b5ca61959395e5de969a311c131d460052d6ad0c776740bce51a57ea7956ceb11e76355ddc9cc7b045804dfea9927e musl-1.2.5-r21-armhf-edge.apk
|
||||
cb52d3a273cfe102f1c782412d0fa5cb24d735527c99e6702aa456d04655bb09f2939c8c64db86c7e256579cc4179c5fbf1f56b6461596a5e298494c4464c35d musl-dev-1.2.5-r21-armhf-edge.apk
|
||||
"
|
||||
@@ -6,11 +6,10 @@ if [ -z "$(type -t arch_to_hostspec)" ]; then
|
||||
arch_to_hostspec() { :; }
|
||||
fi
|
||||
|
||||
maintainer=""
|
||||
pkgname=musl-armv7
|
||||
pkgver=1.2.6
|
||||
pkgrel=2
|
||||
arch="aarch64 x86_64"
|
||||
pkgver=1.2.5
|
||||
pkgrel=21
|
||||
arch="x86_64"
|
||||
subpackages="musl-dev-armv7:package_dev"
|
||||
|
||||
_arch="armv7"
|
||||
@@ -58,6 +57,6 @@ package_dev() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
a5847eb6b71a52d8b348e8ef09953bf9df858f3d3a141a75bba8db7525a83b3143e7ead4b00bdddffad0a21af6a9c01e4d4c8bb27aa8d69ce13dceb58eb43309 musl-1.2.6-r2-armv7-edge.apk
|
||||
01ed9d094bee237e8794678572769ec456709e9f58511be2e301f495518ab82f86ceedc2ad03727fe43925c5e3a5a0f18a1d7b244f57107c3f7593edd14e84c4 musl-dev-1.2.6-r2-armv7-edge.apk
|
||||
440fa575b03ca4253d9d25fbe5a59ae3164ba945c012d12224ef829786afa14c654a2ff3868fedbd200bbbadd5789539f6d88def7831ca207e63a1d753021e5e musl-1.2.5-r21-armv7-edge.apk
|
||||
3b7ce82a7ab3c02cb302614898ca68356ed18512f37f3632b1ef8df44b242b40b528c60c42cc19cb6b31c1e197019bf712713eb3b7998b4efbf96dc2aac29723 musl-dev-1.2.5-r21-armv7-edge.apk
|
||||
"
|
||||
@@ -6,11 +6,10 @@ if [ -z "$(type -t arch_to_hostspec)" ]; then
|
||||
arch_to_hostspec() { :; }
|
||||
fi
|
||||
|
||||
maintainer=""
|
||||
pkgname=musl-loongarch64
|
||||
pkgver=1.2.6
|
||||
pkgrel=2
|
||||
arch="aarch64 x86_64"
|
||||
pkgver=1.2.5
|
||||
pkgrel=21
|
||||
arch="x86_64"
|
||||
subpackages="musl-dev-loongarch64:package_dev"
|
||||
|
||||
_arch="loongarch64"
|
||||
@@ -58,6 +57,6 @@ package_dev() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
112265a3a4c20cbc03a67fe23c69338332e127d51d3a4ad137547fcc8554a8878425f74f46765a032ba1c36c2782a1f3dcf3102e7bbb3c93a671fb85eba4e000 musl-1.2.6-r2-loongarch64-edge.apk
|
||||
45a0953693e6eaa3434e799bc79608dccedfb711cf816ac7dc1bb7ab15ed4a934dfbd0b2ad0b286ac8b8b00f901b99c8e4b06b9f7e50fb69e2d96cc83bbc0304 musl-dev-1.2.6-r2-loongarch64-edge.apk
|
||||
ec3cafd077ad5d07aadd75fdefadb6bcb625979eec47f2ac4ac675471c4d57c956c563bbcb1a455fe30b72212047cff8a1d7f4e4d143ad681a1f3c71c98614fd musl-1.2.5-r21-loongarch64-edge.apk
|
||||
6bfff1beebaa45f409e414e3213c1260a98fc6a1345e11f41d23dcc1a7d37380ae21c538e28e72ab1c4ce5370f3e776dad6e827f741358ce85888bf5ab4e027c musl-dev-1.2.5-r21-loongarch64-edge.apk
|
||||
"
|
||||
@@ -6,11 +6,10 @@ if [ -z "$(type -t arch_to_hostspec)" ]; then
|
||||
arch_to_hostspec() { :; }
|
||||
fi
|
||||
|
||||
maintainer=""
|
||||
pkgname=musl-ppc64le
|
||||
pkgver=1.2.6
|
||||
pkgrel=2
|
||||
arch="aarch64 x86_64"
|
||||
pkgver=1.2.5
|
||||
pkgrel=21
|
||||
arch="x86_64"
|
||||
subpackages="musl-dev-ppc64le:package_dev"
|
||||
|
||||
_arch="ppc64le"
|
||||
@@ -58,6 +57,6 @@ package_dev() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
fa1484bf04b70b27bf6540d8b3f506a334623a160c7d86dd5c58f418dd751eb641c35a0166b485c8ba1bba57f4e929b277352eae5e55cd740a0b73e741f72cc7 musl-1.2.6-r2-ppc64le-edge.apk
|
||||
4ea8db19500bcc05e31c1e9c37e43742b150e9218ba585f98b4cde918abd1896431797921f19ff6a82f42d2db245ccfe368ab552c01637d17f19a8ff33db0396 musl-dev-1.2.6-r2-ppc64le-edge.apk
|
||||
0e2720a11cd9c4417c96301d71f97dcc65ebe990e0115628aa30fe95debce12db75a716def86b4326074110c5e515f5f6876691c693c72ae211d641a43ba73cf musl-1.2.5-r21-ppc64le-edge.apk
|
||||
fcea40a1616b49350f90fb1f0ba99ea8e7cf40544044133553ef4d70f24376d489fa5ff85c15aa4550e4283915eb172c14429ef439a51cd1ec7e08f3a231ce04 musl-dev-1.2.5-r21-ppc64le-edge.apk
|
||||
"
|
||||
@@ -6,11 +6,10 @@ if [ -z "$(type -t arch_to_hostspec)" ]; then
|
||||
arch_to_hostspec() { :; }
|
||||
fi
|
||||
|
||||
maintainer=""
|
||||
pkgname=musl-riscv64
|
||||
pkgver=1.2.6
|
||||
pkgrel=2
|
||||
arch="aarch64 x86_64"
|
||||
pkgver=1.2.5
|
||||
pkgrel=21
|
||||
arch="x86_64"
|
||||
subpackages="musl-dev-riscv64:package_dev"
|
||||
|
||||
_arch="riscv64"
|
||||
@@ -58,6 +57,6 @@ package_dev() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
3113c288563199b52e9fbb93a34e16eb87bfe4b7e0872ba0349eec1fc532ea8583565f862b82130fcf416fc006ff661afad1bf549e25d688aa6b055287089c39 musl-1.2.6-r2-riscv64-edge.apk
|
||||
8bf4503998a50581af7965407bd25aa41c2716526e6db7683dfb9cce134d9cf401bdeeafd060fd6e5d83ac52852e745c6eafdd406dd59d8f5eea256445f21a3d musl-dev-1.2.6-r2-riscv64-edge.apk
|
||||
c3f9b76c99bd9c1426f4f87b1d60405e3b4fc6c93451d08b72338496b4cefae6692ef0b0ab9f09b78317d944289060b38c0a7072737d92b3f75fbb0fd8e81132 musl-1.2.5-r21-riscv64-edge.apk
|
||||
2b28646a759b54c3b2846499c04df7d9b8195da8892a004cbefb69625bbbb874bbc1748ce3d49738931e1e321ab5d90482b08783d07efe28f55d8d1657d451dd musl-dev-1.2.5-r21-riscv64-edge.apk
|
||||
"
|
||||
@@ -6,11 +6,10 @@ if [ -z "$(type -t arch_to_hostspec)" ]; then
|
||||
arch_to_hostspec() { :; }
|
||||
fi
|
||||
|
||||
maintainer=""
|
||||
pkgname=musl-x86
|
||||
pkgver=1.2.6
|
||||
pkgrel=2
|
||||
arch="aarch64 x86_64"
|
||||
pkgver=1.2.5
|
||||
pkgrel=21
|
||||
arch="x86_64"
|
||||
subpackages="musl-dev-x86:package_dev"
|
||||
|
||||
_arch="x86"
|
||||
@@ -58,6 +57,6 @@ package_dev() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
f731bafa153e7b3ea212cc4e13d5c843227374a13530188131184c32f13907057f66af65ff7889a01f7c2b46bae7087f712b09e97ff879e2ed263ebec37432bf musl-1.2.6-r2-x86-edge.apk
|
||||
afc7894a31de08bcfa6b28604625ad7e6cf8cd61394d34bd2ed50ea07c9d4e7ad212cb668439f51599ce2c946a326e196ee01503fe196a4a8dce973ae51d57ef musl-dev-1.2.6-r2-x86-edge.apk
|
||||
6b0da8df450dc4f9b15851a0cdcfc8249f5cc6bedf91ce0d04d6b810b6d2970337345bb8ea83d6b66927be24b88395779b0f660c3511ac2adedbbae76e5c2dc2 musl-1.2.5-r21-x86-edge.apk
|
||||
771c4002ede113c134bc00586dcafba4004c3860ca715723d680c5d8916d42a0a888094276d24405a8e6a39ff79e4690f0021fff075909398ae3f7379cdb6c25 musl-dev-1.2.5-r21-x86-edge.apk
|
||||
"
|
||||
@@ -6,10 +6,9 @@ if [ -z "$(type -t arch_to_hostspec)" ]; then
|
||||
arch_to_hostspec() { :; }
|
||||
fi
|
||||
|
||||
maintainer=""
|
||||
pkgname=musl-x86_64
|
||||
pkgver=1.2.6
|
||||
pkgrel=2
|
||||
pkgver=1.2.5
|
||||
pkgrel=21
|
||||
arch="aarch64"
|
||||
subpackages="musl-dev-x86_64:package_dev"
|
||||
|
||||
@@ -58,6 +57,6 @@ package_dev() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
5a10449984203c8f1c3f243310cec43aad11023bf83f5e08f9a15771a6c3545e678ab98a57f9f9b9528f4096d2efa1cda5620006eacef3feb459156588f5b44a musl-1.2.6-r2-x86_64-edge.apk
|
||||
2454ee23df3c3b93aaa366554692a0ab7258b7c9865247c0acde3903ebbe796e4dda982d11f7556b635b3b9cf7cf238628b276f95eabc426d5045c24830c3b2d musl-dev-1.2.6-r2-x86_64-edge.apk
|
||||
a378f3015c9222161aaa8ffd34038880f923e7a86cb400dac886d1c1adcf691e55798844f8fa6a4ee3ca9ee4d1a1a5d5ea616a550ac0d99933e64a68c2d65332 musl-1.2.5-r21-x86_64-edge.apk
|
||||
87296e7eb778ba4153c6fb27f596561ea7997ee5aa67346aeee9b42687ccb6a5d45e1c1faa2f13d1742e45f47898d78629db3320f640ef8700b55f710584662a musl-dev-1.2.5-r21-x86_64-edge.apk
|
||||
"
|
||||
@@ -2,7 +2,7 @@
|
||||
maintainer=""
|
||||
pkgname=systemd-boot-x86
|
||||
_pkgname=systemd-boot # for monitoring
|
||||
pkgver=260.2
|
||||
pkgver=259.3
|
||||
pkgrel=0
|
||||
pkgdesc="systemd's EFI boot manager for x86 EFI on x86_64."
|
||||
url="https://systemd.io/"
|
||||
@@ -118,7 +118,7 @@ efistub() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
63d15da49e7580952a48a0b50df20c1b398e4b77edf259510b0cdb9022e919387baadf2190194a50f1f582b83e0768c13997a4189cf0fb6a61b65015496d9c80 systemd-260.2.tar.gz
|
||||
ea7314fcde3c0e541c9399f2d165f114bd7bf37cec294680964352da374435ddd3949432f939f35ecb49f0ce6a3b7aaaddf2b65cc8107abc65e2ec3806c99dac systemd-259.3.tar.gz
|
||||
8ecb5e25c0d8b01c406fa3084b0910d517cabbf12894958b4d3d77462cb0924f0a52fe2bf1aa39af29b16fd78fe080a6a99daa18015c6059fb2e52c971d83ba9 0001-meson-disable-libintl-check-if-pam-is-disabled.patch
|
||||
ad54e2c7e7a21bfa9b5f9e8db1b6af6a6d78a3e5dfe2dafcec77488f6224865ab4d4c8a8c8ee1c54c99d1741361e9fb3a51e5d36bcbc7a1c3fdcc4d0c1672132 cross-x86.meson
|
||||
"
|
||||
-3
@@ -9,7 +9,6 @@ test-{{ device.name }}:
|
||||
extends:
|
||||
# Extended from jobs defined in ci-common/ci-tron/common.yml
|
||||
- .pmos-ci-tron-runner-{{ device.name }}
|
||||
- .pmos-ci-tron-initramfs-test
|
||||
|
||||
# Extended from build-jobs.yaml.j2
|
||||
- .device-boot-flow-separate-artifacts
|
||||
@@ -29,6 +28,4 @@ test-{{ device.name }}:
|
||||
CI_TRON_FASTBOOT__RAMDISK_OFFSET: 0x01000000
|
||||
CI_TRON_FASTBOOT__TAGS_OFFSET: 0x00000100
|
||||
CI_TRON_FASTBOOT__PAGESIZE: 4096
|
||||
# Devices should not have the serial console enabled, but we want it
|
||||
# to be able to get logs. And all qcom devices use the same one!
|
||||
CI_TRON_KERNEL_CMDLINE__CONSOLE: "console=ttyMSM0,115200"
|
||||
-6
@@ -10,13 +10,7 @@ test-{{ device.name }}:
|
||||
extends:
|
||||
# Extended from jobs defined in ci-common's ci-tron/common.yml
|
||||
- .pmos-ci-tron-runner-{{ device.name }}
|
||||
- .pmos-ci-tron-initramfs-test
|
||||
|
||||
# Extended from build-jobs.yaml.j2
|
||||
- .device-boot-flow-separate-artifacts
|
||||
- .test-{{ device.name }}
|
||||
variables:
|
||||
# FIXME: cmdline is hardcoded here, but ideally would be built from
|
||||
# fragments using generate-kernel-cmdline...
|
||||
# See: https://gitlab.freedesktop.org/gfx-ci/ci-tron/-/issues/317
|
||||
CI_TRON_KERNEL_CMDLINE__DEVICEINFO: 'console=tty1 console=ttyS0,115200 pmos.force-partition-resize psi=1'
|
||||
@@ -1,34 +0,0 @@
|
||||
From c977b184350479b8c43a0e002eaf2b13b510ba4f Mon Sep 17 00:00:00 2001
|
||||
From: Michal Suchanek <msuchanek@suse.de>
|
||||
Date: Thu, 13 Oct 2022 22:39:51 +0200
|
||||
Subject: [PATCH] libfdt: Fix invalid version warning
|
||||
|
||||
python does not like the u-boot- prefix in the version, drop it.
|
||||
|
||||
/usr/lib/python3.10/site-packages/setuptools/dist.py:544: UserWarning:
|
||||
The version specified ('u-boot-2022.10') is an invalid version, this may
|
||||
not work as expected with newer versions of setuptools, pip, and PyPI.
|
||||
Please see PEP 440 for more details.
|
||||
|
||||
Signed-off-by: Michal Suchanek <msuchanek@suse.de>
|
||||
Reviewed-by: Simon Glass <sjg@chromium.org>
|
||||
Link: https://github.com/u-boot/u-boot/commit/c977b184350479b8c43a0e002eaf2b13b510ba4f
|
||||
Note by ollieparanoid: this isn't just a warning anymore, but causes
|
||||
builds to fail with more recent python tooling.
|
||||
---
|
||||
scripts/dtc/pylibfdt/Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/scripts/dtc/pylibfdt/Makefile b/scripts/dtc/pylibfdt/Makefile
|
||||
index 493995e30384..a7579f0c5f67 100644
|
||||
--- a/scripts/dtc/pylibfdt/Makefile
|
||||
+++ b/scripts/dtc/pylibfdt/Makefile
|
||||
@@ -17,7 +17,7 @@ quiet_cmd_pymod = PYMOD $@
|
||||
cmd_pymod = unset CROSS_COMPILE; unset CFLAGS; \
|
||||
CC="$(HOSTCC)" LDSHARED="$(HOSTCC) -shared " \
|
||||
LDFLAGS="$(HOSTLDFLAGS)" \
|
||||
- VERSION="u-boot-$(UBOOTVERSION)" \
|
||||
+ VERSION="$(UBOOTVERSION)" \
|
||||
CPPFLAGS="$(HOSTCFLAGS) -I$(LIBFDT_srcdir)" OBJDIR=$(obj) \
|
||||
SOURCES="$(PYLIBFDT_srcs)" \
|
||||
SWIG_OPTS="-I$(LIBFDT_srcdir) -I$(LIBFDT_srcdir)/.." \
|
||||
-55
@@ -1,55 +0,0 @@
|
||||
From 78a3943b752afa9321bd4d87626cf44b5fdeeb63 Mon Sep 17 00:00:00 2001
|
||||
From: Oliver Smith <ollieparanoid@postmarketos.org>
|
||||
Date: Sun, 31 May 2026 10:51:08 +0200
|
||||
Subject: [PATCH] python 3.13: binman: migrate from pkg_resources to importlib
|
||||
|
||||
Fix for:
|
||||
File "/home/pmos/build/src/uboot-imx-c4960dade272da9d6a7f53f6956d4d6747d573e9/tools/binman/control.py", line 11, in <module>
|
||||
import pkg_resources
|
||||
ModuleNotFoundError: No module named 'pkg_resources'
|
||||
|
||||
Patch based on:
|
||||
https://github.com/u-boot/u-boot/commit/538719cb6a77934d069e0e64f264457a59a9ebfc
|
||||
|
||||
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
|
||||
---
|
||||
tools/binman/control.py | 9 +++++----
|
||||
1 file changed, 5 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/tools/binman/control.py b/tools/binman/control.py
|
||||
index bfe63a1520..e77e433ae4 100644
|
||||
--- a/tools/binman/control.py
|
||||
+++ b/tools/binman/control.py
|
||||
@@ -8,7 +8,7 @@
|
||||
from collections import OrderedDict
|
||||
import glob
|
||||
import os
|
||||
-import pkg_resources
|
||||
+import importlib.resources as importlib_resources
|
||||
import re
|
||||
|
||||
import sys
|
||||
@@ -89,7 +89,7 @@ def _ReadMissingBlobHelp():
|
||||
msg = ''
|
||||
return tag, msg
|
||||
|
||||
- my_data = pkg_resources.resource_string(__name__, 'missing-blob-help')
|
||||
+ my_data = importlib_resources.files(__package__).joinpath('missing-blob-help').read_bytes()
|
||||
re_tag = re.compile('^([-a-z0-9]+):$')
|
||||
result = {}
|
||||
tag = None
|
||||
@@ -136,8 +136,9 @@ def GetEntryModules(include_testing=True):
|
||||
Returns:
|
||||
Set of paths to entry class filenames
|
||||
"""
|
||||
- glob_list = pkg_resources.resource_listdir(__name__, 'etype')
|
||||
- glob_list = [fname for fname in glob_list if fname.endswith('.py')]
|
||||
+ entries = importlib_resources.files(__package__).joinpath('etype')
|
||||
+ glob_list = [entry.name for entry in entries.iterdir()
|
||||
+ if entry.name.endswith('.py') and entry.is_file()]
|
||||
return set([os.path.splitext(os.path.basename(item))[0]
|
||||
for item in glob_list
|
||||
if include_testing or '_testing' not in item])
|
||||
--
|
||||
2.54.0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Archived: Downstream port, only for testing. Use mainline port!
|
||||
# Reference: <https://postmarketos.org/devicepkg>
|
||||
pkgname=device-lg-mako-downstream
|
||||
pkgver=5
|
||||
pkgver=4
|
||||
pkgrel=0
|
||||
pkgdesc="Google Nexus 4 (Downstream)"
|
||||
url="https://postmarketos.org"
|
||||
@@ -45,7 +45,7 @@ package() {
|
||||
|
||||
sha512sums="
|
||||
ee25f3d0377f027d108593eb7953b8db49d7f05a5c36a0c8ca7e7849d15e3c217bc1ac97d77a66e28d2db4b81c0f50b905639911276da40321d2b6cca7f797df 90-android-touch-dev.rules
|
||||
f266d3af15602fc04b33f7bb31d6d34562417ecec3c384e3996cc5f98d32bdf3db007f6d74369180041b2a92c77c0d940dc10e9fa581462a432519d9e719859f deviceinfo
|
||||
b9984d44b6ce342fb02854eae0171741e0f65cf201f115904434796c77b1dc6f08a2599bad2aa1168f96649d3e6048060f46b306d004846adde1dcf823664c9b deviceinfo
|
||||
67a15c9304112e80e54e62da1bfc6c4c0b942f3a125723f6d007afaa07232fe61ec14c515570ae9abf2ef35a8bdd2f4e7df892904b79b0c1b0f54073603ac157 kernel-cmdline.conf
|
||||
217bdf692ade75d57968299e29e9379ffcfc97addf735663b3e1e7dfce049f9d13b26347b4405ac724ae5fac2946012dcc58014b23b8df357e225b6718dbc0a6 fb.modes
|
||||
52b1465c75c51e2dc2e351a0609220af04b939b9edf7fca844cc00bb9eeb4e71f53e34817ba094e477fc43bf15101fcfd07963c791a36be5c52f199bba6a6d9d pointercal
|
||||
|
||||
@@ -17,6 +17,7 @@ deviceinfo_dev_touchscreen="/dev/input/event2"
|
||||
|
||||
# Fastboot related
|
||||
deviceinfo_generate_bootimg="true"
|
||||
deviceinfo_generate_bootimg="true"
|
||||
deviceinfo_flash_pagesize="2048"
|
||||
deviceinfo_flash_offset_base="0x80200000"
|
||||
deviceinfo_flash_offset_kernel="0x00008000"
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
From 823246468ced0ba06f060c13c4b0db09a44512b9 Mon Sep 17 00:00:00 2001
|
||||
From: Aster Boese <asterboese@mailbox.org>
|
||||
Date: Tue, 3 Mar 2026 19:21:26 -0500
|
||||
Subject: [PATCH] disable-builtin-wcslen
|
||||
|
||||
Backport 0af2f6be1b4281385b618cb86ad946eded089ac8
|
||||
|
||||
---
|
||||
Makefile | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 79192a302..322ea1e7e 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -1005,6 +1005,9 @@ ifdef CONFIG_CC_IS_GCC
|
||||
KBUILD_CFLAGS += -fconserve-stack
|
||||
endif
|
||||
|
||||
+# Ensure compilers do not transform certain loops into calls to wcslen()
|
||||
+KBUILD_CFLAGS += -fno-builtin-wcslen
|
||||
+
|
||||
# change __FILE__ to the relative path from the srctree
|
||||
KBUILD_CPPFLAGS += $(call cc-option,-fmacro-prefix-map=$(srctree)/=)
|
||||
|
||||
--
|
||||
2.53.0
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
maintainer="Richard Acayan <mailingradian@gmail.com>"
|
||||
pkgname=alsa-ucm-conf-qcom-sdm670
|
||||
pkgver=1.2.9_git20260223
|
||||
pkgver=1.2.9_git20250707
|
||||
pkgrel=0
|
||||
pkgdesc="ALSA UCM configuration for SDM670 devices"
|
||||
url="https://gitlab.com/sdm670-mainline/alsa-ucm-conf"
|
||||
@@ -8,7 +8,7 @@ arch="aarch64"
|
||||
license="BSD-3-Clause"
|
||||
provides="alsa-ucm-conf"
|
||||
provider_priority=1
|
||||
_commit="2f8edef47f67a308d5fe3370c73f29a021e6a885"
|
||||
_commit="abe7dee6d942965c7a7d5861beacc9cf0b6adbec"
|
||||
source="https://gitlab.com/sdm670-mainline/alsa-ucm-conf/-/archive/$_commit/alsa-ucm-conf-$_commit.tar.gz"
|
||||
options="!check"
|
||||
|
||||
@@ -19,5 +19,5 @@ package() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
ff65e897310fcade9e2842ffd149dcedd8487e7cb191b7b6e3d702f5fbfadae61602445d5d5b70baff56d08367a85215ba008c6898a2806b61d9e38b4ab7d161 alsa-ucm-conf-2f8edef47f67a308d5fe3370c73f29a021e6a885.tar.gz
|
||||
beddfa4754a6e24deda3e0a78959a03afc93cb7a7c8e69880fc0f5b3011ea11ab9f36c21ca1c588062b8437f7c599234cad109f04887d35d8c480bf0d548a53d alsa-ucm-conf-abe7dee6d942965c7a7d5861beacc9cf0b6adbec.tar.gz
|
||||
"
|
||||
@@ -2,15 +2,15 @@
|
||||
# Co-Maintainer: David Wronek <david@mainlining.org>
|
||||
maintainer="Danila Tikhonov <danila@jiaxyga.com>"
|
||||
pkgname=alsa-ucm-conf-qcom-sm7150
|
||||
pkgver=1.2.15.3_git20260513
|
||||
pkgrel=0
|
||||
pkgver=1.2.14_git20251026
|
||||
pkgrel=1
|
||||
pkgdesc="ALSA UCM configuration for SM7150 devices"
|
||||
url="https://github.com/sm7150-mainline/alsa-ucm-conf"
|
||||
arch="aarch64"
|
||||
license="BSD-3-Clause"
|
||||
provides="alsa-ucm-conf"
|
||||
provider_priority=1
|
||||
_commit="4821070589906c1d80c83210639591678c245369"
|
||||
_commit="06a1b66670bade6959eac9af84358aba7f65f9f2"
|
||||
source="$pkgname-$_commit.tar.gz::https://github.com/sm7150-mainline/alsa-ucm-conf/archive/$_commit.tar.gz"
|
||||
options="!check"
|
||||
builddir="$srcdir/alsa-ucm-conf-$_commit"
|
||||
@@ -22,5 +22,5 @@ package() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
a9ceda049459bf8e228ac34ddc97ee69187ad7183f48a8bb3df0d513dd6066f0d10cb86e40e5b6e24c88f5152d47fec81f872db9ef6c1e027090198b5ddb1d09 alsa-ucm-conf-qcom-sm7150-4821070589906c1d80c83210639591678c245369.tar.gz
|
||||
40a91a9c278f8fcbb26381a498c6d23b9189a337258d12224655d2a62b36bea00022ab6b544bcb5f7724fbd46360a7d6d6316eaf8129f93874eceaf304fe2746 alsa-ucm-conf-qcom-sm7150-06a1b66670bade6959eac9af84358aba7f65f9f2.tar.gz
|
||||
"
|
||||
@@ -1,8 +1,8 @@
|
||||
# Co-Maintainer: Joel Selvaraj <foss@joelselvaraj.com>
|
||||
maintainer="Casey Connolly <kcxt@postmarketos.org>"
|
||||
pkgname=alsa-ucm-conf-sdm845
|
||||
pkgver=2
|
||||
pkgrel=0
|
||||
pkgver=1
|
||||
pkgrel=1
|
||||
pkgdesc="ALSA UCM configuration for Qualcomm SDM845 devices"
|
||||
url="https://postmarketos.org"
|
||||
arch="aarch64"
|
||||
@@ -10,7 +10,7 @@ license="BSD-3-Clause"
|
||||
provides="alsa-ucm-conf"
|
||||
provider_priority=1
|
||||
replaces="soc-qcom-sdm845-ucm"
|
||||
_commit="1b8d290e5aa2ca16b7f2fa8d74910ad19ef88b3a"
|
||||
_commit="70d89261a7d30273fba9c6e67a072699f9f88151"
|
||||
source="$pkgname-$_commit.tar.gz::https://gitlab.com/sdm845-mainline/alsa-ucm-conf/-/archive/$_commit/alsa-ucm-conf-$_commit.tar.gz"
|
||||
options="!check"
|
||||
builddir="$srcdir/$pkgname-$_commit"
|
||||
@@ -23,5 +23,5 @@ package() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
6efa31efc346bdd2c6b07b56ee9b70374745fc4cb8b1585a5125d4674a67cb88ee32f8ae61cad33f2ba4cb54d884d48450fc7e6bcddef8aab7837ff089dad26d alsa-ucm-conf-sdm845-1b8d290e5aa2ca16b7f2fa8d74910ad19ef88b3a.tar.gz
|
||||
f6d03f3b03f944b29b588464e2e26f4f4cc185368714f9e623c1211174ea172efb81a765980c9a289112f5bf8c5c4aafdfd87c0094890069fc3d7c73b29456bc alsa-ucm-conf-sdm845-70d89261a7d30273fba9c6e67a072699f9f88151.tar.gz
|
||||
"
|
||||
@@ -2,9 +2,8 @@ monitor.alsa.rules = [
|
||||
{
|
||||
matches = [
|
||||
{
|
||||
# Matches all sinks of the internal sound card
|
||||
# Matches all sinks
|
||||
node.name = "~alsa_output.*"
|
||||
alsa.card_name = "Fairphone 4"
|
||||
}
|
||||
]
|
||||
actions = {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
maintainer="Luca Weiss <luca@lucaweiss.eu>"
|
||||
pkgname=device-fairphone-fp4
|
||||
pkgdesc="Fairphone 4"
|
||||
pkgver=10
|
||||
pkgver=9
|
||||
pkgrel=0
|
||||
url="https://postmarketos.org"
|
||||
license="MIT"
|
||||
@@ -71,7 +71,7 @@ openrc() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
fdf1973c32c3834f2e1194d2366fbe1ce6b1ac6ee6211fb720677793f3dcea9adaeeada0e7284d72de848692939e2bc2977997d72ab2126d4f4f8c19428ac846 52-fairphone-fp4.conf
|
||||
f6fb26e0e75b15cf727e8a20f34e4132cf357025fff1427cf63729776aedce6e647f9f81f1ec13d0a895e381c119980d8bca575e431d241d9affb4f0ee44f4b4 52-fairphone-fp4.conf
|
||||
2c16ba75e0077b2b1eaefa4c73b287475505a1aeb291ec29316d41cc094277320f9d2aaabfd91eb1dc0f488ab2d61a94faef16e7afe0f1e226779113761b9a37 81-libssc-fairphone-fp4.rules
|
||||
0b56ac5bcd8ec44de9a5f6939b95f7bd1b90d86f1fe8f21f5a0f2bf753445845f540932c0ddc09965bab48ddc0b092b03892240f43e421b265e4b5d76ab3b8db deviceinfo
|
||||
52bb7ed829caa4dcff9728bd6e3cdf118b3c7ee7dfe90df0d4e6422dd67bf3258ae2a4d2dc7599da4182fbd8eb47a0e1d20c58198dc17f2bf178b8f01a8887f7 modules-initfs
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Newer integrated and discrete Intel GPUs won't work without GUC fw,
|
||||
# and older GPUs need DMC firmware for lower power states, so let's
|
||||
# include everything:
|
||||
/usr/lib/firmware/i915
|
||||
/lib/firmware/i915
|
||||
@@ -3,7 +3,7 @@
|
||||
maintainer="Clayton Craft <clayton@craftyguy.net>"
|
||||
pkgname=device-generic-x86_64
|
||||
pkgdesc="Generic x86_64 system, with EFI"
|
||||
pkgver=26
|
||||
pkgver=24
|
||||
pkgrel=0
|
||||
url="https://postmarketos.org"
|
||||
license="MIT"
|
||||
@@ -34,7 +34,6 @@ subpackages="
|
||||
_pmb_recommends="
|
||||
firmware-ath6kl
|
||||
firmware-b43xx
|
||||
fwupd
|
||||
linux-firmware
|
||||
oem-amd
|
||||
oem-intel
|
||||
@@ -85,5 +84,5 @@ sha512sums="
|
||||
a88e80ef4cb33935bdc663c0b8be10e5be92aefcab3376c348c6dfe04c61c59e6a37520d9d658336aff54d5aefed310d21701bc9c48e39a35403565ad990c01f deviceinfo
|
||||
9449922b5167d5c54cfea3b9bb58c4fa3f50d1974464b897a1e6a618bbb80377ec1348fb145fa95f4ba58f645b7e50f1f89feefcaa90de18679a1d73ed92b154 kernel-cmdline.conf
|
||||
45dcda9a8edbe5af3446d8d7922ea13f341c3d060afd3b74f43d213e122d0ca79c21962f76e7261cc680baa08982c9e86fd6f34bb0851768085a04801a0ce5ee modules-initfs
|
||||
25759ef9c8dd7bacff84ccf2896bc76f0bb5d20f214afa0e1b81219853c31ed02263870b8bed6195e679a19fff20f6da266cb95fd93a203bef8645c3deae920f 30-gpu-i915-firmware.files
|
||||
9599a10679a43929e4ed2ea22269a0716219163817574d48db4dc1cb21a0fcf17ea54d77d5fd8efd034905c421ecb3eaa600a72927d683983ce48d1159329881 30-gpu-i915-firmware.files
|
||||
"
|
||||
@@ -1,2 +1,8 @@
|
||||
# Invert the acceleration so it is directed downwards, at rest on a planet.
|
||||
# This is for compatibility with iio-sensor-proxy.
|
||||
#
|
||||
# https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/-/issues/375
|
||||
SUBSYSTEM=="misc", KERNEL=="fastrpc-adsp*", ENV{ACCEL_MOUNT_MATRIX}="-1, 0, 0; 0, -1, 0; 0, 0, -1"
|
||||
|
||||
# Be compatible with the fix to CVE 2024-41024.
|
||||
SUBSYSTEM=="misc", KERNEL=="fastrpc-adsp-secure", SYMLINK="fastrpc-adsp"
|
||||
@@ -2,7 +2,7 @@
|
||||
maintainer="Anjandev Momi <anjan@momi.ca>"
|
||||
pkgname=device-google-bonito
|
||||
pkgdesc="Google Pixel 3a XL"
|
||||
pkgver=9
|
||||
pkgver=8
|
||||
pkgrel=0
|
||||
url="https://postmarketos.org"
|
||||
license="MIT"
|
||||
@@ -22,7 +22,6 @@ depends="
|
||||
soc-qcom-modem
|
||||
soc-qcom-pd-mapper
|
||||
soc-qcom-qbootctl
|
||||
systemd-boot
|
||||
unl0kr-fbforcerefresh
|
||||
"
|
||||
makedepends="devicepkg-dev"
|
||||
@@ -33,14 +32,12 @@ source="
|
||||
hexagonrpcd-adsp-sensorspd.confd
|
||||
modules-initfs
|
||||
no-hexagonrpcd-on-suspend.sh
|
||||
plasmacamerarc
|
||||
q6voiced.conf
|
||||
"
|
||||
subpackages="
|
||||
$pkgname-kernel-sdc:kernel_sdc
|
||||
$pkgname-kernel-tianma:kernel_tianma
|
||||
$pkgname-openrc:openrc
|
||||
$pkgname-plasma-camera:plasma_camera
|
||||
"
|
||||
|
||||
build() {
|
||||
@@ -87,18 +84,11 @@ openrc() {
|
||||
-t "$subpkgdir"/usr/libexec/elogind/system-sleep
|
||||
}
|
||||
|
||||
plasma_camera() {
|
||||
install_if="$pkgname=$pkgver-r$pkgrel plasma-camera"
|
||||
|
||||
install -Dm644 "$srcdir"/plasmacamerarc "$subpkgdir"/etc/xdg/plasmacamerarc
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
e358f0565b95cd5d39dd5bc07645c6e0f94679c93b120b72bd2b6082b7f919e990a6a78e03edc0db045f8fc5e3363377c69fb8e42107298868ec319740c29210 81-libssc-google-sargo.rules
|
||||
bbd5032dd4d40554b3a0d44c1a35c1f1b984f347b9a3d2d4fd718aeedc2e39e8efc8243af5829dd31300c6cb49c8d5f4678364b787861f2144a88e063d90397b deviceinfo
|
||||
089ce0acba4e1d789e337bedfca7570796a6416e7230ae9b8fc6b625747a40dbb064b1a707877cd6b7bdc73844c6571316e2ec0746a77060f13d98c52fdbfc00 81-libssc-google-sargo.rules
|
||||
199d20f5a777ecfd431a40d5b6bf05337a0164ea782be51c911708590a4702eadd107a9aae0654de58a581e633d2a2f15b1ebd0c019aaf38e42e9b6b831835e2 deviceinfo
|
||||
b6208c254b6e44ac4f6d748a38cc6b05da0db2c90235ada2011b138b82ccc3372687df2f5ad97e885e9eea135216a3c52266a08a7f4eb323e62e799f6f82ec7b hexagonrpcd-adsp-sensorspd.confd
|
||||
0253ff4688b789aa7cdbffb22e7ff9497aabe083adc44bf33fa52617215a1f48fc722bd61aa13a35d109eff1e69202eb599dccff029e39c0a390dcab11dd9b76 modules-initfs
|
||||
2972005a9cf6ca57061965075593dddfa8ee479bc6c21cd41851b1a14768cb1cddbd31a17975ae17adc36d40d294ccbc6bf83defbd69fc7b363f638d8564fbbc no-hexagonrpcd-on-suspend.sh
|
||||
53bec3338d875ecedf2ae981cf9a0f9066e276f09570b3bd06217414461126a76942b70e01c3bb18831fbefeb188621dd5a341ab2604e8fb0c6de8a3025177e2 plasmacamerarc
|
||||
3a4a9322839d4b3ef9d79668a37840a9f444954759ae3c512e694051d2f9a2573db42ad6c4c1a5c75eeb861232a27ba1a8cef9b503decd54ead25a96e3dd6f98 q6voiced.conf
|
||||
"
|
||||
@@ -27,7 +27,6 @@ deviceinfo_flash_offset_ramdisk="0x01000000"
|
||||
deviceinfo_flash_offset_second="0x00000000"
|
||||
deviceinfo_flash_offset_tags="0x00000100"
|
||||
deviceinfo_flash_sparse="true"
|
||||
deviceinfo_boot_filesystem="fat32"
|
||||
|
||||
# Reported to be necessary to boot sometimes on Android 9 bootloaders
|
||||
deviceinfo_flash_fastboot_partition_vbmeta="vbmeta"
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
[General]
|
||||
# H264
|
||||
videoCodec=0
|
||||
# 720p
|
||||
videoResolution=2
|
||||
@@ -3,7 +3,7 @@
|
||||
maintainer="Alicja Michalska <ellyqw@mainlining.org>"
|
||||
pkgname=device-google-corsola
|
||||
pkgdesc="Google Corsola Chromebooks"
|
||||
pkgver=10
|
||||
pkgver=9
|
||||
pkgrel=0
|
||||
url="https://postmarketos.org"
|
||||
license="MIT"
|
||||
@@ -39,7 +39,7 @@ nonfree_firmware() {
|
||||
depends="linux-firmware-mediatek alsa-ucm-conf"
|
||||
|
||||
# Symlink for SOF firmware
|
||||
_dir="$subpkgdir/usr/lib/firmware/mediatek/sof-tplg"
|
||||
_dir="$subpkgdir/lib/firmware/mediatek/sof-tplg"
|
||||
mkdir -p "$_dir"
|
||||
|
||||
ln -s sof-mt8186.tplg.zst "$_dir"/sof-mt8186-google-steelix.tplg.zst
|
||||
|
||||
@@ -4,7 +4,7 @@ maintainer="Sebastian Fleer <dev@dwurp.de>"
|
||||
pkgname=device-google-gru
|
||||
pkgdesc="Google Gru Chromebooks"
|
||||
pkgver=12
|
||||
pkgrel=1
|
||||
pkgrel=0
|
||||
url="https://postmarketos.org"
|
||||
license="MIT"
|
||||
arch="aarch64"
|
||||
@@ -51,9 +51,6 @@ build() {
|
||||
|
||||
package() {
|
||||
devicepkg_package $startdir $pkgname
|
||||
|
||||
install -Dm644 "$srcdir"/systemd-gru-watchdog.conf \
|
||||
"$pkgdir"/usr/lib/systemd/system.conf.d/90-gru-watchdog.conf
|
||||
}
|
||||
|
||||
nonfree_firmware() {
|
||||
@@ -68,6 +65,13 @@ openrc() {
|
||||
mkdir "$subpkgdir"
|
||||
}
|
||||
|
||||
systemd() {
|
||||
install_if="$pkgname=$pkgver-r$pkgrel systemd"
|
||||
install -Dm644 "$srcdir"/systemd-gru-watchdog.conf \
|
||||
"$subpkgdir"/usr/lib/systemd/system.conf.d/90-gru-watchdog.conf
|
||||
default_systemd
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
aa8ded3034eae5bca4c3cfd8add13d8aaa4f1f1dde3e86b4c6f001507d4b5a4d89a532adc9813f42a0fa2526db8223643481736eeffaf13bd673d312ecd06adf deviceinfo
|
||||
a750a0c41068082e0b82351d5aec91715e1a5215b09b26fec644dfe259cea2d662e878433a732a8c06dab2a9b420baec2bcc6161d8357cf3ed770239c5165090 modules-initfs
|
||||
|
||||
@@ -6,7 +6,7 @@ maintainer="Adam Thiede <me@adamthiede.com>"
|
||||
pkgname=device-google-oak
|
||||
pkgdesc="Google Oak Chromebooks"
|
||||
pkgver=10
|
||||
pkgrel=1
|
||||
pkgrel=0
|
||||
url="https://postmarketos.org"
|
||||
license="MIT"
|
||||
arch="aarch64"
|
||||
@@ -15,7 +15,6 @@ depends="
|
||||
alsa-utils
|
||||
depthcharge-tools
|
||||
linux-postmarketos-mediatek-mt8173
|
||||
mesa-vulkan-imagination
|
||||
postmarketos-base
|
||||
postmarketos-cros-common
|
||||
"
|
||||
@@ -43,6 +42,6 @@ nonfree_firmware() {
|
||||
|
||||
sha512sums="
|
||||
cab64e21c7710d875cac4ed459a7c6ca8547d7234704e8cb80e875a5cfc65cab6cac00be0c3d9b9300e96f9a45c1b315896708b488024dcffc7cb42c850127e0 deviceinfo
|
||||
09dfc86138379250bc72b3395a4a94257da81d359cb210ee871cfa8efe6450ca3bbd95a134f365bc509bebcde5e882433805d9b265bdd8df12fd85c86491d66f kernel-cmdline.conf
|
||||
97e88eaa9b8e7989a20d2572479fe5d1fe0284de862da11c91b1f347099d5704673837db01a6b0c289fee0a2d7236f64fba31fd6001475f957c23203e34fd6fb kernel-cmdline.conf
|
||||
4b0197eacfeeb4b13f5abc26950f570ee762742547674ce10110ccea63eb46630a2e3b5f87e9c9a1f9deda21baf05bec248ab7a65656687ec94d296b5657dafa modules-initfs
|
||||
"
|
||||
@@ -1,3 +1,2 @@
|
||||
quiet
|
||||
loglevel=2
|
||||
powervr.exp_hw_support=1
|
||||
@@ -3,7 +3,7 @@ maintainer="Henrik Grimler <henrik@grimler.se>"
|
||||
pkgname=device-google-peach-pit
|
||||
pkgdesc="Samsung Chromebook 2 (11.6 inch)"
|
||||
pkgver=10
|
||||
pkgrel=1
|
||||
pkgrel=0
|
||||
url="https://postmarketos.org"
|
||||
license="MIT"
|
||||
arch="armv7"
|
||||
@@ -48,7 +48,7 @@ package() {
|
||||
i3wm() {
|
||||
install_if="$pkgname=$pkgver-r$pkgrel postmarketos-ui-i3wm"
|
||||
install -Dm644 "$srcdir"/90-tap-to-click.conf \
|
||||
"$subpkgdir"/usr/share/X11/xorg.conf.d/90-tap-to-click.conf
|
||||
"$subpkgdir"/etc/X11/xorg.conf.d/90-tap-to-click.conf
|
||||
}
|
||||
|
||||
nonfree_firmware() {
|
||||
|
||||
@@ -1,2 +1,8 @@
|
||||
# Invert the acceleration so it is directed downwards, at rest on a planet.
|
||||
# This is for compatibility with iio-sensor-proxy.
|
||||
#
|
||||
# https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/-/issues/375
|
||||
SUBSYSTEM=="misc", KERNEL=="fastrpc-adsp*", ENV{ACCEL_MOUNT_MATRIX}="-1, 0, 0; 0, -1, 0; 0, 0, -1"
|
||||
|
||||
# Be compatible with the fix to CVE 2024-41024.
|
||||
SUBSYSTEM=="misc", KERNEL=="fastrpc-adsp-secure", SYMLINK="fastrpc-adsp"
|
||||
@@ -2,8 +2,8 @@
|
||||
maintainer="Richard Acayan <mailingradian@gmail.com>"
|
||||
pkgname=device-google-sargo
|
||||
pkgdesc="Google Pixel 3a"
|
||||
pkgver=18
|
||||
pkgrel=1
|
||||
pkgver=17
|
||||
pkgrel=0
|
||||
url="https://postmarketos.org"
|
||||
license="MIT"
|
||||
arch="aarch64"
|
||||
@@ -36,13 +36,10 @@ source="
|
||||
no-hexagonrpcd-on-suspend.sh
|
||||
plasmacamerarc
|
||||
q6voiced.conf
|
||||
reload-rmi-touch.service
|
||||
reload-rmi-touch.sh
|
||||
"
|
||||
subpackages="
|
||||
$pkgname-openrc
|
||||
$pkgname-plasma-camera:plasma_camera
|
||||
$pkgname-systemd
|
||||
"
|
||||
|
||||
build() {
|
||||
@@ -62,12 +59,6 @@ package() {
|
||||
# The q6voiced configuration can only be used if the ADSP is brought up
|
||||
# via non-free firmware.
|
||||
install -Dm644 "$srcdir"/q6voiced.conf "$pkgdir"/etc/conf.d/q6voiced
|
||||
|
||||
install -Dm755 "$srcdir"/reload-rmi-touch.sh \
|
||||
"$pkgdir"/usr/lib/$pkgname/reload-rmi-touch
|
||||
|
||||
install -Dm644 "$srcdir"/reload-rmi-touch.service \
|
||||
-t "$pkgdir"/usr/lib/systemd/system
|
||||
}
|
||||
|
||||
openrc() {
|
||||
@@ -86,13 +77,11 @@ plasma_camera() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
e358f0565b95cd5d39dd5bc07645c6e0f94679c93b120b72bd2b6082b7f919e990a6a78e03edc0db045f8fc5e3363377c69fb8e42107298868ec319740c29210 81-libssc-google-sargo.rules
|
||||
089ce0acba4e1d789e337bedfca7570796a6416e7230ae9b8fc6b625747a40dbb064b1a707877cd6b7bdc73844c6571316e2ec0746a77060f13d98c52fdbfc00 81-libssc-google-sargo.rules
|
||||
6625f41b5348bd45e47f56dc3b4a8aa07430939ae76e082d645397db6680182a7174a1b897ad8b7019e6211220a8f3712eeac6eb2e9b55c4e1434e964729de97 deviceinfo
|
||||
b6208c254b6e44ac4f6d748a38cc6b05da0db2c90235ada2011b138b82ccc3372687df2f5ad97e885e9eea135216a3c52266a08a7f4eb323e62e799f6f82ec7b hexagonrpcd.confd
|
||||
925d8b176a8f1b47a86a1026cc920ffae99ceb35c3e52c222654c15078907579d23c4d68ed65a98ab937f59aaba2bbdd74da8d273e8b9c1ac87a52f718d383d6 modules-initfs
|
||||
2972005a9cf6ca57061965075593dddfa8ee479bc6c21cd41851b1a14768cb1cddbd31a17975ae17adc36d40d294ccbc6bf83defbd69fc7b363f638d8564fbbc no-hexagonrpcd-on-suspend.sh
|
||||
53bec3338d875ecedf2ae981cf9a0f9066e276f09570b3bd06217414461126a76942b70e01c3bb18831fbefeb188621dd5a341ab2604e8fb0c6de8a3025177e2 plasmacamerarc
|
||||
3a4a9322839d4b3ef9d79668a37840a9f444954759ae3c512e694051d2f9a2573db42ad6c4c1a5c75eeb861232a27ba1a8cef9b503decd54ead25a96e3dd6f98 q6voiced.conf
|
||||
20b932e853ea65f9e61bee775af8efec4846766f69f04b73cd104b3aa889d5b8570f26dbcf971d3abff75b3c057c9b585687af5846cb2be8d694f9bca35981b2 reload-rmi-touch.service
|
||||
d04653b5d22a43c6b694608b507d792c03842b77865003cecf291a83bef3762531765227b88275036b24f1307ba5a798f225d68915e4d0773ec36fc6d1650702 reload-rmi-touch.sh
|
||||
"
|
||||
@@ -1,10 +0,0 @@
|
||||
[Unit]
|
||||
Description=Reload RMI touch driver on I2C errors
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/lib/device-google-sargo/reload-rmi-touch
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
Loaded 100 of 1158 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user