Compare commits

..
667 Commits
Author SHA1 Message Date
Oliver Smith 37059adbe1 main/postmarketos-base-ui: show EOL message 2024-07-31 20:51:24 +02:00
Oliver Smith d78210ca6f main/postmarketos-upgrade-gtk3: new aport 2024-07-31 20:51:24 +02:00
Oliver Smith a18c4703a6 cross/busybox-static-*: upgrade to 1.36.1-r19 2024-06-20 19:31:08 +02:00
Oliver Smith 46f8bc7593 main/postmarketos-release-upgrade: upgrade to 1.7.0 (MR 5193)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 06f761e972)
2024-06-16 19:17:30 +02:00
Oliver Smith 86d6eea8ef cross/busybox-static-*: upgrade to 1.36.1-r18 2024-05-29 00:23:57 +02:00
Oliver Smith 17d58a59f6 main/mobile-config-firefox: upgrade to 4.3.1 (MR 4998) (MR 5122)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 6d3cbd5d95)
2024-05-12 21:39:35 +02:00
Oliver Smith 281b6d781d main/mobile-config-firefox: upgrade to 4.3.0 (MR 4975) (MR 5122)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 1526420d86)
2024-05-12 21:39:18 +02:00
Stefan Hansson f5e1b0eac7 linux-postmarketos-exynos4: enable CONFIG_AUDIT (MR 4946) (MR 5053)
Necessary to debug seccomp filters, among other things. Without this
auditd doesn't work at all.

(cherry picked from commit d74c66bcf6)
[ci:skip-build]: already built successfully in CI
2024-04-22 12:59:05 -07:00
Henrik Grimler c40adfab1b linux-postmarketos-exynos4: update to 6.7.6 (MR 4862) (MR 5053)
Tested on m0, i9100 and odroid-u2.

[ci:skip-build]: already built successfully in CI

(cherry picked from commit 39a2a1aa5c)
2024-04-22 12:59:05 -07:00
Luca Weiss 3f9ad5f597 linux-postmarketos-exynos4: enable new community kconfig options (MR 4795) (MR 5053)
(cherry picked from commit ac788b8f3d)
2024-04-22 12:59:05 -07:00
Stefan Hansson 17135ee65a linux-purism-librem5: upgrade to 6.6.22pureos1 (MR 4964)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit a445ce34bd)
2024-04-20 13:15:24 +02:00
Stefan Hansson b6cefd3370 linux-purism-librem5: upgrade to 6.6.18pureos1 (MR 4866)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 79a047d5ae)
2024-04-20 13:15:21 +02:00
Luca Weiss ec1174493f modem/tqftpserv: upgrade and add patches for rsize & seek option handling (MR 4747)
Makes modem work on fairphone-fp4 (sm6350/sm7225) and fairphone-fp5
(sc7280/qcm6490)

Patches are submitted upstream:
https://github.com/andersson/tqftpserv/pull/13
[ci:skip-build]: already built successfully in CI

(cherry picked from commit d7c64500ee)
2024-03-28 19:38:49 +01:00
Arnav Singh 19385cb473 linux-postmarketos-allwinner: update checksum due to upstream changes (MR 4960)
Codeberg tarballs changed checksums.

This was done in master in 6c0391deb4

Ref: https://codeberg.org/Codeberg/Community/issues/1366

[ci:skip-vercheck]
[ci:skip-build]: Already built successfully in CI.
2024-03-24 10:43:40 +01:00
Bobby The Builder f01c4bb605 device-pine64-pinephonepro: microphone alsa tune (MR 4630)
Since kernel 6.5 (I believe) the ucm config
   need to be adjusted because the mic way too
   sensitive. The other party hears a freight
   train riding rails that are almost
   perpendicular ...

   This is an attempt to get the mic to work nicely.
[ci:skip-build]: already built successfully in CI
2024-03-09 21:01:43 +01:00
Luca Weiss 6255108caf linux-purism-librem5: enable new community kconfig options (MR 4795) (MR 4682)
[ci:skip-build] # too many packages
2024-02-27 21:41:20 +01:00
Stefan Hansson b4a1bab481 linux-purism-librem5: upgrade to 6.6.13pureos1 (MR 4759) (MR 4682)
[ci:skip-build]: already built successfully in CI
2024-02-27 21:41:20 +01:00
Newbyte f55ef00572 linux-purism-librem5: upgrade to 6.6.6pureos1 (MR 4682) 2024-02-27 21:41:19 +01:00
Stefan Hansson ff08b8adf9 main/postmarketos-ui-plasma-bigscreen: disable on armv7 (MR 4864)
mycroft-plasmoid was disabled on armv7 in Alpine 3.19:
https://gitlab.alpinelinux.org/alpine/aports/-/commit/33dade81e989491540391517e1bab221289f91b8

[ci:skip-vercheck]: No need to update pkgrel when just changing enabled
architectures.
[ci:skip-build]: already built successfully in CI
2024-02-27 19:33:03 +01:00
Stefan Hansson 7615bf5f01 CI: don't check for executable files in temp (MR 4858)
Most things in temp come from Alpine's aports repository, which has
different rules and does not for example mandate that files are not
marked as executable. As such, let's not require packages in there
to conform to our rules.

[ci:skip-build]: already built successfully in CI
2024-02-27 08:53:24 -08:00
Stefan Hansson 3f926eefef CI: .ecrc: Exclude temp from check (MR 4858)
Most things in temp come from Alpine's aports repository, which has
different rules and does not for example mandate that all files use tabs
instead of spaces. As such, let's not require packages in there to
conform to our rules.
2024-02-27 08:53:24 -08:00
Clayton Craft e09952c8b5 pmos-base-ui: disable DNS filtering to work around dnsmasq hang (MR 4824)
Crappy workaround, it's better than having DNS broken...
See: https://gitlab.com/postmarketOS/pmaports/-/issues/2601

Also removed it from shellcheck, because SC doesn't like all of the
unused/unreachable things after the `exit 0`. This commit should be
reverted when the issue is actually fixed later...

[ci:skip-build] already built successfully in CI

(cherry picked from commit 4dac896160)
2024-02-14 12:20:21 -08:00
Luca Weiss 017ddd388c device-qemu-amd64: move kernel-none subpackage as last (MR 4790)
Currently the none kernel gets selected as default, move it to last so
that kernel-lts gets selected by default.

[ci:skip-vercheck]

(cherry picked from commit 91475c1230)
2024-02-06 00:04:48 +00:00
Oliver Smith 7827bbd020 main/unl0kr: add workaround to fix fast typing bug (MR 4642)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 0aa9524204)
2023-12-17 17:29:56 +01:00
vipoll a4dc4fed5f device-xiaomi-markw: workaround to fix touchscreens (MR 4631)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 20e0ff41c5)
2023-12-15 18:56:13 +01:00
Sicelo A. Mhlongo 427ee9f6a2 gps-nokia-n900: upgrade to 0.3.2 (MR 4628)
Upgrade to latest upstream version. It contains a fix for the reported GPS
date.

https://github.com/maemo-leste/gps-nokia-n900/commit/be8febb04200bea28cbe681d160e5fc1fd97a85a
[ci:skip-build]: already built successfully in CI

(cherry picked from commit f9c6d36d33)
2023-12-13 17:18:04 +01:00
Sicelo A. Mhlongo 39f8bd4da2 gps-nokia-n900: switch upstream sources to Leste repos (MR 4621)
Maemo Leste has better support/integration for the N900. Switch to their GPS
repository

[ci:skip-build]: Already built successfully in CI.
2023-12-12 20:53:43 +01:00
Sicelo A. Mhlongo d7bc3fb7e1 gps-nokia-n900: add maintainer (MR 4621) 2023-12-12 20:53:43 +01:00
Sicelo A. Mhlongo 794fba1218 gps-nokia-n900: switch arch to armv7 (MR 4621) 2023-12-12 20:53:43 +01:00
Sicelo A. Mhlongo 4734c0b694 device/testing/gps-nokia-n900: move to device/community (MR 4621)
Enable installing gps-nokia-n900 for the N900 device, which is in community
category
2023-12-12 20:53:34 +01:00
Luca Weiss 914d69d9dd device-fairphone-fp4: remove phosh-specific config (MR 4619)
Remove the gtk tweaks, they break the UI now, presumably because I've
added proper notch config for FP4 to the gmobile project.

Also we can remove the phoc.ini since nowadays phosh can properly scale
itself based on the screen information and doesn't need this static
config anymore.
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 62a2c66f02)
2023-12-11 14:33:29 +01:00
Oliver Smith db6ac6bbaa main/postmarketos-release-upgrade: upgrade to 1.6.1 (MR 4616)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 1a5e394074)
2023-12-10 22:35:25 +01:00
Pablo Correa Gómez f905cf462a main/postmarketos-artwork: upgrade and install GNOME XMLs (MR 4614)
This allows GNOME Settings to display our wallpapers. And most
remarkably, it allows people to switch back to the original wallpaper
if they ever happen to change it.

[ci:skip-build]: already built successfully in CI

(cherry picked from commit f8f7228621)
2023-12-10 15:16:11 +01:00
Pablo Correa Gómez b1a0788182 main/postmarketos-artwork: set buildddir (MR 4614)
This allows to build the package locally with pmbootstrap build --src

And is less repetition

(cherry picked from commit c49ac1cc80)
2023-12-10 15:16:04 +01:00
Oliver Smith 57ac2e4cf8 main/postmarketos-ui-sxmo*: upgrade to 1.15.0 (MR 4605) (MR 4615)
Adjust to sxmo-utils 1.15.0 not having a sxmo-utils-openrc subpackage
anymore.

Temporarily disable it for riscv64 since the alpine edge builder is
currently stuck. We should still merge the patch to unblock bpo images
for edge for the other arches.

Related: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/56851
Related: https://lists.sr.ht/~mil/sxmo-announce/%3CCXIQYCSF6FI9.28OPMYXGT91GL%40willowbarraco.fr%3E
(cherry picked from commit ee7acf9714)
2023-12-10 15:04:00 +01:00
Oliver Smith cb44e191d9 temp/sxmo-utils: fork 1.15.1 from Alpine edge (MR 4615) 2023-12-10 15:04:00 +01:00
Caleb Connolly 9b91e790f4 device/community/sdm845: enable console to workaround display init issue (MR 4610)
See edge blog post
https://gitlab.com/postmarketOS/postmarketos.org/-/merge_requests/236

upstream bug: https://gitlab.freedesktop.org/drm/msm/-/issues/46

Signed-off-by: Caleb Connolly <caleb@connolly.tech>
[ci:skip-build]: already built successfully in CI
(cherry picked from commit 363446f9da)
2023-12-08 19:04:29 +01:00
Luca Weiss f33f085d14 device-fairphone-fp4: add bootmac dependency (MR 4608)
In order to get stable WiFi and Bluetooth MAC addresses, install the
bootmac service by default.

Also as noted in other device package reviews, qbootctl-openrc should be
a dependency so the post-install/post-upgrade script will definitely
have the openrc service available.
[ci:skip-build]: already built successfully in CI

(cherry picked from commit a5882ea0ac)
2023-12-08 18:04:17 +01:00
Caleb Connolly 1f4561fabf linux-postmarketos-qcom-sdm845: remove unused DTBs (MR 4597)
Drop all the non-sdm845 DTBs. This saves about 12MiB
of space in /boot

Signed-off-by: Caleb Connolly <caleb@connolly.tech>
[ci:skip-build]: already built successfully in CI
(cherry picked from commit b977cf3128)
2023-12-07 20:59:53 +01:00
Pablo Correa Gómez 78a4e77840 linux-postmarketos-allwinner: revert to 6.4.7 kernel (MR 4600)
This is the last kernel version that had working USB-C for everybody

Related #2349

[ci:skip-vercheck]
(cherry picked from commit 750f69ff0b1d8a2a5db987a347b713bbfb27d552)

Note by Oliver: this was not merged to master as of writing.
As Arnav put it in the MR:
> I have a small preference that master remain on 6.6. Only USB
> ethernet is broken, and it's not broken for everyone. If we revert
> master then we're banking on upstream fixing it independently. If we
> leave master as-is then we're banking on either upstream or another
> motivated pmOS user fixing it, which makes a fix more likely.
2023-12-07 20:51:14 +01:00
Pablo Correa Gómez 3653a883cc device/*: rebuild all devices with kernel subpackages (MR 4596)
[ci:ignore-count]
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 9ca0b50688)
2023-12-07 09:04:57 +01:00
Pablo Correa Gómez 16588f5f7e main/devicepkg-dev: remove deviceinfo link in kernel subpackages (MR 4596)
This was a fallout from the /usr/share relocation, only found and
reported now by z3ntu. If the device package happened to be installed
later, then the link would point to the wrong location.

Fixes 1d748a93dd

(cherry picked from commit 18e44a52ab)
2023-12-07 09:04:13 +01:00
Oliver Smith e20c85651b main/postmarketos-ui-plasma-bigscreen: remove ovos (MR 4603)
Upstream Plasma Bigscreen stopped supporting it.

[ci:skip-build]: already built successfully in CI

(cherry picked from commit 97a6609aae)
2023-12-07 08:19:04 +01:00
Oliver Smith acd220adf3 Revert "main/postmarketos-ui-plasma-bigscreen: remove"
This reverts commit 663259af6f.
2023-12-07 08:18:50 +01:00
Sam Day dad30db28c linux-postmarketos-qcom-msm8916: enable CONFIG_USB_VIDEO_CLASS (MR 4595) 2023-12-06 13:24:14 +01:00
Oliver Smith 2945c3db12 main/postmarketos-release-upgrade: upgrade to 1.6.0 (MR 4592)
[ci:skip-build]: already built successfully in CI
2023-12-05 17:54:03 +01:00
André Apitzsch b435c177d6 main/hwtest: add missing dependency (MR 4591)
hwtest crashes if fftest is not provided.

[ci:skip-build]: already built successfully in CI

(cherry picked from commit 8c934b9f74)
2023-12-03 16:37:18 +01:00
Sicelo A. Mhlongo fa9f284495 main/hwtest: upgrade to 0.7.0 (MR 4582)
[ci:skip-build] already built successfully in CI

(cherry picked from commit d4a73356c8)
2023-12-03 16:37:11 +01:00
Caleb Connolly f4a96f44a6 linux-postmarketos-qcom-sdm845: don't install linux.efi (MR 4590)
Space constraints in /boot result in mkinitfs failing. As we aren't
using EFI booting yet, stop installing the ZBOOT kernel variant until
this can be addressed properly (by moving the non-EFI vmlinuz binary out
of /boot)

Signed-off-by: Caleb Connolly <caleb@connolly.tech>

Update by Oliver: I had observed running out of space in /boot, but that
was because I had a non-standard boot partition size of 128 MiB. The
default is 256 MiB for two years already. Let's merge this to v23.12
just in case somebody else has the same problem, but I'll also extend
the postmarketos-release-upgrade script to check the boot partition
size beforehand and warn about it, so we can assume that the partition
is big enough moving forward.

[ci:skip-build]

(cherry picked from commit 58ee8da591829984cce87f71b43367c6c5b91d7b)
2023-12-03 15:46:39 +01:00
Jan Jasper de Kroon e506cbeec3 linux-postmarketos-allwinner: upgrade to 6.6.3 (MR 4545)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 2459e95cd6)
2023-12-03 14:08:04 +01:00
Stefan Hansson 6c7fd48207 linux-purism-librem5: upgrade to 6.6.3 (MR 4584)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 736715b172)
2023-12-03 13:54:45 +01:00
Oliver Smith 2b08221aac device-google-x64-cors: backport from master
Copy the pmaport from master (08c20a83) as discussed in MR 4577. (Not
cherry-picking, because device/testing/device-google-x64cors is not
available in v23.12 and so we would have conflicts.)
2023-12-03 13:47:14 +01:00
Oliver Smith e851acf040 temp/petitboot: remove
Doesn't build currently, and isn't needed for devices in main and
community.
2023-12-03 12:50:12 +01:00
Clayton Craft 9bbe4b877d main/postmarketos-base-ui: setup cgroups on boot (MR 4585)
Allows things like podman/docker to work out of the box.

I looked at /etc/init.d/cgroups, and having this service enabled isn't a
problem if the kernel doesn't have cgroup support... in that situation,
the service script just simply exits (success).

[ci:skip-build] already built successfully in CI

(cherry picked from commit bfa873343a)
2023-12-02 10:51:10 -08:00
Oliver Smith a781cf11f8 temp/power-profiles-daemon: disable tests 2023-12-01 15:21:48 +01:00
Oliver Smith 85d8b17c41 main/postmarketos-mkinitfs-hook-apx: remove
Remove it for now, as it depends on devmem2 from alpine testing. If
somebody wants to have this in pmOS v23.12, make a merge request that
brings it back and adds devmen2.

Related: https://gitlab.alpinelinux.org/alpine/aports/-/issues/15527
2023-12-01 09:36:03 +01:00
Sicelo A. Mhlongo 7911ca02a0 linux-postmarketos-omap: upgrade to 6.6.3 (MR 4578)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit aa289aa350)
2023-12-01 08:58:45 +01:00
Caleb Connolly d1108dd369 linux-postmarketos-qcom-sdm845: use ZBOOT (MR 4542)
EFI booting with systemd-boot requires building the kernel with ZBOOT -
the EFI decompressor stub. However, this breaks the old Android booting.
Detect when ZBOOT is enabled and install both vmlinuz.efi as well as the
old gzipped kernel image.

To help make this upgrade more seamless, continue to support building
the kernel with ZBOOT disabled and just print a warning.

Disable module stripping - we compress them anyway and a recent kernel
change seems to have caused some bug here.

This is a packaging change that doesn't require rebuilding the kernel.
[ci:skip-vercheck]

(cherry picked from commit 5fa718644e)
NOTE by ollieparanoid: cherry-picked in a different order than on
master, but now both aports are identical again. The build failed
without this: https://builds.sr.ht/~postmarketos/job/1104620
2023-12-01 08:55:11 +01:00
Oliver Smith 23774f50c8 temp/power-profiles-daemon: fork from Alpine edge
[ci:skip-vercheck]
2023-11-30 07:33:52 +01:00
Stefan Hansson a81b8f9742 linux-postmarketos-qcom-sdm845: upgrade to sdm845-6.6.3-r3 tag (MR 4581)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit e384812b29)
2023-11-29 23:19:49 +01:00
Stefan Hansson a1108766f9 linux-postmarketos-qcom-sdm845: migrate defconfig (MR 4581)
The 6.6.3 upgrade had some oddities such as being configured for
Clang and being generated for 6.6.0. This resolves that.

(cherry picked from commit 48d6f7383c)
2023-11-29 23:19:41 +01:00
Oliver Smith 663259af6f main/postmarketos-ui-plasma-bigscreen: remove
_pmb_recommends dep ovos is not in alpine 3.19.
2023-11-29 22:20:04 +01:00
Oliver Smith e8fb5fea69 main/postmarketos-ui-bananui: remove
Dependency bananui-demos is still in alpine testing, therefore didn't
make it into 3.19. If somebody wants to use it on v23.12, we make a MR
to add it with all dependencies.
2023-11-29 22:17:50 +01:00
Oliver Smith 8b43a5ce0f temp/mutter-mobile: add lcms2-dev to makedepends (MR 4580)
Fix for:
  meson.build:130:12: ERROR: Dependency "lcms2" not found, tried pkgconfig

Related: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/53961
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 5783346ecb)
2023-11-29 22:14:00 +01:00
Oliver Smith 269996880b cross/gcc-x86: new aport
Add it back, as it is needed for systemd-boot.
2023-11-29 21:22:18 +01:00
Oliver Smith e02fc3a49a cross/musl-x86: new aport
Add it back, as it is needed for systemd-boot.
2023-11-29 21:22:12 +01:00
Caleb Connolly 9a2a9510e4 linux-postmarketos-qcom-sdm845: upgrade to 6.6.3 (MR 4542)
Finally!

Signed-off-by: Caleb Connolly <caleb@connolly.tech>

[ci:skip-build]: Already built successfully in CI.
2023-11-29 20:38:54 +01:00
Oliver Smith e69fb9d80e Remove packages not relevant for stable 2023-11-28 21:08:20 +01:00
Oliver Smith f5ab362041 cross: regenerate for v23.12 2023-11-28 21:07:11 +01:00
Oliver Smith 5fa7c964f3 main/postmarketos-base: set version to v23.12 2023-11-28 21:06:37 +01:00
Oliver Smith 2f1f37a6bf === Branch v23.12 from master ===
Related: https://wiki.postmarketos.org/wiki/Create_release_branch
2023-11-28 20:47:42 +01:00
Anton Bambura c084e40b80 firmware-powervr-gx6250: move to community (MR 4575)
This was missed when moving google-oak to community
2023-11-28 18:15:30 +02:00
ptrcnull 0f862d3fe3 firmware-powervr-gx6250: upgrade to 1.17.6503725 (MR 4573) 2023-11-28 18:11:21 +02:00
Petr Hodina b8f4433e68 linux-pine64-pinenote: upgrade to 6.3.10. (MR 4279)
Enable the Wacom pen as bluetooth input HID

[ci:skip-build]: Already built successfully in CI.
2023-11-28 12:19:34 +01:00
Brandon Boese 943cfe7540 google-x64cros: switch to systemd-boot (MR 4571)
[ci:skip-build]: Already built successfully in CI.
2023-11-28 12:12:16 +01:00
adamthiede e39ec891b8 linux-postmarketos-mediatek-mt8173: upgrade to 6.6.2 and enable CONFIG_LRU_GEN (MR 4570)
[ci:skip-build]: Already built successfully in CI
2023-11-27 22:35:17 +02:00
Brandon Boese 5b9382b742 device-google-x64cros: add myself as maintainer (MR 4569)
[ci:skip-build]: already built successfully in CI
2023-11-27 11:34:49 +01:00
Clayton Craft 38073a05a4 cross/gcc-x86_64: new aport (MR 4568)
Useful for compiling x86_64 packages on aarch64

[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
2023-11-24 17:44:48 -08:00
Clayton Craft 1590be8611 cross/musl-x86_64: new aport (MR 4568) 2023-11-24 17:44:48 -08:00
Antoni Aloy Torrens c467e17bfc main/postmarketos-ui-lxqt: various fixes and usability improvements (MR 3259)
Co-developed-by: Jakob Hauser <jahau@rocketmail.com>
Co-developed-by: Pablo Correa Gomez <ablocorrea@hotmail.com>

[ci:skip-build]: Already built successfully in CI.
2023-11-24 14:01:07 +01:00
Bart Ribbers bcabeb80a1 main/postmarketos-ui-plasma-mobile: remove plasma-welcome from _pmb_recommends (MR 4567)
It isn't ready for mobile yet as it refers to things that do not exist
on Plasma Mobile. We'll add it back later when it is ready

[ci:skip-vercheck]
2023-11-24 11:38:57 +01:00
Teemu Ikonen 665dbfd204 temp/gtk4.0: upgrade to 4.12.4 (MR 4566)
[ci:skip-build]: already built successfully in CI
2023-11-23 23:47:13 +01:00
Pablo Correa Gómez ed1040e5dc temp/pulseaudio: disable lto, might be broken in some armv7 devices (MR 4563)
Something seems to have gone wrong in our rebuild and sync of pulseaudio
with alpine upstream. And user feedback points that building armv7 devices
with LTO is actually broken in our builders. In alpine, they enabled lto
in pulseaudio very long ago (f46174365b219fe431890df3df7e7dc488c9451e 08-09-22)
and nobody as complained so far. Since it's not really a phone-specific package,
one would hope that more people upstream would have noticed if it were broken
there. Since nobody has, we assume this is a downstream problem, and just
unconditionally disable lto in our build. We hope this will be just a temporary
workaround, until the patches that prompted the fork are no longer needed, and
we can simply use upstream pulseaudio, that shouldn't be broken.

Fixes #2368

[ci:skip-build] already built successfully in CI
2023-11-22 01:15:41 -08:00
Luca Weiss 2a4320e16e main/postmarketos-mkinitfs: use NCM instead of RNDIS (MR 3670)
As described in [0] let's switch away from RNDIS and use NCM instead.

Since we cannot force all kernels to switch at the same time, let's keep
a fallback to RNDIS in the setup function.

We can also remove usb_f_rndis from modprobe as the module gets loaded
automatically when needed, but instead we need to load libcomposite
manually so that $configfs/usb_gadget gets created.

[0] https://gitlab.com/postmarketOS/pmaports/-/issues/1797

[ci:skip-build] already built successfully in CI
2023-11-20 16:33:57 -08:00
Henrik Grimler 2df9debe71 linux: add shared patch for when compiling kernels older than 5.5 (MR 4558)
With recent gcc versions we get errors like:

/linux/arch/arm/mm/proc-v7.S: Assembler messages:
/linux/arch/arm/mm/proc-v7.S:425: Error: junk at end of line, first unrecognized character is `#'

Seen on at least two samsung kernels based on 3.4 and 3.10. Fix issue
by backporting (part of) commit found in mainline.
2023-11-19 21:51:57 +01:00
Clayton Craft 63228b7c3c main/boot-deploy: upgrade to 0.12 (MR 4561)
upstream changelog:
https://gitlab.com/postmarketOS/boot-deploy/-/tags/0.12
2023-11-19 11:30:07 -08:00
Ben Westover aeedc86d67 amazon-biscuit: new device (MR 4532) 2023-11-19 10:45:27 -08:00
Anton Bambura 0bbbd50adb modem/msm-cros-efs-loader: update remote (MR 4559)
[ci:skip-build] already built successfully in CI
2023-11-19 10:35:44 -08:00
Ion Agorria c43e9f45a8 CI: add setup_usb_storage.sh to shellcheck.sh (MR 4450)
[ci:skip-build] already built successfully in CI
2023-11-19 10:27:42 -08:00
Ion Agorria 1258df73d7 postmarketos-mkinitfs-hook-debug-shell: Add setup_usb_storage.sh (MR 4450) 2023-11-19 10:27:41 -08:00
Ion Agorria 5626781fca main/postmarketos-initramfs: Separate code into setup_usb_configfs_udc (MR 4450)
This method is called from setup_usb_network_configfs and debug shell's
setup_usb_storage.sh
2023-11-19 10:27:41 -08:00
Jakob Meier 9d9fc6fa49 linux-postmarketos-mediatek-mt8183: enable BINFMT_MISC kconfig (MR 4555)
[ci:skip-build]: Already built successfully in CI
2023-11-14 21:04:53 +01:00
Minecrell 8833243e8b firmware-<qcom-msm8916>: adjust for new venus firmware path (MR 4553)
Linux 6.7-rc1 looks for the venus (video) firmware in
qcom/venus-1.8/venus.mbn instead of qcom/venus-1.8/venus.mdt.

Let's install it in both places with a symlink so that the firmware
packages work for both older and newer Linux versions.

[ci:ignore-count]: lots of packages
[ci:skip-build] already built successfully in CI
2023-11-13 22:56:59 -08:00
Oliver Smith ffd16fa263 cross/musl-*: upgrade to 1.2.4_git20230717-r4 2023-11-13 08:44:30 +01:00
Oliver Smith 2dc2b58c26 cross/busybox-static-*: upgrade to 1.36.1-r15 2023-11-13 08:44:24 +01:00
Sergey Lisov 3b85595ff8 modem/samsungipcd: update to v0.2.3 (MR 4544)
[ci:skip-build]: already built successfully in CI
2023-11-12 14:46:38 +01:00
Jan Jasper de Kroon f193f840cc linux-pine64-pinephonepro: upgrade to 6.6.0 (MR 4538)
[ci:skip-build]: already built successfully in CI
2023-11-12 13:58:58 +01:00
Danila Tikhonov 5e01ef5453 linux-postmarketos-qcom-sm7150: Upgrade to 6.6.1 (MR 4546)
Swap maintainer and co-maintainer (David is not active now and requested
it himself). Also update email addresses.

Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
2023-11-11 21:18:23 +03:00
Andreas Kemnade 937c1a8772 linux-kobo-clara-mainline: Upgrade to v6.6 (MR 4543)
[ci:skip-build]: Already built successfully in CI
2023-11-09 11:31:00 +01:00
Duje Mihanović f578581ad0 linux-samsung-coreprimevelte: upgrade to 6.6 (MR 4540)
Bluetooth and poweroff support are also added.

[ci:skip-build]: already built successfully in CI
2023-11-08 19:48:15 +01:00
Duje Mihanović 5abb5574db samsung-coreprimevelte: move downstream port to unmaintained (MR 4540)
The mainline port has almost reached full feature parity with the
downstream port. Default to mainline in new installations, but keep
downstream around as it'll still be needed for bringing up the currently
missing features.
2023-11-08 19:48:15 +01:00
Duje Mihanović 779361ba0a linux-samsung-coreprimevelte: fix build error, enable PROC_DEVICETREE (MR 4540) 2023-11-08 19:41:28 +01:00
Jianhua Lu d64553214f alsa-ucm-conf-qcom-sm8250: remove _packagename and _flavor variable to improve readability (MR 4524)
[ci:skip-build]: Already built successfully in CI
2023-11-08 16:57:31 +01:00
Jianhua Lu 52703cce87 linux-postmarketos-qcom-sm8250: upgrade to 6.6.0 (MR 4524) 2023-11-08 16:57:31 +01:00
Clayton Craft b08ff33a33 linux-postmarketos-allwinner: enable rtw88 wifi drivers on armv7 (MR 4536)
Used on some USB WiFi adapters. This also enabled RFKILL (used by iwd)

[ci:skip-build]: Already built successfully in CI
2023-11-08 16:41:12 +01:00
Bryant Mairs e371bbdb1f device-samsung-milletwifi: Add msm-modem to enable GPS (MR 4528)
GPS on milletwifi is via the "modem", which doesn't have any cell model
support, but is similar. This starts the modem remoteproc to support
GPS output.

[ci:skip-vercheck]
[ci:skip-build]: Already built successfully in CI
2023-11-08 16:27:54 +01:00
Bryant Mairs 190f13df1f device-samsung-milletwifi: Add firmware for Wi-Fi and Bluetooth (MR 4528) 2023-11-08 16:27:49 +01:00
Bryant Mairs 0ccd921802 linux-postmarketos-qcom-msm8226: Move more sensors to modules (MR 4528)
Some of these sensors give spurious dmesg warnings, even when not used,
so move them to modules.
2023-11-08 16:27:49 +01:00
Bryant Mairs 809aa1a627 linux-postmarketos-qcom-msm8226: Enable nftables support (MR 4528) 2023-11-08 16:27:48 +01:00
Bryant Mairs bbb73593be linux-postmarketos-qcom-msm8226: Enable firmare loading (MR 4528)
Firmware drivers will load too early, before msm-firmware-loader, so they
won't load the necessary firmware. Instead, mark them as modules so they load
later in the boot process, when the firmware is available.
2023-11-08 16:27:48 +01:00
Bryant Mairs 3137915ddf linux-postmarketos-qcom-msm8226: Upgrade kconfig to latest kernel (MR 4528)
Didn't do this when I upgraded the version, so doing it here as a separate
commit for clarity.
2023-11-08 16:27:48 +01:00
Jan Jasper de Kroon a56803bc52 linux-postmarketos-allwinner: upgrade to 6.6.0 (MR 4537)
[ci:skip-build]: already built successfully in CI
2023-11-07 22:54:03 +01:00
blacksilver 95e9949260 linux-samsung-xcover3lte: fix kernel build (MR 4539)
[ci:skip-build]: already built successfully in CI
2023-11-07 22:50:18 +01:00
Clayton Craft eef37b4d81 linux-lenovo-21bx: enable BINFMT_MISC, HIDRAW, ETHERNET kconfig (MR 4533)
BINFMT_MISC for running qemu on this system, and HIDRAW is used for some
USB devices. ETHERNET lets me use usb NICs, since this device does not
have a rj45 port/onboard NIC.

[ci:skip-build] already built successfully in CI
2023-11-04 15:44:39 -07:00
Anton Bambura 44c6fba704 samsung-w767: depend on linux-postmarketos-qcom-sc8180x>=6.6.0 (MR 4523)
[ci:skip-build] already built successfully in CI
2023-11-04 10:02:49 -07:00
Anton Bambura b441adafe8 lenovo-yoga-5g: depend on linux-postmarketos-qcom-sc8180x>=6.6.0 (MR 4523) 2023-11-04 10:02:49 -07:00
Anton Bambura a7d4668b8d lenovo-flex-5g: depend on linux-postmarketos-qcom-sc8180x>=6.6.0 (MR 4523) 2023-11-04 10:02:49 -07:00
Stefan Hansson 24b0744ae4 purism-librem5dev: remove gpsd config (MR 4507)
And don't bother disabling the gpsd service given how unlikely it is
that someone is doing something serious with this device, let alone
having it in the first place. Plus, it's in testing.

[ci:skip-build] already built successfully in CI
2023-11-03 23:28:30 -07:00
Stefan Hansson 5a2aafd62a pine64-pinephone: remove gpsd config (MR 4507)
This is no longer necessary as geoclue now can talk to ModemManager
directly for GPS information. It also presents a security risk due to
how gpsd works. As such, remove it.

Closes https://gitlab.com/postmarketOS/pmaports/-/issues/2340
2023-11-03 23:28:29 -07:00
Clayton Craft 0443f204c7 device-purism-librem5: upgrade to 1.51 (MR 4411)
- librem5-base upgraded to v64: some tweaks to shipmode stuff, but
  otherwise nothing interesting for us

- actually install the mm-broadmobi-port-types udev rule

- add udev rule + service for enabling bluetooth for Sparklan WiFi
  adapters (fixes #2043)
2023-11-03 21:55:40 +01:00
Clayton Craft a44d7fd097 firmware-brcm43752: upgrade to 0.3_git20230613 (4411) (MR 4411)
pkgver was also updated to reflect that this is packaged from the latest
in git as of now. I probably should have done that from the start
(instead of ending up at the arbitrary '0.3'.)
2023-11-03 21:55:40 +01:00
Oliver Smith 1e47f77bc7 pine64-pinephonepro: update maintainers (MR 4529)
[ci:skip-build]: already built successfully in CI
2023-11-03 09:27:16 +01:00
Oliver Smith 9dad13d2e6 pine64-pinephone: update maintainers (MR 4529) 2023-11-03 09:27:16 +01:00
Oliver Smith 930aa6df78 cross/busybox-static-*: upgrade to 1.36.1-r14 2023-11-03 09:26:31 +01:00
Minecrell 6c2de41538 linux-postmarketos-qcom-msm8916: upgrade to 6.6 (MR 4520)
- Update to Linux v6.6
- Lots of cleanup and upstreaming, more than 40 commits upstreamed
  for 6.7

Device changes:
 - Add KTD2026 LED driver, used by bq-paella, bq-piccolo and
   acer-a1-724
 - bq-piccolo: Set proximity near level to fix detection in
   iio-sensor-proxy

New devices:
 - Vivo Y21L
   - eMMC, SD card, USB, Buttons, WiFi/BT
   - Sensors (Accelerometer, Magnetometer, Light)
   - No display yet

[ci:skip-build]: already built successfully in CI
2023-11-03 09:21:28 +01:00
Duje Mihanović 057584931e linux-samsung-coreprimevelte-mainline: upgrade to 6.6-rc7 (MR 4517)
Also adds patches for WiFi and backlight.

[ci:skip-build]: already built successfully in CI
2023-11-02 08:59:36 +01:00
Anton Bambura 2770d39f10 soc-qcom-sc7180: set non-strict iommu for eMMC, SD card and USB (MR 4526)
[ci:skip-build]: already built successfully in CI
2023-11-02 08:53:33 +01:00
Clayton Craft cc3dd7de87 postmarketos-mkinitfs: trigger on upgrades to sd-boot (MR 4525)
Since mkinitfs / boot-deploy install sd-boot in the ESP, it makes sense
to always trigger mkinitfs when sd-boot is upgraded so that we always
boot with the latest supported version.

[ci:skip-build]: already built successfully in CI
2023-11-02 08:49:27 +01:00
Clayton Craft c9c4b492e4 main/postmarketos-initramfs: show OS version on splash screen (MR 4470)
This shows the OS version (from /etc/os-release), e.g. "edge", on the splash
screen. os-release is a tiny text file, adding it to the initramfs doesn't seem
too bad, and having this information on the splash screen can be helpful.

Note that this uses "VERSION" and not "PRETTY_NAME" from the os-release file,
since the splash already shows "postmarketOS" (and the pretty name includes
that too), it seemed redundant and took up valuable display space.

[ci:skip-build]: already built successfully in CI
2023-11-02 08:44:47 +01:00
Clayton Craft 1c56a8a0d1 main/postmarketos-base: include os-release in the initramfs (MR 4470) 2023-11-02 08:44:31 +01:00
Jan Jasper de Kroon 4adee867e1 linux-postmarketos-allwinner: upgrade to 6.6-rc5 (MR 4516)
[ci:skip-build] already built successfully in CI
2023-11-01 16:05:11 -07:00
Oliver Smith f8f223fef0 main/postmarketos-ui-phosh: set pmOS wallpaper (MR 4527)
[ci:skip-build] already built successfully in CI
2023-11-01 16:02:41 -07:00
Oliver Smith f231f88d4d main/postmarketos-ui-gnome: set pmOS wallpaper (MR 4527)
Set myself as maintainer while at it, as Martijn is currently inactive.
2023-11-01 16:02:41 -07:00
Oliver Smith fbc3f390fa main/postmarketos-ui-gnome-mobile: set wallpaper (MR 4527)
Set the GNOME Mobile specific wallpaper in this package, now that it
isn't set in postmarketos-base-ui-gnome anymore.
2023-11-01 16:02:41 -07:00
Oliver Smith 367caeb4fc main/postmarketos-base-ui-gnome: add wallpaper_pmos subpkg (MR 4527)
Add a subpackage that sets the pmOS wallpaper, instead of always setting
the wallpaper that was added for giving GNOME Shell on Mobile a better
contrast.
2023-11-01 16:02:36 -07:00
Caleb Connolly 614cbdc5d1 postmarketos-mkinitfs: trigger on initramfs tests (MR 4420)
Add a trigger to rebuild the initramfs when CI tests are installed.

[ci:ignore-count]
2023-10-31 20:39:55 +00:00
Caleb Connolly c99a360a6e unl0kr: add pmtest (MR 4420)
Add a test for CI that:
* ensures unl0kr runs for 10 seconds without crashing
* ensures that it doesn't print any errors

This sure isn't an "ideal" test, but it at least validates that the
framebuffer interface doesn't die horribly...

With a little more effort we should be able to run unl0kr and then pull
the framebuffer and check it against some known good unl0kr screenshot.

Signed-off-by: Caleb Connolly <caleb@connolly.tech>
2023-10-31 19:54:17 +00:00
Caleb Connolly 6fcc759991 device/community/firmware-*-sdm845: add pmtest subpackages (MR 4420)
Signed-off-by: Caleb Connolly <caleb@connolly.tech>
2023-10-31 19:54:17 +00:00
Caleb Connolly 570e52d99c device/community: add pmtest subpackages for a few sdm845 devices (MR 4420)
Signed-off-by: Caleb Connolly <caleb@connolly.tech>
2023-10-31 19:53:22 +00:00
Caleb Connolly 2204c0a390 main/bootrr: new aport (MR 4420)
bootrr is a simple shell script tool for validating that a given board
has booted correctly. It checks that all expected drivers are loaded.

Signed-off-by: Caleb Connolly <caleb@connolly.tech>
2023-10-31 19:53:22 +00:00
Caleb Connolly bcd6fc9c32 modem/qrtr: add ci tests (MR 4420)
Add a basic test that runs qrtr-lookup and ensures that at least one QMI
service is available. This is mostly a proof of concept and can be
extended in the future.

Signed-off-by: Caleb Connolly <caleb@connolly.tech>
2023-10-31 19:53:22 +00:00
Caleb Connolly 69832ab121 postmarketos-initramfs: support running in CI (MR 4420)
Enable using the postmarketOS initramfs for boot-testing devices, in
this scenario we don't care about some components like the splash, mdev,
or subpartitions, instead we want to run full udev (to load all devices)
and then run hooks. The ci hook will deadloop after running tests.

Signed-off-by: Caleb Connolly <caleb@connolly.tech>
2023-10-31 19:53:22 +00:00
Caleb Connolly ac1d78a246 devicepkg-dev: add pmtest helper (MR 4420)
Add a helper to generate a post-install script for device pmtest
subpackages. This script configures the console and enables logging in
the initramfs for images running in CI.

[ci:ignore-count]
2023-10-31 19:53:22 +00:00
Caleb Connolly 161711dea3 main/postmarketos-test: new aport (MR 4420)
This package provides a helper for writing a pmtest subpackage, as well
as being a place to write generic tests that aren't specific to a device
(e.g. a suspend test).

Signed-off-by: Caleb Connolly <caleb@connolly.tech>

[ci:ignore-count]
2023-10-31 19:53:22 +00:00
Caleb Connolly e22f6f684f postmarketos-mkinitfs-hook-ci: new aport (MR 4420)
Add a new initramfs hook for running tests in a CI environment.

This hook automatically runs any scripts from /usr/libexec/ci-tests.
Tests should be installed as a subpackage of some other package (e.g.
qrtr) with an install_if clause to install them when this hook is
installed.

This allows platform specific packages like device packages to define
tests that will automatically be installed and executed when building
the initramfs for that device. See
device/community/device-oneplus-enchilada for an example.

Signed-off-by: Caleb Connolly <caleb@connolly.tech>
2023-10-31 19:53:21 +00:00
Arnav Singh aecda04b22 linux-postmarketos-allwinner, *-pinephone: add myself as co-maintainer (MR 4513)
Also remove craftyguy per their request.

Ref:

- https://gitlab.com/postmarketOS/pmaports/-/merge_requests/4505

- https://gitlab.com/postmarketOS/pmaports/-/merge_requests/4513#note_1624398634

[ci:skip-build] already built successfully in CI
2023-10-31 11:30:45 -07:00
Sicelo A. Mhlongo 6f3262d477 linux-postmarketos-omap: upgrade to 6.6.0 (MR 4521)
[ci:skip-build] already built successfully in CI
2023-10-30 20:39:09 -07:00
Luca Weiss 027866c8d4 {community,main}/*: enable USB_CONFIGFS_NCM (MR 4511)
See also #1797 and !3670

[ci:skip-build] already built successfully in CI
2023-10-30 20:17:27 -07:00
Konrad DybcioandClayton Craft 7aa1013087 lenovo-21bx: new device (MR 4392)
Co-authored-by: Clayton Craft <clayton@craftyguy.net>

[ci:skip-build] already built successfully in CI
2023-10-30 19:49:48 -07:00
Anton Bambura 21301644fd lenovo-yoga-5g: add PMIC glink initfs modules for USB (MR 4522)
[ci:skip-build] already built in CI
2023-10-30 22:33:37 +02:00
Anton Bambura eb4318d908 lenovo-flex-5g: add PMIC glink initfs modules for USB (MR 4522) 2023-10-30 22:33:37 +02:00
Anton Bambura ab3b6098fe samsung-w767: add cmdline to fix UFS (MR 4522) 2023-10-30 22:33:37 +02:00
Anton Bambura c1e4b238b1 lenovo-yoga-5g: add cmdline to fix UFS (MR 4522) 2023-10-30 22:33:37 +02:00
Anton Bambura 474a3d2a89 lenovo-flex-5g: add cmdline to fix UFS (MR 4522) 2023-10-30 22:33:37 +02:00
Anton Bambura 19fb4d5362 samsung-w767: switch to systemd-boot (MR 4522) 2023-10-30 22:33:37 +02:00
Anton Bambura a1a2f1580c lenovo-yoga-5g: switch to systemd-boot (MR 4522) 2023-10-30 22:33:37 +02:00
Anton Bambura 588f82329f lenovo-flex-5g: switch to systemd-boot (MR 4522) 2023-10-30 22:33:37 +02:00
Anton Bambura 33f518f93f linux-postmarketos-qcom-sc8180x: upgrade to 6.6.0 (MR 4522)
Also enable CONFIG_EFI_ZBOOT for systemd-boot
2023-10-30 22:33:37 +02:00
Luca Weiss daabd8fce2 linux-postmarketos-qcom-sc7280: upgrade to 6.6.0 (MR 4518)
[ci:skip-build]: already built successfully in CI
2023-10-30 11:38:57 +01:00
Clayton Craft 1f8c3c240a device-valve-jupiter: use systemd-boot (MR 4514)
[ci:skip-build] # already built in CI
2023-10-29 21:54:18 +00:00
Clayton Craft c748048ef3 main/systemd-boot: add patch to load dtb even if fw is missing config (MR 4509)
Submitted upstream: https://github.com/systemd/systemd/pull/29749

[ci:skip-build] already built successfully in CI
2023-10-28 12:32:56 -07:00
Clayton Craft 22c6020965 device-qemu-amd64: Add support for EFI boot (MR 4508)
systemd-boot is used for EFI boot (when using "pmbootstrap qemu --efi"),
legacy boot (seabios) is still supported as well (pmb/qemu boots the
kernel directly).

[ci:skip-build] already built successfully in CI
2023-10-28 09:33:03 -07:00
Stefan Hansson 93c04ff4a6 CI: don't shadow built-in dir function (MR 4500)
Not related to the deprecation fixes.

[ci:skip-build]: already built successfully in CI
2023-10-27 08:37:43 +02:00
Stefan Hansson c5b66e4090 CI: replace depreciated module (MR 4500)
See PEP 632: https://peps.python.org/pep-0632

Closes https://gitlab.com/postmarketOS/pmaports/-/issues/2207
2023-10-27 08:37:37 +02:00
André Apitzsch 5dec8f2c87 bq-piccolo: remove unneeded pointercal (MR 4506)
With unl0kr being default now, pointercal is no longer needed.

[ci:skip-build]: already built successfully in CI
2023-10-26 00:05:55 +02:00
Raymond Hackley 398cba07b7 samsung-a6plte: drop 30-gpu-firmware.files (MR 4501)
msm-firmware-loader path is valid only on booted phones, which won't exist
in pmbootstrap chroot, but results in no such file or directory errors.
Drop 30-gpu-firmware.files to workaround temporarily. Besides it's
preferred to be put in firmware packages.

[ci:skip-build]: already built successfully in CI
2023-10-23 08:26:06 +02:00
Alexandre Marquet 0480628fe1 device-samsung-manta-downstream: remove package (MR 4406)
Signed-off-by: Alexandre Marquet <tb@a-marquet.fr>

[ci:skip-build]: already built successfully in CI
2023-10-23 08:18:27 +02:00
Alexandre Marquet dd4fc39824 linux-samsung-manta-downstream: remove package (MR 4406)
Signed-off-by: Alexandre Marquet <tb@a-marquet.fr>
2023-10-23 08:18:27 +02:00
Alexandre Marquet db2b912a0a device-samsung-manta: switch to mainline kernel (MR 4406)
Samsung Manta is now supported by linux-posmarketos-exynos5.
Update device-samsung-manta to use it, and move downstream kernel and
device to unmaintained.

Also adds a script and networkmanager configuration to autoconfigure
WiFi MAC address from /proc/cmdline.

Signed-off-by: Alexandre Marquet <tb@a-marquet.fr>
2023-10-23 08:18:26 +02:00
Alexandre Marquet 08f32ffa4d firmware-samsung-manta: update for mainline (MR 4406)
WiFi firmware for brcm43241b0 is in linux-firmware, but not the calibration (bcmdhd.cal).
Mainline driver need bcmdhd.cal to be renamed brcmfmac43241b0-sdio.samsung,nexus10-manta.txt.

Mainline Bluetooth driver needs BCM.samsung,nexus10-manta.hcd.

Signed-off-by: Alexandre Marquet <tb@a-marquet.fr>
2023-10-23 08:18:26 +02:00
Alexandre Marquet 062a26a60d linux-postmarketos-exynos5: update config for Samsung Manta (MR 4406)
Signed-off-by: Alexandre Marquet <tb@a-marquet.fr>
2023-10-23 08:18:21 +02:00
Caleb Connolly 78762563c2 postmarketos-initramfs: use blkid (MR 4487)
Explicitly pull in the blkid package (we already added it to
00-initramfs-base.files), and replace uses of busybox findfs. Full fat
blkid supports PARTLABEL (so the /dev/disk/by-partlabel symlinks will
work consistently now), and has some nice optimisations that make the
lookup times a lot faster than busybox findfs.

[ci:skip-build]: already built successfully in CI
2023-10-23 08:10:56 +02:00
Caleb Connolly 5c6f2dd0d9 postmarketos-initramfs: fix partition cmdline priority (MR 4487)
The "pmos_[br]oot(_uuid)?" kernel cmdline args can be used to specify
how to mount the root and boot partitions. During a previous rework, the
behaviour of these was made inconsistent (becoming dependent on the
order they were specified on the cmdline).

Undo the previous "optimisation" by splitting them back out into two
FOR loops, where the _uuid variants take precedence.
2023-10-23 08:10:50 +02:00
Alistair Francis 2c2aeed034 temp/pulseaudio: Enable webrtc (MR 4480)
Signed-off-by: Alistair Francis <alistair@alistair23.me>

[ci:skip-build]: already built successfully in CI
2023-10-23 07:40:41 +02:00
Alistair Francis 32b9b64c98 temp/pulseaudio: Refresh from upstream (MR 4480)
Refresh the package with latest changes from Alpine

Signed-off-by: Alistair Francis <alistair@alistair23.me>
2023-10-23 07:40:35 +02:00
Stefan Hansson a0a14ce58d linux-purism-librem5: upgrade to 6.5.6 (MR 4499)
[ci:skip-build] already built in CI
2023-10-22 15:54:33 +01:00
Dark98 0a8069435b device-htc-leo: depend on postmarketos-base-downstream (MR 4497)
Postmarketos-base-downstream provides a lightdm config file needed
for GUI to be brought up when using an x11 based UI.

[ci:ignore-count]
[ci:skip-build]: Already built successfully in CI
2023-10-21 14:43:14 +02:00
Dark98 7cea0a4a7b device-amazon-ford: depend on postmarketos-base-downstream (MR 4497)
WPostmarketos-base-downstream provides a lightdm config file needed
for GUI to be brought up when using an x11 based UI.
2023-10-21 14:43:13 +02:00
Henrik Grimler 1b86b7b922 device-samsung-gts210lte: depend on postmarketos-base-downstream (MR 4497)
Postmarketos-base-downstream provides a lightdm config file needed for
GUI to be brought up when using an x11 based UI.
2023-10-21 14:43:13 +02:00
Henrik Grimler 5462164fad exynos5420-tablets: depend on postmarketos-base-downstream (MR 4497)
When using downstream kernel.  Postmarketos-base-downstream provides a
lightdm config file needed for GUI to be brought up when using
an x11 based UI.
2023-10-21 14:43:12 +02:00
Henrik Grimler 2a03913ef4 device-samsung-dream: depend on postmarketos-base-downstream (MR 4497)
Postmarketos-base-downstream provides a x11 config file needed for GUI
to be brought up when using lightdm+x11 based UIs.

Fixes: https://gitlab.com/postmarketOS/pmaports/-/issues/2102
2023-10-21 14:43:12 +02:00
Henrik Grimler b2c3933136 device-samsung-crownlte: depend on postmarketos-base-downstream (MR 4497)
And drop 10-logind-check-graphical.conf since
postmarketos-base-downstream provides that file.
2023-10-21 14:43:12 +02:00
Henrik Grimler fc69517273 device-samsung-star2lte: depend on postmarketos-base-downstream (MR 4497)
And drop 10-logind-check-graphical.conf since
postmarketos-base-downstream provides that file.
2023-10-21 14:43:12 +02:00
Henrik Grimler 0028ae7353 device-samsung-starlte: depend on postmarketos-base-downstream (MR 4497)
And drop 10-logind-check-graphical.conf since
postmarketos-base-downstream provides that file.
2023-10-21 14:43:12 +02:00
Henrik Grimler c2175703fe main/postmarketos-base-downstream: add package (MR 4497)
All devices that use downstream kernels should depend on this package.
We will to start with use it to fix so that lightdm+x11 work again
when using downstream kernels.

See also https://gitlab.com/postmarketOS/pmaports/-/issues/2102.
2023-10-21 14:43:12 +02:00
Bryant Mairs 8d522e2640 samsung-milletwifi: new device (MR 4495) 2023-10-21 14:40:02 +02:00
Bryant Mairs ac80693307 linux-postmarketos-qcom-msm8226: add kernel options (MR 4494)
These are necessary for samsung-milletwifi to use this kernel.

[ci:skip-build]: Already built successfully in CI
2023-10-20 22:19:50 +02:00
Bryant Mairs 75774e99df linux-postmarketos-qcom-msm8226: upgrade to 6.5.7 (MR 4494) 2023-10-20 22:19:47 +02:00
Stefan Hansson 14e6594cc5 cross/gcc-*: upgrade to 13.2.1_git20231014 2023-10-20 13:06:28 +02:00
Raymond Hackley 4372013494 samsung-a6plte: add SM5708 modules to initfs, configure getty using deviceinfo_getty variable and add USB ID (MR 4404)
- Add SM5708 modules to initfs for the following devices, to unlock FDE
  with USB OTG keyboards and fix USB networking.
- Configure getty using deviceinfo_getty variable.
- Add USB ID 04e8:6860 to deviceinfo

[ci:skip-build]: already built successfully in CI
2023-10-18 17:58:47 +02:00
Raymond Hackley 6157a01f0f firmware: use build() instead of unpack() (MR 4493)
Some firmware packages has only a WCNSS config file, which is decoded
from base64 uploaded to Pastebin, and there is nothing to unpack.

[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
2023-10-18 17:54:42 +02:00
Clayton Craft ef663840c4 main/postmarketos-mkinitfs: upgrade to 2.2.2 (MR 4475)
The only new thing in this version is the addition of a deprecation warning
when osk-sdl is installed in the initramfs.

Also see: https://gitlab.com/postmarketOS/pmaports/-/issues/2319
[ci:skip-build]: already built successfully in CI
2023-10-18 17:51:59 +02:00
Clayton Craft cf8fc87a52 device-valve-jupiter: set deviceinfo_generate_systemd_boot (MR 4485)
Upstream boot-deploy (me, lol) removed generate_gummiboot,
and now generate_systemd_boot is used to configure both gummiboot and
systemd boot.

[ci:skip-build]: already built successfully in CI
2023-10-18 17:46:15 +02:00
Clayton Craft 4a8b89e750 main/boot-deploy: upgrade to 0.11 (MR 4485)
Upstream changelog: https://gitlab.com/postmarketOS/boot-deploy/-/tags/0.11
2023-10-18 17:46:15 +02:00
Pablo Correa Gómez bdaf8ef02f main/postmarketos-initramfs: support comments in modules.load file (MR 4490)
[ci:skip-build]: already built successfully in CI
2023-10-18 15:08:21 +00:00
Clayton Craft 9400f43579 cross/gcc-riscv64: upgrade to 13.1.1_git20230722-r3 (MR 4476)
This reverts commit 72e55aae91, which was
itself a revert of this change 🥳

[ci:skip-build]: Already built successfully in CI
2023-10-18 16:59:53 +02:00
Raymond Hackley ca6ff9cd98 acer-t01: new device (MR 4488) 2023-10-18 13:15:18 +02:00
Barnabás Czémán 39b9c33cc0 xiaomi-onclite: remove bam_dma from modules-initfs (MR 4489) 2023-10-18 13:11:41 +02:00
Ion Agorria 4dc4b0adf6 oneplus-hotdogb: add device pkg (MR 4451)
[ci:skip-build]: already built successfully in CI
2023-10-16 20:25:55 +02:00
Richard Acayan c0fc15d156 google-sargo: package q6voiced config (MR 4479)
This was missed in the original c720400e47 ("google-sargo: add
q6voiced config (MR 4412)"), then pointed out by craftyguy when
reviewing the full bonito port.

Link: https://gitlab.com/postmarketOS/pmaports/-/merge_requests/4318#note_1587356675
[ci:skip-build]: already built successfully in CI
2023-10-16 20:21:56 +02:00
M0Rf30 0b8a2265f8 qcom-msm8953: make bam_dma static (MR 4486)
[ci:skip-build]: already built successfully in CI
2023-10-16 20:18:21 +02:00
M0Rf30 71389586f8 linux-postmarketos-qcom-msm8953: upgrade to 6.5.2-r1 (MR 4477)
[ci:skip-build]: already built successfully in CI
2023-10-16 20:15:41 +02:00
Clayton Craft 72bd769dcb main/systemd-boot: new aport (MR 4484)
EFI bootloader from systemd, with hacks to build it on Alpine/pmOS.
Cross compilation (using a meson cross file) is used for building
32-bit version on x86_64, for systems that have a 32-bit EFI. Everything
else assumes that the EFI arch matches the CPU arch.

Besides supporting all the archs we need, another major goal was to
minimize the number of changes to systemd's build system required to
build only the bootloader, so that maintaining/rebasing isn't *too*
painful...

I am adding this to the "main" category, because I don't think there's a
way to add it to Alpine. It requires cross compiling to x86 on x86_64
(to support 32-bit EFI on this arch), and Alpine doesn't support this.
It requires stuff in pmaports/cross.

--- Research notes ---

I started looking at all of this because I wanted to come up with a
single way to boot Linux via EFI, that supports all (or as many as possible)
devices in pmaports. I looked at quite a few different options, and have
some notes below about my observations and conclusions for each.

Of everything I looked at, systemd-boot was the clear winner that met
the most requirements ("pro" below) with the fewest downsides ("con"
below).

Using a Unified Kernel Image (UKI) was a close second place, however
systemd-boot can also support booting UKI images quite easily (while
also giving us more flexibility to boot other things easily too), so I
think it wins over UKI.

The capitalization (or lack thereof) of the "pro" and "con" markers
below is significant: "PRO" / "CON" are major pros or cons for each
point (e.g. a major downside that blocks using the option), and
"pro"/"con" are minor (e.g. a downside that I'm willing to overlook.)

---- Requirements ----

- Arch support:
        - x86_64
        - x86 (nice to have, but not sure if necessary...)
        - armv7
        - aarch64
        - riscv64
- EFI support:
        - support 32-bit EFI on x86_64 CPU (includes being able to build
          32-bit .efi app on x86_64)
- Easy to configure
- Easy to maintain
        - Any changes to the bootloader required to get it working in
          pmOS
        - Config for it

---- Evaluated options ----

------ grub ------
   - (PRO) can target all required archs
   - (CON) grub can't be installed in pmb chroot, it calls grub-install and
     that fails due to something missing in /dev. Maybe this could be worked
     around in pmb?
   - (CON) grub-mkimage exe is integrated in grub package, grub-efi depends on
     grub
      - don't want to install all of grub just for 1 exe and/or the EFI modules
      - downsides of installing all of grub is that I think it can mislead
        users into thinking we use grub the "normal way". this might cause them
        to have the wrong expectations and break pmOS boot on their
        system
      - have POC "fixing" this
      - I'm not sure upstream Alpine will like this, it's ugly
   - (CON) grub x86 EFI support for x86_64 is currently in pmaports, that's
     pretty ugly.
      - IMHO forking grub (or grub components) for this purpose signals
        to me that grub is the wrong tool for this job

------- kernel's efistub -------
   - (PRO) already included in the kernel, nothing else required
   - (pro) initrd and dtb can be passed in the kernel cmdline...
     however....
   - (CON) kernel cmdline can only be set at compile time
   - (con) not all kernels may have EFISTUB set?
   - (con) can't do measured/secure boot
   - (con) requires a fairly recent kernel on aarch w/ efi_zboot support
     enabled since we compress the kernel

------- UKI -------
   - (PRO) very simple, 1 file thing
   - (PRO) supports adding dtb, setting kernel cmdline and so on
   - (pro) can do measured/secure boot
   - (CON) requires an EFI stub loader
      - can't find a stub loader that meets all requirements (other than
        the one from systemd-boot...)
   - (con) requires efi-mkuki or dealing with objcopy directly (eww)
   - (con) requires a fairly recent kernel on aarch w/ efi_zboot support

------- limine -------
   - (PRO) easy to install/configure, already have boot-deploy and pmaports
     patches
   - (PRO) can be cross compiled easily
      - evidence is in aports
      - ...but I couldn't reproduce building aarch64 and riscv64 on x86_64
   - (pro) can do measured/secure boot (I think?)
   - (CON) doesn't target all required archs
      - can't do "linux boot" on aarch64, only "chainload"
      - what about using chainload everywhere?
         - requires using efistub in kernel
         - what about dtb= and upstream recommendation to not use it except for
           debug?
         - no kernel compression support on aarch64
         - see efi-stub.txt kernel doc
   - (CON) vendors libgcc to support cross compilation
      - probably not a good idea to trust binaries produced in microsoft
        github's CI for some random project

------- stubbyboot -------
   - (PRO) a straight forward stub loader
   - (pro) can do measured/secure boot
   - (CON) doesn't target all required archs
   - (CON) cross compiling doesn't work.
      - gcc can't do 32-bit on x86_64 Alpine...
      - gnu-efi-dev needs to be fixed to package both 32-bit and 64-bit on x86_64...
         - have patch in ~/src/aports that kinda does it.. but needs to be
           fixed/finished
      - maybe limine-efi works with it?
         - tried, but fails due to missing efilib.h in limine-efi

------- systemd-stub -------
   - (PRO) another straight forward stub loader
   - (PRO) many (many) people using it, as part of systemd-boot
   - (pro) can do measured/secure boot
   - (con) requires a fairly recent kernel on aarch w/ efi_zboot support
     enabled since we compress the kernel
   - (con) doesn't target all required archs
      - but does claim to support most... missing armv7.. maybe it
        works?
   - (con) will end up maintaining some downstream patch to build it
      - hopefully the patch (if I can even make a working one!) is not too
        complex!
   - (CON) can't be built outside of systemd's silly large build system.
      - UPDATE: largely resolved this in pmaports
      - was able to build for native arch!
      - can't build 32-bit on x86_64, no gcc multilib support in Alpine...
        Couldn't get clang to work properly, but maybe it can somehow...
      - https://github.com/mintsuki/libgcc-binaries ? NO! (don't want
        bootloader binaries that depend on code compiled by microsoft /
        github...)

------- DIY stub / bootloader -----
   - (PRO) **might** target all required archs and other meet
     requirements
   - (CON) lots of time required to learn, design, do, debug, test
   - (CON) lots of time required to learn, design, do, debug, test
   - (CON) lots of time required to learn, design, do, debug, test
   - (CON) (get the hint yet???)
   - (CON) written in C, probably (there's a rust EFI lib, lol...)

[ci:skip-build]: Already built successfully in CI
2023-10-16 12:16:41 +02:00
Arnav Singh 160a73321d main/linux-postmarketos-allwinner: switch to working mirror (MR 4478)
Fixes #2303

[ci:skip-vercheck] [ci:skip-build]: changing source location only
2023-10-16 07:48:58 +02:00
Willow Barraco fe066f9731 linux-kobo-clara-mainline: enable PM_WAKELOCKS (MR 4481)
[ci:skip-build]: already built successfully in CI
2023-10-15 18:13:56 +02:00
Willow Barraco 85fca01a25 linux-kobo-clara: enable PM_WAKELOCKS (MR 4481) 2023-10-15 18:13:56 +02:00
Anton Bambura e1dabe77b3 linux-postmarketos-exynos5: upgrade to 6.1.56 (MR 4483)
Backported from our development branch:
- SPI flash for chromebooks;
- support for samsung-manta (see !4406 for status);
- fix performance of video decoder which drastically reduces lag when streaming games.

[ci:skip-build]: already built successfully in CI
2023-10-15 18:11:36 +02:00
Oliver Smith 5cf775dff9 device-pine64-rockpro64: update u-boot image name (MR 4473)
Adjust to change in Alpine that moved rockchip to single image:
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/51827

Fix for:
  ERROR: The following firmware binary does not exist in the rootfs_pine64-rockpro64 chroot: /usr/share/u-boot/rockpro64-rk3399/idbloader.img
[ci:skip-build]: already built successfully in CI
2023-10-15 18:08:20 +02:00
Emanuele Sorce 40db4c5962 bq-vegetahd: new device (MR 4468)
[ci:skip-build]: already built successfully in CI
2023-10-13 19:14:27 +02:00
Luca Weiss 616b3e14bb device-sony-leo: add firmware for mainline kernel (MR 4452)
As with the firmware commit, no effort is done to keep firmware packages
working with downstream kernel.

[ci:skip-build]: already built successfully in CI
2023-10-13 19:03:49 +02:00
Luca Weiss 8402710815 firmware-sony-leo: update package for mainline kernel (MR 4452)
Package adsp, modem and wifi firmware for mainline. Compatibility with
downstream firmware is not kept on purpose, if somebody wants this,
please make some subpackage for it!
2023-10-13 19:03:49 +02:00
Luca Weiss 805b7fa0ee modem/ta-service: new aport (MR 4452) 2023-10-13 19:03:49 +02:00
Clayton Craft ba934f0325 cross/busybox-static-*: upgrade to 1.36.1-r13 2023-10-12 23:47:20 -07:00
Stefan Hansson 6b7c6a73d4 librecomputer-solitude: new device (MR 4467)
Tested on the V0.2 variant of the hardware which comes with some U-Boot
build preinstalled. I don't know if this will be the case for the final
version that will be shipped to customers, but the announecment would
imply so given that it says the device "incorporates a advanced [sic]
BIOS compatible with UEFI".

[ci:skip-build]: already built successfully in CI
2023-10-12 21:14:48 +02:00
Stefan Hansson cf956551f9 linux-postmarketos-amlogic: add support for cottonwood boards (MR 4467)
This includes the "Alta" and "Solitude" boards, the latter of which I
also introduce a device package for in a later patch. It should be easy
to introduce support for the former, but I don't have the hardware to
test that on.

The two new patches have been merged and will be included in Linux 6.7
as I understand.
2023-10-12 21:14:43 +02:00
Luca Weiss 2d553c50f0 pmaports.cfg: set pmbootstrap_min_version=1.53.0 (MR 4472)
Using versions before 1.53.0 leads to various problems, from Alpine
v3.18 not appearing as supported, to some timezone file conflicts that
were fixed long ago. Bump the version to force users to use at least
that version.
2023-10-12 20:16:05 +02:00
Stefan Hansson 3ffe37e840 librecomputer-lafrite: fix firmware dependency name (MR 4471)
linux-firmware-amlogic doesn't exist. The "vdec" firmware actually
resides in linux-firmware-meson.

[ci:skip-build]: already built successfully in CI
2023-10-12 20:10:16 +02:00
Stefan Hansson 9afcde0854 librecomputer-lepotato: fix firmware dependency name (MR 4471)
linux-firmware-amlogic doesn't exist. The "vdec" firmware actually
resides in linux-firmware-meson.
2023-10-12 20:10:11 +02:00
Clayton Craft ca17321f5d cross/gcc-x86: new aport (MR 4469)
Required for cross compiling 32-bit EFI apps/bootloaders on x86_64

[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
2023-10-12 19:50:34 +02:00
Clayton Craft bb18956a2e cross/musl-x86: new aport (MR 4469) 2023-10-12 19:50:34 +02:00
Oliver Smith 5fb3d0a42b firmware-fairphone-fp4: remove a630_sqe.fw from adreno subpackage (MR 4463)
Due to symlinks from linux-firmware-ath10k apk is now pulling in
linux-firmware-qcom which already provides a630_sqe.fw.

Since this file is not device/vendor-specific we can really use the file
from linux-firmware and not provide our own. For the record,
a619_gmu.bin also shouldn't be device-specific but currently
linux-firmware doesn't provide that one.

Also just pulling linux-firmware-qcom for this tiny file is pretty space
inefficient but due to the symlink dependency mentioned above, just
removing this file for now from the firmware package removes the file
conflict reported by apk:

  ERROR: linux-firmware-qcom-20230919-r1: trying to overwrite lib/firmware/qcom/a630_sqe.fw owned by firmware-fairphone-fp4-adreno-20230215-r1.

[luca: update commit message to reflect dependency situation, update
packaging code a bit]
2023-10-12 17:50:35 +02:00
Clayton Craft 72e55aae91 Revert "cross/gcc-riscv64: upgrade to 13.1.1_git20230722-r3"
For some reason this isn't building, and it's blocking bpo + gitlab CI.
Let's revert it until someone had time to debug. In the meantime the
"upstream compat" monitoring check will fail.

This reverts commit 7608d18533.

[ci:skip-vercheck]
2023-10-11 23:40:51 -07:00
Clayton Craft 7608d18533 cross/gcc-riscv64: upgrade to 13.1.1_git20230722-r3
The others were upgraded in 5e42745cd5
2023-10-11 12:58:06 -07:00
Stefan Hansson ebbbeca49c librecomputer-lafrite: remove maintainer line from deviceinfo (MR 4466)
The maintainer line should only be present in APKBUILDs, not other files
in the package.

[ci:skip-build] already built successfully in CI
2023-10-10 22:16:25 -07:00
Stefan Hansson 63af482d5e librecomputer-lepotato: remove maintainer line from deviceinfo (MR 4466)
The maintainer line should only be present in APKBUILDs, not other files
in the package.
2023-10-10 22:16:21 -07:00
Luca Weiss 5e42745cd5 cross/gcc-*: upgrade to 13.1.1_git20230722-r3 (MR 4465)
[ci:skip-build]: Already built successfully in CI
2023-10-10 13:31:33 +02:00
Affe Null 82b139a63c main/postmarketos-ui-bananui: new aport (MR 4457)
[ci:skip-build]: already built successfully in CI
2023-10-09 18:19:59 +02:00
Richard Acayan 49a5704dd4 google-bonito: new device (MR 4318)
I cannot maintain this device because I do not have it, but it is
similar to the Pixel 3a, which I can maintain.

Move the kernel into a subpackage in case support for a different panel
(the Tianma NT37700F panel) is added.
[ci:skip-build]: already built successfully in CI
2023-10-09 08:21:30 +02:00
Luca Weiss e971cdcb15 device-fairphone-fp5: Various improvements and feature bringup (MR 4456)
* Add kernel modules for display to modules-initfs
* Add GPU firmware and dependency for Vulkan
* Add qbootctl to mark the current A/B slot as successful
* Add bootmac to set the Bluetooth MAC address on boot

[ci:skip-build]: already built successfully in CI
2023-10-09 07:01:03 +02:00
Luca Weiss 4bb6542fd8 firmware-fairphone-fp5: add adreno firmware subpackage (MR 4456)
Package the zap shader firmware needed on this device.
2023-10-09 07:01:03 +02:00
Luca Weiss b918f1c5f5 linux-postmarketos-qcom-sc7280: upgrade to 6.6.0_rc4_git20231005 (MR 4456)
Kconfig changes:
* Enable DRM_PANEL_RAYDIUM_RM692E5
* Enable TYPEC_MUX_FSA4480
* Enable TYPEC_MUX_PTN36502
* Disable DRM_SIMPLEDRM
2023-10-09 07:00:58 +02:00
Oliver Smith e179ba59ea main/postmarketos-ondev: upgrade to 0.8.2 (MR 4455)
[ci:skip-build]: already built successfully in CI
2023-10-09 06:42:04 +02:00
Johannes Marbach 1329e4b634 main/unl0kr: upgrade to 2.0.2 (MR 4458)
[ci:skip-build]: already built successfully in CI
2023-10-09 06:25:47 +02:00
Pablo Correa Gómez 655c94f945 main/postmarketos-ui-plasma-bigscreen: follow breeze-icons rename (MR 4462)
Ref https://git.alpinelinux.org/aports/commit/?id=ae2de9e4574314489950d8cfb7197e0157fa112b
2023-10-08 18:16:47 +02:00
Clayton Craft aa2886ef28 cross/busybox-static-*: upgrade to 1.36.1-r12 2023-10-07 22:54:02 -07:00
Clayton Craft 6bee3d14ef cross/musl-*: upgrade to 1.2.4_git20230717-r3 2023-10-07 22:52:46 -07:00
Teemu Ikonen f0c58cea69 temp/gtk4.0: upgrade to 4.12.3 (MR 4449)
[ci:skip-build]: already built successfully in CI
2023-10-05 18:12:06 +02:00
Barnabás Czémán fa6150b289 qcom-msm8953: move devices to community (MR 4381)
[ci:ignore-count]
[ci:skip-vercheck]
[ci:skip-build]: Already built successfully in CI
2023-10-05 18:06:37 +02:00
Luca Weiss 444a766f3a linux-postmarketos-qcom-msm8974: upgrade to 6.4.0 (MR 4200)
Kconfig changes:
* Enable PWM_CLK and INPUT_PWM_VIBRA instead of INPUT_CLK_VIBRATOR for
  Nexus 5
* Disable unused clock drivers
* Disable MEDIA_SUPPORT - currently unused
* Enable LEDS_TRIGGER_PATTERN for feedbackd
* Disable all of NET_VENDOR_* (which is Ethernet devices)

[ci:skip-build]: already built successfully in CI
2023-10-05 08:43:21 +02:00
Adam Thiede 1c3fbc17c6 oneplus-enchilada: add unl0kr config (MR 4447)
[ci:skip-build]: already built successfully in CI
2023-10-05 08:35:22 +02:00
Barnabás Czémán 5fc07d61ed xiaomi-tissot: switch to msm-firmware-loader and clean ups (MR 4434)
It utilize msm-firmware-loader for minimize device specific firmware package.
It add necessary modules to initramfs for fix fde.
modem package has been removed in favor of soc-qcom-msm8953-modem.
30-gpu-firmware-files has been removed.

[ci:skip-build]: already built successfully in CI
2023-10-05 08:29:28 +02:00
Barnabás Czémán b286211419 xiaomi-daisy: switch to msm-firmware-loader and clean ups (MR 4434)
It utilize msm-firmware-loader for minimize device specific firmware package.
It add necessary modules to initramfs for fix fde.
modem package has been removed in favor of soc-qcom-msm8953-modem.
30-gpu-firmware-files has been removed.
2023-10-05 08:29:28 +02:00
Stefan Hansson 94f2b68c80 main/msm-firmware-loader: upgrade to 1.3.0 (MR 4448)
[ci:skip-build]: already built successfully in CI
2023-10-04 20:49:05 +02:00
Raymond Hackley c6591103a2 samsung-a6plte: depend on msm-firmware-loader (MR 4437) 2023-10-04 10:38:38 +02:00
Stefan Hansson 4cfd9d6d9e linux-purism-librem5: upgrade to 6.5.4pureos1 (MR 4427)
[ci:skip-build]: already built successfully in CI
2023-10-04 08:50:58 +02:00
Barnabás Czémán 114420bb05 xiaomi-onclite: depend on soc-qcom-msm8953 modem and initramfs subpackages (MR 4445)
Depend on soc-qcom-msm8953-modem and initramfs.
Add necessary modules to initfs for fix touchscreen under fde.

[ci:skip-build]: already built successfully in CI
2023-10-04 08:13:52 +02:00
Johannes Marbach 828aac0e8b postmarketos-fde-unlocker: make unl0kr the default (MR 3279)
Fixes: #1411
[ci:skip-build]: already built successfully in CI
2023-10-03 21:07:35 +02:00
Oliver Smith 52fbd2f26e cross/busybox-static-*: upgrade to 1.36.1-r9 2023-10-03 20:38:02 +02:00
Alexander Martinz c5aeb452ae firmware-shift-sdm845: upgrade to 20230815 (MR 4341)
This release includes security fixes.

Changes:
  - https://gitlab.com/sdm845-mainline/firmware-shift-sdm845/-/commit/161e7f1ed32efe25dd8f4f4ce5a6cb981968b21c
  - https://gitlab.com/sdm845-mainline/firmware-shift-sdm845/-/commit/ba16d92aa0e0eaa697eeb937f3349de7089c5f0a

Change-Id: Ibf3c6871cbe044f23091ccfe8a03869d38fb3851
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>

[ci:skip-build]: Already built successfully in CI
2023-10-03 17:06:55 +02:00
Barnabás Czémán c64ac9bba0 xiaomi-ysl: clean up device packages (MR 4433)
It add necessary modules to intramfs for fix fde.
modem package has been removed in favor of soc-qcom-msm8953-modem.
30-gpu-firmware-files has been removed in favor of
soc-qcom-msm8953-initramfs.

[ci:skip-build] already built successfully in CI
2023-10-02 23:02:13 -07:00
Barnabás Czémán 00b7fe46b3 xiaomi-markw: switch to msm-firmware-loader and clean ups (MR 4433)
It utilize msm-firmware-loader for minimize device specific firmware package.
It add necessary modules to intramfs for fix fde.
modem package has been removed in favor of soc-qcom-msm8953-modem.
30-gpu-firmware-files has been removed.
2023-10-02 23:02:12 -07:00
Barnabás Czémán e184ed832c xiaomi-vince: switch to msm-firmware-loader and clean ups (MR 4433)
It utilize msm-firmware-loader for minimize device specific firmware package.
It add necessary modules to initramfs for fix fde.
modem package has been removed in favor of soc-qcom-msm8953-modem.
pointercal, fb.modes, 30-gpu-firmware-files has been removed.
2023-10-02 23:02:12 -07:00
Barnabás Czémán 2b11f2b778 xiaomi-mido: switch to msm-firmware-loader and clean ups (MR 4433)
Utilize msm-firmware-loader for minimize device specific
firmware package.
Add necessary modules to initramfs for fix fde.
Use soc-qcom-msm8953-modem and soc-qcom-msm8953-initramfs as a dependency.
2023-10-02 23:02:12 -07:00
Raymond Hackley c9163b1581 samsung-j5: solve potential filename conflict (MR 4438)
ERROR: the source file 'WCNSS_qcom_wlan_nv.bin' has different checksums in the following files:
- device/testing/firmware-samsung-j5/APKBUILD: 742ee81d034116cf1ecdfae5f75495e6b10ce5be0c2a999b6c8a2c161b1da8b48d6810d5405edb8c829b96fdf75e45a565c74963c76d1bca4aaedf28572fa91f
...

Fix this by setting a different target filename in the package you modified:
https://wiki.alpinelinux.org/wiki/APKBUILD_Reference#source

[ci:skip-build]: already built successfully in CI
2023-10-02 23:37:48 +02:00
Barnabás Czémán d56b851aea soc-qcom-msm8953: add initramfs package (MR 4432)
It add firmwares to initramfs.

[ci:skip-build]: already built successfully in CI
2023-10-02 23:30:40 +02:00
Barnabás Czémán 7d86ad96a5 soc-qcom-msm8953: add modem package (MR 4432)
Common modem package is introduced with q6voiced configuration.
2023-10-02 23:30:22 +02:00
Richard Acayan d3fe50c3d1 google-sargo: nonfree-firmware: depend on ath10k firmware (MR 4442)
The WiFi firmware seems to not be present on a fresh installation
anymore. Add it as a dependency so it gets installed automatically.
2023-10-02 12:13:44 +02:00
Joseph 6b537d26d5 realme-rmx1851: new device (MR 4431)
[ci:skip-build] already built successfully in CI
2023-10-01 22:23:08 -07:00
Duje Mihanović ae3832e43e device-samsung-coreprimevelte: enable DRM for mainline (MR 4440)
[ci:skip-build] already built successfully in CI
2023-10-01 22:18:18 -07:00
Duje Mihanović 7a80409e7e linux-samsung-coreprimevelte-mainline: upgrade to 6.6_rc3 (MR 4440)
Also enables touchscreen with downstream PMIC driver.
2023-10-01 22:18:18 -07:00
Johannes Marbach 953e74646c main/unl0kr: upgrade to 2.0.1 (MR 4439)
[ci:skip-build] already built successfully in CI
2023-10-01 21:53:34 -07:00
Richard Acayan c720400e47 google-sargo: add q6voiced config (MR 4412)
[ci:skip-build]: Already built successfully in CI
2023-09-30 14:44:33 +02:00
Richard Acayan 2470b6b18f google-sargo: allow flashing to vbmeta (MR 4412)
Flashing to vbmeta may be necessary for devices running Android 9
bootloaders.
2023-09-30 14:44:32 +02:00
Richard Acayan 9234b17dc9 testing/alsa-ucm-conf-qcom-sdm670: upgrade to 1.2.9_git20230920 (MR 4412) 2023-09-30 14:44:30 +02:00
Richard Acayan 83213f3ebc linux-postmarketos-qcom-sdm670: upgrade to 6.5.4 (MR 4412)
Now that the modem firmware is installed in the referenced location, the
firmware patch is not needed, so remove that as well.

Also backport a fix for the Pixel 3a XL so a kernel upgrade isn't needed
for that.
2023-09-30 14:44:29 +02:00
Richard Acayan 6bfd71e1f8 firmware-google-sargo: add modem firmware (MR 4412) 2023-09-30 14:44:28 +02:00
Joel Selvaraj 39768d9b9d community/device-xiaomi-beryllium: add new touchscreen module to initramfs (MR 4429)
Fixes broken fde as reported in https://gitlab.com/postmarketOS/pmaports/-/issues/2314.
Both Tianma and EBBG variant use the upstream touchscreen drivers in 6.5.
Add them to the initramfs as it was missed when upgrading to 6.5 kernel release.

[ci:skip-build] already built successfully in CI
2023-09-29 19:00:41 -07:00
Luca Weiss 8be5f081d2 device-htc-memul: add lk2nd dependency (MR 4424)
Add the lk2nd dependency so that pmbootstrap flasher flash_lk2nd works.

[ci:skip-build] already built successfully in CI
2023-09-29 13:55:37 -07:00
Luca Weiss 27be25f327 main/lk2nd: add subpackage for quirky htc-memul (MR 4244)
htc-memul needs a special build with a different scratch address set. So
generalize the build function so we can make multiple builds with
parameters without duplicating too much code.
2023-09-29 13:55:32 -07:00
FuchtelJockel 83f63d1c1b linux-postmarketos-qcom-msm8994: upgrade to 6.6-rc3 (MR 4344)
is upstream:
- Fix-cont_splash_mem-mapping
- removed-clash-with-smem_reg

[ci:skip-build] already built successfully in CI
2023-09-29 10:36:57 -07:00
FuchtelJockel 2d43699f91 device-lg-h815: add support to build mainline (MR 4344) 2023-09-29 10:36:57 -07:00
Luca Weiss 025cb223f8 main/lk2nd: upgrade to 0.15.0 (MR 4423)
[ci:skip-build] already built successfully in CI
2023-09-29 10:32:37 -07:00
Oliver Smith 3faffb7b93 cross/grub-efi-x86: upgrade to 2.06-r14 2023-09-29 09:24:02 +02:00
oatm22 438471fe4a samsung-gtowifi: new device (MR 4414)
[ci:skip-build]: Already built successfully in CI
2023-09-28 12:47:34 +02:00
Ben Westover 0abbfcd853 lg-mmh4x: Add mtkclient flashing method and specify that device is carrier-specific (MR 4421)
[ci:skip-build]: already built successfully in CI
2023-09-27 08:05:34 +02:00
Joel Selvaraj d2fa55c56d community/linux-postmarketos-qcom-sdm845: upgrade to 6.5.5 (MR 4416)
[ci:skip-build]: already built successfully in CI
2023-09-27 07:58:30 +02:00
Dylan Van Assche d1ae6f9d8c firmware-xiaomi-beryllium: use upstream board-2.bin (MR 4416)
Provide common board-2.bin file, extended from linux-firmware.
This file will be temporarily provided and dropped once all devices
are added to upstream linux-firmware's board-2.bin file.
2023-09-27 07:58:30 +02:00
Dylan Van Assche e2d8693034 firmware-shift-sdm845: use upstream board-2.bin (MR 4416)
Provide common board-2.bin file, extended from linux-firmware.
This file will be temporarily provided and dropped once all devices
are added to upstream linux-firmware's board-2.bin file.
2023-09-27 07:58:30 +02:00
Dylan Van Assche cac3c09be3 firmware-oneplus-sdm845: use upstream board-2.bin (MR 4416)
Provide common board-2.bin file, extended from linux-firmware.
This file will be temporarily provided and dropped once all devices
are added to upstream linux-firmware's board-2.bin file.
2023-09-27 07:58:29 +02:00
Joel Selvaraj d00425c263 main/bootmac: update to 0.2.1 and add bluez-btmgmt dependency (MR 4416)
The bootmac script uses the btmgmt command provided by "bluez-btmgmt"
package. So add it as a dependency.

The 0.2.1 update contains fix for https://gitlab.com/postmarketOS/bootmac/-/issues/3
2023-09-27 07:58:21 +02:00
Karl Chan 9e9d418786 linux-postmarketos-amlogic: upgrade to 6.5.5 (MR 4418)
[ci:skip-build]: Already built successfully in CI
2023-09-26 21:49:17 +02:00
Oliver Smith d757a36882 main/postmarketos-mkinitfs: fix trigger script (MR 4422)
Adjust the trigger script to only check for the new deviceinfo path. The
purpose of this check is to make sure that a full device package is
installed, and only in that case run mkinitfs. Otherwise, it will fail
because e.g. no kernels may be installed.

With recent changes, /etc/deviceinfo is a part of devicepkg-utils and
only /usr/share/deviceinfo/deviceinfo really indicates that a device
package is installed.

Remove the "exit 0" at the end while at it, it did not do anything since
the script runs with "/bin/sh -e". Add a comment to make this clear.

[ci:skip-build]: already built successfully in CI
2023-09-26 08:31:00 +02:00
Pablo Correa Gómez ea93a6d07f device/*: rebuild all devices to relocate deviceinfo (MR 4283)
[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
2023-09-25 09:21:03 +02:00
Pablo Correa Gómez 870d11322d device-purism-librem5dev: fix maintainer line (MR 4283) 2023-09-25 09:20:33 +02:00
Pablo Correa Gómez 7b2208d292 main/postmarketos-mkinitfs: add trigger on deviceinfo directory (MR 4283)
Fixes #2228

In addition, depend on the first boot-deploy that implemented support
for deviceinfo in /usr/share
2023-09-25 09:20:33 +02:00
Pablo Correa Gómez 34e2a3ddad main/postmarketos-initramfs: add new deviceinfo path to initramfs (MR 4283)
Reorder alphabetically while in the process, and depend on the first
mkinitfs and devicepkg-utils that implemented deviceinfo in /usr/share
2023-09-25 09:20:32 +02:00
Pablo Correa Gómez c5d147be99 main/postmarketos-base: adapt to new deviceinfo path (MR 4283)
This greatly simplifies the trigger, since now we can monitor a
directory.

In addition, depend on the latest devicepkg-utils
2023-09-25 09:20:32 +02:00
Pablo Correa Gómez 0b8814d156 main/devicepkg-utils: install default /etc/deviceinfo (MR 4283)
Previously, every device package would package its own /etc/deviceinfo
file, generating a conflict with every other device package. In a
previous commit we have moved the path to /usr/share/deviceinfo, but
we still want to install a sample "/etc/deviceinfo" file to guide
users on how to use the new features. This has the additional benefit
that there is only one of those files in the whole distro. However,
there is no dependency ordering between the device packages and
devicepkg-utils, so there's no warranty of which will be installed
first. Therefore, to avoid a conflict on most likely every user
upgrade, we use postmarketos-mvcfg.
2023-09-25 09:20:32 +02:00
Pablo Correa Gómez 531dc8123d main/devicepkg-utils: adapt to new deviceinfo path (MR 4283) 2023-09-25 09:20:32 +02:00
Pablo Correa Gómez 1d748a93dd main/devicepkg-dev: install deviceinfo under /usr/share/deviceinfo (MR 4283)
In the process, add some tests and do some renaming on the existing ones, and
remove the workaround for #2228, will be solved appropriately in a follow-up
commit.

Fixes #1836
2023-09-25 09:20:32 +02:00
Teemu Ikonen fe40948947 temp/gtk4.0: upgrade to 4.12.2 (MR 4415)
[ci:skip-build] already built successfully in CI
2023-09-22 15:15:32 -07:00
Oliver Smith bfe9fe8ad6 cross/busybox-static-*: upgrade to 1.36.1-r8 2023-09-22 09:17:51 +02:00
Jerin Philip 58e41997b5 xiaomi-cereus: new device (Xiaomi Redmi 6) (MR 4408)
[ci:skip-build]: already built successfully in CI
2023-09-22 09:12:30 +02:00
Luca Weiss dfc672e76e device-fairphone-fp5: use header_version=2 for new kernel (MR 4409)
Without qcom,board-id and qcom,msm-id we need to use header version 2,
otherwise the device doesn't boot.

[ci:skip-build]: Already built successfully in CI
2023-09-21 17:44:10 +02:00
Luca Weiss a6e5039865 linux-postmarketos-qcom-sc7280: upgrade to 6.5.0_git20230920 (MR 4409)
Minor update for how the Fairphone 5 is booting which aligns with the
version that went upstream.

https://github.com/z3ntu/linux/commit/6aa08e1508a0437c4ecb3a3837f611b699950836
2023-09-21 17:44:03 +02:00
Raymond Hackley 0b5f362f15 samsung-{cprime,gprime,heatqlte,serranove}: add rt5033 modules to initfs (MR 4402)
Add rt5033 modules to initfs for the following devices, to unlock FDE with
USB OTG keyboards:

- Samsung Galaxy Ace 4
- Samsung Galaxy Core Prime
- Samsung Galaxy Grand Prime
- Samsung Galaxy S4 Mini Value Edition

[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
2023-09-19 04:19:39 +00:00
Raymond Hackley a2d1c2e97e samsung-{a2015,e2015}: add rt5033 modules to initfs (MR 4402)
Add rt5033 modules to initfs for the following devices, to unlock FDE with
USB OTG keyboards:

- Samsung Galaxy A3/A5/A7
- Samsung Galaxy E7
- Samsung Galaxy Grand Max
2023-09-19 04:19:39 +00:00
Oliver Smith 3f9b2bb878 main/mobile-config-firefox: upgrade to 4.2.0 (MR 4403)
[ci:skip-build]: already built successfully in CI
2023-09-18 21:19:36 +02:00
Julian Winkler ff71fcb59a temp/kexec-tools: drop (MR 4405)
The x86 devicetree patch is included in latest upstream version, which
is already packaged in alpine.

[ci:skip-build]: already built successfully in CI
2023-09-18 11:32:12 +02:00
Luca Weiss b1c5a66bf7 device-htc-memul: add mainline kernel configuration (MR 4369)
[ci:skip-build]: already built successfully in CI
2023-09-16 12:27:31 +02:00
Anton Bambura db85f5de87 linux-postmarketos-rockchip: enable CONFIG_TCG_TIS_SPI_CR50 (MR 4395)
https://gitlab.com/postmarketOS/pmaports/-/issues/2261#note_1507443549

[ci:skip-build]
2023-09-15 09:20:42 +02:00
Anton Bambura 92bb682a94 linux-postmarketos-qcom-sc7180: enable CONFIG_TCG_TIS_SPI_CR50 (MR 4395)
https://gitlab.com/postmarketOS/pmaports/-/issues/2261#note_1507443549
2023-09-15 09:20:42 +02:00
Anton Bambura b3964fc1da linux-postmarketos-mediatek-mt8183: enable CONFIG_TCG_TIS_SPI_CR50 (MR 4395)
https://gitlab.com/postmarketOS/pmaports/-/issues/2261#note_1507443549
2023-09-15 09:20:42 +02:00
Anton Bambura cc697511e1 linux-postmarketos-mediatek-mt8173: enable CONFIG_TCG_TIS_SPI_CR50 (MR 4395)
https://gitlab.com/postmarketOS/pmaports/-/issues/2261#note_1507443549
2023-09-15 09:20:36 +02:00
Oliver Smith d947491fb7 device-nokia-n900: fix install_if variables (MR 4397) 2023-09-15 09:05:36 +02:00
Sicelo A. Mhlongo e12d937c6b device-nokia-n900: i3wm: use upower for battery status (MR 4397) 2023-09-15 09:05:25 +02:00
Sicelo A. Mhlongo 170189393b device-nokia-n900: add upower support and config (MR 4397)
- Add support for upower, in order to enable automatic shutdown when battery is
  critically low
- Set UPower PercentageLow threshold to 10% so it triggers even when fuel gauge
  is not calibrated (see estimations provided in 4b54fc7f83:
  "linux-postmarketos-omap: add N900 battery capacity estimation")
2023-09-15 09:05:25 +02:00
Oliver Smith 6f0dfe9c96 cross/busybox-static: upgrade to 1.36.1-r7 2023-09-15 08:52:05 +02:00
Stefan Hansson be7b845d17 linux-purism-librem5: upgrade to 6.4.14 (MR 4384)
[ci:skip-build]: already built successfully in CI
2023-09-14 20:48:22 +02:00
methanal e4e5108c11 samsung-on7xelte: enable modem using samsungipcd (MR 4394)
[ci:skip-build]: already built successfully in CI
2023-09-14 20:45:07 +02:00
methanal 4f687403e4 linux-samsung-on7xelte: change downstream kernel to a recent release (MR 4394) 2023-09-14 20:45:00 +02:00
Markus Göllnitz fef1a94b57 main/postmarketos-config-nftables: allow Wi-Fi Display traffic (MR 4391)
The port 7236 for TCP is registered with IANA by the
Wi-Fi Alliance for use for the Wi-Fi Display Protocol,
a.k.a. Miracast.

To establish the connection, the local DHCP server has to
be allowed to respond to requests on peer-to-peer Wi-Fi
networks.

Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
[ci:skip-build]: already built successfully in CI
2023-09-14 20:40:33 +02:00
Nikita Travkin 9a86da0583 samsung-gt5*: Update the panel module name (MR 4389)
The display panel for these devices was upstreamed and now uses a
different name. Update it so the display is loaded properly.

[ci:skip-build]: already built successfully in CI
2023-09-12 09:12:52 +02:00
Minecrell b75fbc431f soc-qcom-msm8916: update UCM configurations (MR 4389)
- samsung-a2015: Set speaker channels to mono
- samsung-grandmax: Disable broken/missing secondary microphone
2023-09-12 09:12:52 +02:00
Minecrell b6f5f2c5b3 linux-postmarketos-qcom-msm8916: upgrade to 6.5.2 (MR 4389)
- Update to Linux v6.5.2
- Improve charging speed/behavior for SMB1360 battery driver
  (alcatel-idol347, bq-paella, xiaomi-wt88047, alcatel-idol3,
   bq-piccolo)
- Add RT5033 charger driver and OTG support
  (samsung-serranove, samsung-a3, samsung-a5, samsung-e5,
   samsung-e7, samsung-grandmax, samsung-a7, samsung-heatqlte,
   samsung-cprime, samsung-gprime/fortuna)
- Major cleanup of all device trees in preparation of upstreaming
- Potential display fixes for some UIs (e.g. XFCE)

Device changes:
  - acer-a1-724: Add display
  - bq-paella:
    - Add flash LED
    - Fix multi-touch for touch keys
  - samsung-grandmax: Disable broken secondary microphone
  - ufi (USB modem dongles): Allow switching to USB host mode

New devices:
  - acer-t01 (MSM8909)
    - eMMC, SD card, USB, Buttons, WiFi/BT, Vibrator
    - No display yet
    - Brightness control, LEDs
    - Touchscreen
    - Sensors (Accelerometer)
    - Battery/charging
    - Flash LED
2023-09-12 09:12:48 +02:00
Anton Bambura 56b3d147d0 firmware-samsung-klimt: update MFC firmware dependency (MR 4393)
[ci:skip-build]: already built successfully in CI
2023-09-12 09:01:51 +02:00
Anton Bambura 730292a79b firmware-samsung-chagall: update MFC firmware dependency (MR 4393) 2023-09-12 09:01:51 +02:00
Anton Bambura 39aaadf0dc device-odroid-hc2: update MFC firmware dependency (MR 4393) 2023-09-12 09:01:51 +02:00
Anton Bambura 480bf72054 device-google-spring: update MFC firmware dependency (MR 4393) 2023-09-12 09:01:51 +02:00
Anton Bambura 930f7d8904 device-google-peach-pi: update MFC firmware dependency (MR 4393) 2023-09-12 09:01:51 +02:00
Anton Bambura fe5b104891 firmware-odroid-xu4: update MFC firmware dependency (MR 4393) 2023-09-12 09:01:51 +02:00
Anton Bambura 1352ee8d6a device-google-snow: update MFC firmware dependency (MR 4393) 2023-09-12 09:01:51 +02:00
Anton Bambura 6e11fc2d0c device-google-peach-pit: update MFC firmware dependency (MR 4393) 2023-09-12 09:01:51 +02:00
Anton Bambura 31e5d9a344 samsung-t03g: depend on MFC firmware (MR 4284)
[ci:skip-build]: already built successfully in CI
2023-09-11 20:35:58 +02:00
Anton Bambura 0eb391d23f samsung-p4note: depend on MFC firmware (MR 4284) 2023-09-11 20:35:37 +02:00
Anton Bambura 1bd1765f23 samsung-i9100: depend on MFC firmware (MR 4284) 2023-09-11 20:35:37 +02:00
Anton Bambura 779959dba7 samsung-m3: depend on MFC firmware (MR 4284) 2023-09-11 20:35:37 +02:00
Anton Bambura 001df983d2 samsung-m0: depend on MFC firmware (MR 4284) 2023-09-11 20:35:36 +02:00
Anton Bambura a58d134174 samsung-t0lte: depend on MFC firmware (MR 4284) 2023-09-11 20:35:36 +02:00
Anton Bambura e49167d029 linux-postmarketos-exynos4: enable video decoder (MR 4284) 2023-09-11 20:35:36 +02:00
Sicelo A. Mhlongo 4b54fc7f83 linux-postmarketos-omap: add N900 battery capacity estimation (MR 4388)
Provide a rough battery capacity estimation for the bq27200 fuel gauge inside
Nokia N900. This is useful when the fuel gauge is out of calibration and a
learning cycle cannot take place due to broken USB/charging port on the device.

[ci:skip-build]: Already built successfully in CI
2023-09-11 19:38:37 +02:00
Minecrell c4f8827b78 device-motorola-surnia: add missing panel module to initfs (MR 4390)
motorola-surnia also supports the inx panel as of Linux 6.3, add it to
the initfs so the display can be initialized early.

There is no tianma panel for surnia (only for harpia) so drop that.
It's not clear why it was there in the first place.

[ci:skip-build]: Already built successfully in CI
2023-09-11 19:31:58 +02:00
Minecrell 2137c0b12b device-bq-paella: add missing panel module to initfs (MR 4390)
bq-paella also supports the yushun-nt35521s panel as of Linux 6.3,
add it to the initfs so the display can be initialized early.
2023-09-11 19:31:57 +02:00
Luca Weiss c37967a0ec device-fairphone-fp3: depend on soc-qcom-msm8953 (MR 4376)
With the udev rule in that package feedbackd can start using the
vibration motor for haptics.

Also we can remove the direct swclock-offset dependency since the soc
package depends on that also.
[ci:skip-build]: already built successfully in CI
2023-09-11 17:04:54 +02:00
Barnabás Czémán 6396dd1188 soc-qcom-msm8953: upgrade ucm and add haptic udev rules (MR 4376) 2023-09-11 17:04:54 +02:00
Barnabás Czémán 0ab0b555d1 xiaomi-markw: add soc-qcom-msm8953 as a dependency (MR 4376) 2023-09-11 17:04:54 +02:00
Niko 39052ac078 temp/gnome-shell-mobile: upgrade to 45_git20230908 (MR 4371)
[ci:skip-build]: already built successfully in CI
2023-09-11 16:58:22 +02:00
Luca Weiss 0348958e8f device-lg-lenok: add panel and gpu (MR 4368)
Add it now that the kernel has that support.

[ci:skip-build]: Already built successfully in CI
2023-09-11 15:46:35 +02:00
Luca Weiss fd80cd21c5 linux-postmarketos-qcom-msm8226: upgrade to 6.5.0 (MR 4368) 2023-09-11 15:46:30 +02:00
Clayton Craft 3110ade74f device-shift-axolotl: add edt-ft5x06 driver to initramfs (MR 4374)
It seems like the driver name has changed *again* in 6.5.x kernels, so
let's just have both drivers in the initramfs to help with migrating
between newer/older kernels and any future flip/flopping of drivers.

This is a bit of a hack... it works because missing modules are not
fatal for mkinitfs. The reason why they aren't fatal is that whether or
not it's builtin is somewhat arbitrary... there's an open issue[1] for
mkinitfs to make this smarter, i.e. throw an error if the .ko doesn't
exist AND it's not builtin for the *installed* kernel.

When that's implemented then this patch would likely result in mkinitfs
failing on this device because one of those drivers may not be installed
or builtin. I don't have time to implement this in mkinitfs, so adding
this crude workaround of just including both seemed like a reasonable
thing to do since the 6.5 kernel will break fde on this device (this has
happened before).
[ci:skip-build]: already built successfully in CI
2023-09-08 17:40:27 -07:00
Stefan Hansson 2ab59a220f main/postmarketos-ui-phosh: Rebuild following url and pkgdesc update (MR 4385)
`url` and `pkgdesc` do affect the resulting package and as such
`pkgver` should be incremented, but it wasn't.

Fixes 0dfb1219f8
[ci:skip-build]: already built successfully in CI
2023-09-08 17:33:17 +02:00
Caleb Connolly 16bf9c9700 main/postmarketos-mkinitfs-hook-debug-shell: fixes (MR 4204)
Some change (I think some tools switching from the coreutils to busybox
versions?) subtly broke debug-shell behaviour. Try to fix it.

Signed-off-by: Caleb Connolly <caleb@connolly.tech>
[ci:skip-build]: already built successfully in CI
2023-09-08 17:15:05 +02:00
Clayton Craft 9198a2ad6e main/postmarketos-initramfs: upgrade to 2.0.0 (MR 4204)
Updates this package's checksums for files modified in this patch
series, and bumps the pkgver
2023-09-08 17:14:59 +02:00
Clayton Craft 20e4eb495d main/postmarketos-initramfs: hide cryptsetup not found error (MR 4204)
Hides this error when FDE is *not* enabled, and ultimately skips the
block of logic for detecting the luks partition:
        /init: line 437: cryptsetup: not found

This error has confused some users in the past, who were reporting
issues with the initramfs.

There's probably a minor speedup on non-FDE systems as well from
bailing early.
2023-09-07 20:33:56 +01:00
Clayton Craft cfed09ca36 main/postmarketos-initramfs: overwrite dest when extracting initramfs-extra (MR 4204)
If a file exists in the initramfs at runtime, cpio won't overwrite it
by default when extracting the initramfs-extra archive. This adds the -u
option to cpio, to overwrite any existing files in the destination.

This is meant to fix issues where the -extra archive has an app that is
meant to replace a busybox app, busybox --install creates it in the
initramfs and gzip will skip it since it's newer than what is in the
archive.
2023-09-07 20:33:56 +01:00
Caleb Connolly 9fb29079cd main/postmarketos-initramfs: get to splash faster (MR 4204)
With full-fat mdev supporting by-partlabel lookups, there is a small
delay during startup. As mdev and dynamic partitions aren't actually
needed for the framebuffer device, move show_splash earlier.

Furthermore, slightly rework setup_framebuffer to not dump the verbose
message about waiting for the framebuffer unless the framebuffer isn't
found.

Signed-off-by: Caleb Connolly <caleb@connolly.tech>
2023-09-07 20:33:56 +01:00
Clayton Craft 97727c59cb main/postmarketos-initramfs: use only one method to resize the root partition (MR 4204)
This removes the possibility that multiple resize root partition methods
could be invoked. I'm not sure how likely this is in practice, but it
seems like we should avoid the possiblity altogether.

This also adds some more helpful printing to stdout when the partition
resize is skipped / not done.
2023-09-07 20:33:56 +01:00
Caleb Connolly 6f44124c1b main/postmarketos-initramfs: fixup device-mapper paths (MR 4204)
findfs might produce a block device path like /dev/dm-3, these can
change across boots and devices. Make things more readable and
consistent by mapping from the /dev/dm-* path to the equivalent
/dev/mapper/xyz path. Combined with invoking kpartx from a
/dev/disk/by-partlabel/abc symlink, this results in the final block
device having a name like /dev/mapper/userdata2 on an Android device.

Whilst this is just nicer to work with, this will be especially useful for
the upcoming ondev2 postmarketOS installer to make device-specific
configuration and detection easier.
2023-09-07 20:33:56 +01:00
Caleb ConnollyandClayton Craft 89fba12fbb main/postmarketos-initramfs: optimise find_*_partition (MR 4204)
Save the root/boot partition paths once found, and optimise a few loops.

Additionally, fall-back to other search methods when the pmos_boot or
pmos_uuid_boot cmdline args are set but fail.

Co-authored-by: Clayton Craft <clayton@craftyguy.net>
2023-09-07 20:33:55 +01:00
Caleb Connolly e0fcfb74e2 main/postmarketos-initramfs: use mdev properly (MR 4204)
Drop in mdev.conf and the /lib/mdev/persistent-storage script, these
cause /dev/disk/by-* to be populated in the ramdisk, making it
possible to do look up partition by-label and by-partlabel for free,
compared to findfs which can take some time.

As a first optimisation based on this, check for some partitions using
these paths and prioritise them when looking for subpartitions. Drop the
first find_boot_partition call as it doesn't really save time over the
call in the while loop.

The mdev config also handles setting up /dev/null, /dev/random, etc, so
these don't have to be done manually.
2023-09-07 20:33:55 +01:00
Clayton Craft 7c79667fe0 main/postmarketos-initramfs: move init.sh to initramfs-specific dir (MR 4204)
These files aren't owned by mkinitfs, or used to configure mkinitfs, so
I think it makes sense that they belong in a dir specific to this
package instead of cluttering up mkinitfs's config dirs.
2023-09-07 20:33:55 +01:00
Caleb Connolly 73e05bf16d main/postmarketos-initramfs: silence pbsplash (MR 4204) 2023-09-07 20:33:55 +01:00
Luca Weiss 5f820deefc main/postmarketos-initramfs: switch_root with /dev (MR 3230) (MR 4204)
Mount /dev (and /run) in initramfs so util-linux switch_root can move
the mounts over to the new sysroot before changing root.
BusyBox switch_root doesn't even attempt to move anything so use
util-linux's switch_root for this.

Explicitly disable tests too...
2023-09-07 20:33:55 +01:00
Barnabás Czémán 146c6b0f1c xiaomi-onclite: new device (MR 4351)
[ci:skip-build]: already built successfully in CI
2023-09-07 09:47:09 +02:00
Clayton Craft 37610c57f7 device-tablet-{x86,x64}uefi: add support for intel hw video decoding (MR 4375)
This also adds a version constraint to the libva install_if
2023-09-06 11:23:14 -07:00
Oliver Smith 9e454209e5 main/mobile-config-firefox: upgrade to 4.1.0 (MR 4377)
[ci:skip-build] already built successfully in CI
2023-09-06 11:13:42 -07:00
M0Rf30 9b21113f2c linux-postmarketos-qcom-msm8953: upgrade to 6.4.7-r3 (MR 4378)
[ci:skip-build]: already built successfully in CI
2023-09-05 23:51:25 +02:00
Clayton Craft 88f6ce6502 main/postmarketos-mkinitfs: upgrade to 2.2.1 (MR 4348)
[ci:skip-build] already built successfully in CI
2023-09-05 11:19:13 -07:00
Teemu Ikonen f3bfe510fa temp/gtk4.0: upgrade to 4.12.1 (MR 4370)
Forcibly generate gdkversionmacros.h and gdk-visibility.h first to fix
the build.

[ci:skip-build]: already built successfully in CI
2023-09-05 19:44:47 +02:00
Guido Günther 0dfb1219f8 main/postmarketos-ui-phosh: Modernize description and URL (MR 4366)
While a lot of Phosh development still happens on and for the Librem 5
we (thankfully) have lots of users and contributors using other devices.
Update the description to reflect that.

Ideally we'd emphasize that this is GNOME technology based and uses
wlroots but let's not  make the description too long.

Instead of Purism's generic home page point the URL to phosh.mobi which
has some more details. An alternative URL would be
https://puri.sm/pureos/phosh/ but that points to a page that is a
currently a bit dated.

[ci:skip-vercheck]
[ci:skip-build] already built successfully in CI
2023-09-05 10:24:15 -07:00
Barnabás Czémán 5570420cc9 xiaomi-vince: remove ucm config from device package (MR 4372)
[ci:skip-build]: already built successfully in CI
2023-09-05 09:25:21 +02:00
Barnabás Czémán 7ee361123c soc-qcom-msm8953: upgrade ucm configs (MR 4372) 2023-09-05 09:25:16 +02:00
Mighty 2150879f9f linux-postmarketos-omap: upgrade to 6.5 (MR 4360)
[ci:skip-build]: already built successfully in CI
2023-09-05 09:18:54 +02:00
SDM845 CI fd62adfe0e linux-postmarketos-qcom-sdm845: Upgrade to sdm845-6.4.13 (MR 4362)
[ci:skip-build]: already built successfully in CI
2023-09-05 08:52:06 +02:00
Oliver Smith d9830c6304 cross/crossdirect: partially use sccache for rust (MR 4310)
Wrap rustc commands with sccache when building native build scripts.
More interesting will be using sscache for compiling for the target
architecture, but sccache currently refuses to cache with --sysroot.
This can be optimized further later on, get some initial support for
sccache in here first.

While at it, tweak the -vV logic to also support -V, start using semver
with this and add myself as maintainer of the package.

[ci:skip-build]: already built successfully in CI
2023-09-05 08:45:41 +02:00
Oliver Smith 63c85a7e3c main/hello-world-rust: several tweaks (MR 4310)
* Don't use "cargo install", as it leads to building a second time.
* Make the build very verbose, as this package is mainly used to debug
  and develop the crossdirect scripts for rust.
2023-09-05 08:45:16 +02:00
Bobby Hamblin c5571fc688 main/postmarketos-ui-framebufferphone: take over maintainership (MR 4365)
[ci:skip-build]: already built successfully in CI
2023-09-04 17:28:28 +02:00
Luca Weiss 3afd25f568 linux-postmarketos-qcom-msm8226: upgrade to 6.4.0 (MR 4357) 2023-09-03 19:00:29 +02:00
Ferass El Hafidi 6ff0fc82bb u-boot-librecomputer-lafrite: new aport (MR 4324)
Signed-off-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>

[ci:skip-build]: Already built successfully in CI
2023-09-03 15:29:45 +02:00
Ferass El Hafidi 0cad27f9aa device-librecomputer-lafrite: new aport (MR 4324)
Signed-off-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>
2023-09-03 15:29:33 +02:00
Ferass El Hafidi e13a0a15c5 u-boot-librecomputer-lepotato: new aport (MR 4324)
Signed-off-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>
2023-09-03 15:29:33 +02:00
Ferass El Hafidi 9751f8b039 device-librecomputer-lepotato: new aport (MR 4324)
Signed-off-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>
2023-09-03 15:29:33 +02:00
Raymond Hackley 2cb492a5f4 main/postmarketos-ui-{lxqt,xfce4}: drop postmarketos-artwork-icons in $_pmb_recommends (MR 4364)
postmarketos-artwork-icons has already been required in
postmarketos-base-ui, which is required by both packages.

[ci:skip-vercheck]
2023-09-01 12:40:05 +02:00
Bart Ribbers 4de739338c main/postmarketos-ui-plasma-mobile: add plasma-welcome to _pmb_recommends (MR 4361)
A welcoming application. It can be extended with custom pages which
we'll do later for a pmOS specific page, but for now it at least tells
the user a bit about Plasma

[ci:skip-vercheck]
2023-08-31 09:42:26 +02:00
Sicelo A. Mhlongo 2e3cd005a4 device-nokia-n900: increase terminal and i3 font sizes (MR 4363)
[ci:skip-build]: already built successfully in CI
2023-08-30 22:55:51 +02:00
Luca Weiss 64e1496e73 fairphone-fp5: new device (MR 4359)
Add an initial port for the Fairphone 5 smartphone. This includes
firmware and close-to-mainline kernel package.

[ci:skip-build]: Already built successfully in CI
2023-08-30 14:36:17 +02:00
Caleb Connolly 5bc1505ed5 boot-deploy: upgrade to 0.10.2 (MR 4358)
Fix a bug where find_dtb() would fail if find encounters any errors,
even if it correctly found the dtb.

Signed-off-by: Caleb Connolly <caleb@connolly.tech>
2023-08-29 22:14:17 +01:00
Stefan Hansson a520b35993 lg-judyp: work around hang (MR 4353)
With IPA active, the device hangs shortly after booting into the rootfs
(the initramfs shell is fine as far as I can tell). Blacklisting it
works around this for now.

This is a regression, and did not happen when the device originally was
introduced.
[ci:skip-build]: already built successfully in CI
2023-08-28 22:53:29 +02:00
Stefan Hansson 7bfc8fad09 lg-judyln: work around hang (MR 4353)
With IPA active, the device hangs shortly after booting into the rootfs
(the initramfs shell is fine as far as I can tell). Blacklisting it
works around this for now.

This is a regression, and did not happen when the device originally was
introduced.
2023-08-28 22:53:25 +02:00
Dylan Van Assche 6002e51b70 postmarketos-base-ui: kill/restart unudhcpd unconditionally (MR 4354)
In some cases, the dispatcher script fails if unudhcpd is already running.
Forcefully killing unudhcpd resolves the issue.

Fixes #2267.

Tested-by: Sicelo A. Mhlongo <absicsz@gmail.com>
[ci:skip-build]: already built successfully in CI
2023-08-28 22:50:26 +02:00
Sicelo A. Mhlongo 1199feabbd temp/ofono: drop (MR 4356)
The ofono fork is no longer used and is outdated. Drop.
2023-08-28 16:52:41 +02:00
Jan-Michael Brummer b60b9624dc device-google-sargo: Add feedbackd rule (MR 4346)
Allow drv2624 to be used as vibra.
2023-08-28 16:26:15 +02:00
Barnabás Czémán e43c52dd58 main/lk2nd-msm8953: upgrade to 0.3.5 (MR 4352)
[ci:skip-build]: Already built successfully in CI
2023-08-28 16:22:13 +02:00
Luca Weiss eb7204df91 main/postmarketos-mkinitfs-hook-netboot: use custom IP address if available (MR 4350)
With the recent changes in commit 80fff9242, it's possible that the
client IP address is customized. Use the same code as in
init_functions.sh to get the this potentially customized IP address to
use for the nbd-client.

[ci:skip-build]: already built successfully in CI
2023-08-27 19:19:28 +02:00
Luca Weiss 8cbd19f79d main/postmarketos-mkinitfs-hook-debug-shell: fix launching telnet (MR 4350)
With the recent changes in commit 80fff9242, there's no longer an $IP
variable we can use. Use the same code as in init_functions.sh to get
the potentially customized IP address to use for telnet.
2023-08-27 19:19:28 +02:00
Jan-Michael Brummer 2fd687a0f2 alsa-ucm-conf-qcom-sdm670: upgrade to 1.2.9_git20230807 (MR 4345)
Add comment to speaker configuration to show name in OSD
2023-08-26 13:37:11 +02:00
Clayton Craft c720abf97c device-tablet-{x86,x64}uefi: install sound open firmware (MR 4349)
This is used by the audio devices in many Intel-based tablets.

[ci:skip-build] already built successfully in CI
2023-08-25 09:18:51 -07:00
Luca Weiss 7f17509724 Revert "main/postmarketos-ui-phosh: Disable on riscv64 (MR 4342)" (MR 4347)
The dependency xdg-desktop-portal-gnome has been reenabled in Alpine:
https://gitlab.alpinelinux.org/alpine/aports/-/commit/902360a1841b8de0586238dee9096920a20415fc

> The linking issue was caused by libudev-zero being pulled in as
> dependency instead of eudev. This has been fixed in the meantime.

This reverts commit a48d4dac62.

[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
2023-08-25 17:33:32 +02:00
Stefan Hansson eca86adbf3 main/postmarketos-ui-gnome-mobile: Replace EoG with Loupe (MR 4342)
See previous commit for rationale.

[ci:skip-vercheck]: No need to increment pkgrel when only changing
_pmb_recommends.
[ci:skip-build]: already built successfully in CI
2023-08-24 09:52:16 +02:00
Stefan Hansson 5a07413b97 main/postmarketos-ui-phosh: Replace EoG with Loupe (MR 4342)
Loupe is the new image viewer for GNOME. It also works better on phones
than Eye of GNOME and does not require any gschema overrides to fit the
narrow screens of phones.
2023-08-24 09:52:16 +02:00
Stefan Hansson a48d4dac62 main/postmarketos-ui-phosh: Disable on riscv64 (MR 4342)
Unfortunately xdg-desktop-portal-gnome is not available on riscv64 any
more in Alpine.
2023-08-24 09:52:16 +02:00
bademux 80fff9242a main/postmarketos-initramfs: support custom IP addresses for USB net (MR 3349)
[ci:skip-build] already built successfully in CI
2023-08-23 13:06:15 -07:00
Adam Honse 037d44ada1 community/linux-postmarketos-qcom-sdm845: Enable CIFS in config (MR 4343)
[ci:skip-build]: Already built successfully in CI
2023-08-22 09:48:52 +02:00
Clayton Craft a8bf624bb4 ci/shellcheck: ignore SC3043 warnings about use of 'local' (MR 4340)
This configures shellcheck in CI to ignore the use of the 'local'. Using
'local' to support variable scoping can prevent a lot of nasty bugs in
shell scripts.
Ash supports 'local', even though it's not a POSIX sh thing. It's used
extensively in our init.sh script, and many Alpine scripts use it.
2023-08-21 11:16:55 +02:00
Barnabás Czémán ff63a9fd60 device/*: add lk2nd-msm8953 as a dependency (MR 4339)
Fixes: pmbootstrap issue 2261
[ci:skip-build]: already built successfully in CI
2023-08-21 08:18:31 +02:00
Stefan Hansson e17b71ffd1 temp/gtk4.0: upgrade to 4.12.0 (MR 4338)
[ci:skip-build]: already built successfully in CI
2023-08-19 21:49:35 +02:00
Anton Bambura 53dbcab033 soc-mediatek-mt8183: remove unneeded dependency (MR 4335) 2023-08-19 19:57:03 +02:00
Anton Bambura 4970f08293 pine64-pinebookpro: depend on soc-rockchip-rk3399 (MR 4337) 2023-08-19 19:52:05 +02:00
Anton Bambura 49c39b35c1 pine64-pinephonepro: depend on soc-rockchip-rk3399 (MR 4337) 2023-08-19 19:52:05 +02:00
Anton Bambura 6148644a7f pine64-rockpro64: depend on soc-rockchip-rk3399 (MR 4337) 2023-08-19 19:52:05 +02:00
Anton Bambura 1dfe7962be google-gru: depend on soc-rockchip-rk3399 (MR 4337) 2023-08-19 19:52:05 +02:00
Anton Bambura ab47398d30 soc-rockchip-rk3399: new aport (MR 4337) 2023-08-19 19:52:04 +02:00
Barnabás Czémán 6c7d0c7b15 xiaomi-ysl: update firmware url (MR 4336)
[ci:skip-build]: already built successfully in CI
2023-08-19 17:28:55 +02:00
Alistair Francis b567653505 temp/gtk+3.0: Fix Phosh boot splash (MR 4332)
For the splash screen to correctly dismiss itself without
hitting the timeout, we need a Gtk patch.

This is described in the Phosh release notes:
https://gitlab.gnome.org/World/Phosh/phosh/-/releases/v0.30.0#required-patches-that-arent-merged-upstream-yet

The patch isn't in upstream yet, but there is an open PR:
https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/5628

Mobian also carries the patch:
https://salsa.debian.org/Mobian-team/packages/gtk3/-/blob/mobian/debian/patches/purism/gdk-wayland-Track-last-touch-serial-on-seat.patch

So let's add the patch to pmOS as well. This fixes the Phosh splash
screens so they now disapear when the application is ready.

Signed-off-by: Alistair Francis <alistair@alistair23.me>
[ci:skip-build]: already built successfully in CI
2023-08-18 10:12:22 +02:00
Barnabás Czémán 40aa8e911f xiaomi-ysl: switch to msm-firmware loader (MR 4331) 2023-08-17 10:00:50 +02:00
Clayton Craft 09a3c1dc8c cross/busybox-*: upgrade to 1.36.1-r6 2023-08-16 14:49:30 -07:00
Clayton Craft e72592cd9a cross/gcc-*: upgrade to 13.1.1_git20230722-r2 2023-08-16 14:45:25 -07:00
Stefan Hansson 69bcd3fbf0 linux-purism-librem5: upgrade to 6.4.5pureos1 (MR 4329)
[ci:skip-build]: Already built successfully in CI
2023-08-16 21:38:13 +02:00
Musk Wasis c002f3e196 linux-postmarketos-qcom-sm8250: recommended kernel config (MR 4328)
[ci:skip-build]: already built successfully in CI
2023-08-14 07:58:23 +02:00
Michal Kazior d663d4d678 main/linux-postmarketos-allwinner: add CP210X module (MR 4326)
This allows use of some USB peripherals that
utilize the CP210X serial chip.

This includes not only mere UART-to-USB adapters,
but also some devices like GPS, Zigbee dongles,
etc.

[ci:skip-build]: Already built successfully in CI
2023-08-13 13:05:23 +02:00
Anton Bambura d2eed81a20 odroid-xu4: move to community (MR 4297)
[ci:skip-vercheck]
[ci:skip-build]: Already built successfully in CI
2023-08-12 18:45:11 +02:00
Sicelo A. Mhlongo 5d8dd4d145 device-nokia-n900: fix hwkbd on unl0kr (MR 4320)
- add keyboard driver to initramfs (twl4030_keypad & matrix_keymap)
- order modules in alphabetical order

[ci:skip-build]: Already built successfully in CI
2023-08-12 17:01:15 +02:00
Sicelo A. Mhlongo 9c0e8fcc10 device-nokia-n900: do not open terminal for nagbar actions (MR 4320) 2023-08-12 17:01:14 +02:00
Sicelo A. Mhlongo b117742459 device-nokia-n900: restore modem (MR 4320) 2023-08-12 17:01:06 +02:00
kravandir 6e5122f018 xiaomi-olive: FDE support (MR 4323)
Fixed framebuffer red and blue colors swap and
added FDE support with unl0kr.

[ci:skip-build]: Already built successfully in CI
2023-08-12 16:57:17 +02:00
Arseniy Velikanov 66af27a144 testing/linux-postmarketos-qcom-sm8150: upgrade to 6.4 (MR 4306)
[ci:skip-build]: Already built successfully in CI
2023-08-11 11:45:06 +02:00
Arseniy Velikanov f9bda9fd4d testing/firmware-xiaomi-vayu: new aport (MR 4306) 2023-08-11 11:45:06 +02:00
Arseniy Velikanov e83778c4df xiaomi-vayu: new device (MR 4306) 2023-08-11 11:45:00 +02:00
Nikita Travkin e7ec3ae165 device-acer-aspire1: new device (MR 4322)
Acer Aspire 1 is an WoA aarch64 laptop.

This commit introduces support for it by including some patches that
were already accepted upstream.
2023-08-10 22:36:57 +02:00
Barnabás Czémán 415714ec4d soc-qcom-msm8953: add initial soc package (MR 4268)
[ci:skip-build]: already built successfully in CI
2023-08-10 17:26:28 +02:00
Sicelo A. Mhlongo 56ad1cd821 linux-postmarketos-omap: re-add twl for basic soc reset (MR 4321)
Fix shutdown regression introduced with 3e737241ba ("linux-postmarketos-omap:
N900: disable twl off idle features"). After that commit, shutdown never
completes.

[ci:skip-build]: Already built successfully in CI
2023-08-10 10:44:54 +02:00
Anton Bambura b6f0cfda68 main/postmarketos-mkinitfs-hook-apx: enable aarch64 (MR 4319)
It may work on aarch64 Tegra SoCs

[ci:skip-build]: already built successfully in CI
2023-08-10 01:16:32 +03:00
kravandir 36bdf43fe6 xiaomi-olive: new device (MR 4313)
[ci:skip-build]: Already built successfully in CI
2023-08-09 17:30:21 +02:00
Duje Mihanović 9ea3a58735 samsung-j3xnlte: use Samsung sparse format (MR 4315)
This allows the rootfs image to be flashed with Heimdall without errors.
2023-08-09 16:11:32 +02:00
Jasper Korten 63c6f76327 google-smaug: new device (MR 4007)
[ci:skip-build]: Already built successfully in CI
2023-08-09 10:58:40 +02:00
Jasper Korten 61374468cd linux-google-smaug: new aport (MR 4007) 2023-08-09 11:41:48 +03:00
Jasper Korten 54672bdca7 firmware-google-smaug: new aport (MR 4007) 2023-08-09 11:41:17 +03:00
Joel Selvaraj 098b71ba76 community/soc-qcom-sdm845: fix the missing .post-install script for call audio (MR 4316) 2023-08-09 10:28:28 +02:00
Sicelo A. Mhlongo 3e737241ba linux-postmarketos-omap: N900: disable twl off idle features (MR 4317)
Disable twl pmic off-idle configuration for Nokia N900. An ugly patch to do
this was lost during the migration from linux-nokia-n900 to the shared omap
kernel.

Fixes #2161

[ci:skip-build]: Already built successfully in CI
2023-08-09 09:59:06 +02:00
Johannes Marbach 202b6e9435 main/postmarketos-initramfs: wait for splash to exit before unlocking (MR 3952)
[ci:skip-build]: already built successfully in CI
2023-08-08 09:36:17 +02:00
Johannes Marbach 3dae87fc3c community/device-oneplus-fajita: enable unl0kr quirks (MR 3952) 2023-08-08 09:36:17 +02:00
Johannes Marbach 42f9797845 main/unl0kr: upgrade to 2.0.0 (MR 3952) 2023-08-08 09:36:12 +02:00
Jan Jasper de Kroon 9bba04d366 linux-pine64-pinephonepro: upgrade to 6.4.7 (MR 4287)
[ci:skip-build]: already built successfully in CI
2023-08-08 09:31:02 +02:00
Sicelo A. Mhlongo dbbd4e46ec device-nokia-n900: let user choose power button action (MR 4312)
Offer user a choice between suspend, shutdown, and reboot when power button
pressed.

[ci:skip-build]: already built successfully in CI
2023-08-08 09:27:16 +02:00
Sicelo A. Mhlongo 61951f08e7 device-nokia-n900: use elogind for suspend (MR 4312)
Since 80ab66cd2a (MR 4179), suspend using `loginctl` works, so drop pm-utils
and the associated sudo rule.
2023-08-08 09:27:16 +02:00
Sicelo A. Mhlongo e702458223 device-nokia-n900: switch to urxvt terminal (MR 4312)
Switch to urxvt terminal in order to provide a scrollable terminal. Scrolling
is convoluted in st [1], especially when used on a mobile device.

Scrolling is a basic need, e.g. to page through `dmesg` output.

[1] https://git.suckless.org/st/file/FAQ.html#l21
2023-08-08 09:27:10 +02:00
Anton Bambura 76030e7fa5 alsa-ucm-conf-google-gru: update comment (MR 4314)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/4291#note_1502132779

[ci:skip-vercheck]
2023-08-08 09:20:27 +02:00
Pablo Correa Gómez 04abb5b1a7 main/postmarketos-base: migrate wrong timezone configurations (MR 4308)
So that old installations that run setup-timezone without "-i" do not
need to execute manual steps to get sensible timezone configurations.

See https://gitlab.com/postmarketOS/pmaports/-/issues/2168 for more context

Fixes #2168
[ci:skip-build]: already built successfully in CI
2023-08-07 09:41:53 +02:00
Anton Bambura 0383bcaa1e google-trogdor: move to community (MR 4291)
[ci:ignore-count]
[ci:skip-vercheck]

[ci:skip-build]: already built successfully in CI
2023-08-07 09:31:04 +02:00
Anton Bambura 25b1462207 firmware-google-trogdor: move to community (MR 4291) 2023-08-07 09:30:38 +02:00
Anton Bambura 6665328a80 linux-postmarketos-qcom-sc7180: move to community (MR 4291) 2023-08-07 09:30:38 +02:00
Anton Bambura b5aecae28b soc-qcom-sc7180: move to community (MR 4291) 2023-08-07 09:30:38 +02:00
Anton Bambura 2b4a076c5f google-gru: move to community (MR 4291) 2023-08-07 09:30:38 +02:00
Anton Bambura e7f9e9256f alsa-ucm-conf-google-gru: move to community (MR 4291) 2023-08-07 09:30:37 +02:00
Anton Bambura 7e18458bc8 google-kukui: move to community (MR 4291) 2023-08-07 09:30:37 +02:00
Anton Bambura 9d9027876e soc-mediatek-mt8183: move to community (MR 4291) 2023-08-07 09:30:37 +02:00
Anton Bambura 841214a737 alsa-ucm-conf-google-kukui: move to community (MR 4291) 2023-08-07 09:30:37 +02:00
Anton Bambura 7af938a960 linux-postmarketos-mediatek-mt8183: move to community (MR 4291) 2023-08-07 09:30:37 +02:00
Anton Bambura 2fcbd471b0 google-oak: move to community (MR 4291) 2023-08-07 09:30:37 +02:00
Anton Bambura e740f3dccd linux-postmarketos-mediatek-mt8173: move to community (MR 4291) 2023-08-07 09:30:37 +02:00
Anton Bambura 21dc035985 google-veyron: move to community (MR 4291) 2023-08-07 09:30:37 +02:00
Anton Bambura 9ada84dbf3 firmware-google-veyron-brcm: move to community (MR 4291) 2023-08-07 09:30:36 +02:00
Anton Bambura 055c64ed50 linux-google-veyron: move to community (MR 4291) 2023-08-07 09:30:36 +02:00
Anton Bambura a2a5539d53 google-peach-pit: move to community (MR 4291) 2023-08-07 09:30:36 +02:00
Anton Bambura 14ab70cac7 google-snow: move to community (MR 4291) 2023-08-07 09:30:36 +02:00
Anton Bambura f0843d6b4a linux-postmarketos-exynos5: move to community (MR 4291) 2023-08-07 09:30:31 +02:00
Musk Wasis 2146027219 testing/linux-postmarketos-qcom-sm8250: Enable BTRFS (MR 4143)
[ci:skip-build]: already built successfully in CI
2023-08-07 09:12:50 +02:00
Anton Bambura 0b5fe0017e linux-postmarketos-rockchip: don't use flavor in dtbs path (MR 4298)
..for consistency with other packages and to not confuse utilities
which make proper use of flavors

[ci:skip-build]: already built successfully in CI
2023-08-06 19:46:43 +02:00
Sicelo A. Mhlongo 7992f29cf9 device-nokia-n900: drop conky (MR 4309)
Save a few CPU cycles by dropping conky. Additionally, the existing config has
not been working for a long time now, and no one missed it.

For completeness, it was no longer displaying on the desktop. Manually starting
it showed:

```
conky: X Error: type 0 Display b5e73620 XID 1302 serial 97 error_code 10 request_code 2 minor_code 0 other Display: b5e73620
```

There are instructions [1] to resolve/workaround it, but we clearly do not have
a pressing need for conky to begin with.

[1] https://github.com/brndnmtthws/conky/issues/1443#issuecomment-1557793718
[ci:skip-build]: already built successfully in CI
2023-08-06 19:38:51 +02:00
Jan Jasper de Kroon 7e488322cb linux-postmarketos-allwinner: upgrade to 6.4.7 (MR 4281)
[ci:skip-build]: already built successfully in CI
2023-08-06 19:11:13 +02:00
Oliver Smith f0cc1edccc cross/busybox-static-*: upgrade to 1.36.1-r5 2023-08-06 18:35:58 +02:00
Anton Bambura e60195f8ae modem/msm-cros-efs-loader: upgrade to 1.0.2 (MR 4307)
[ci:skip-build]: already built successfully in CI
2023-08-05 23:41:59 +02:00
alikates 1a38807594 main/lk2nd-msm8953: upgrade to 3.4.0 (MR 4305)
[ci:skip-build]: already built successfully in CI
2023-08-04 09:26:51 +02:00
Pablo Correa Gómez f0d314793d ci: make sure deviceinfo_modules_initfs is not re-introduced in pmaports (MR 4169)
[ci:ignore-count]
2023-08-04 08:27:44 +02:00
Pablo Correa Gómez 9839303dca main/postmarketos-initramfs: stop using removed deviceinfo_modules_initfs (MR 4169)
The modules are now managed exclusively through the
/lib/modules/initramfs.load files
2023-08-04 08:27:44 +02:00
Pablo Correa Gómez 4914067590 device/*: transform deviceinfo_modules_initfs into a file (MR 4169)
The file is automatically packed by devicepkg-dev utils

Relates #1836
2023-08-04 08:27:44 +02:00
Pablo Correa Gómez 7213fd54ca main/devicepkg-dev: use modules-initfs to install modules into initramfs (MR 4169)
Since the modules are going to be installed into the initfs, it makes
sense to use a more verbose naming for the file. Otherwise there's the
risk of getting confused with other type of module files that exist in
device packages.

Fixes 65be0d7e81
2023-08-04 08:27:38 +02:00
alikates 968d1cb57f linux-postmarketos-qcom-msm8953: upgrade to 6.4.7-r1 (MR 4304)
Fixed an issue with the speaker on tissot.

[ci:skip-build]: already built successfully in CI
2023-08-03 21:33:35 +02:00
Raymond Hackley 5ad102151d huawei-kiwi: add GR5 (2016) (MR 4302)
GR5 is for international markets, and it's also kiwi.
The existing pmaports, lk2nd and kernel works can be used directly
without problems.

There is nothing different found yet. The 2 phones seem to be identical
except that GR5 is not branded as Honor series and it has no Honor logo
on the chassis.
2023-08-03 19:32:44 +02:00
Duje Mihanović 4f842cfd9a samsung-coreprimevelte: add mainline kernel (MR 4267)
[ci:skip-build]: already built successfully in CI
2023-08-03 07:56:19 +02:00
Clayton Craft 4ebd1d1a17 main/boot-deploy: upgrade to 0.10.1 (MR 4301)
[ci:skip-build]: already built successfully in CI
2023-08-03 07:52:00 +02:00
Anton Bambura 1c4369e4fc google-snow: replace bash with sh in sway workaround (MR 4300)
[ci:skip-build]: already built successfully in CI
2023-08-03 07:42:56 +02:00
Anton Bambura acf281069e google-nyan-blaze: replace bash with sh in sway workaround (MR 4300) 2023-08-03 07:42:56 +02:00
Anton Bambura 5e35a947d2 google-nyan-big: replace bash with sh in sway workaround (MR 4300) 2023-08-03 07:42:56 +02:00
Anton Bambura 931bf18591 asus-p024: replace bash with sh in brightness script (MR 4300) 2023-08-03 07:42:51 +02:00
Steven Davies 1e4c8238c3 postmarketos-initramfs: Handle rootfsopts= on kernel cmdline (MR 4288)
This also removes redundant code and handles mount failure/no filesystem
separately.

fixes #2242
2023-08-02 11:33:47 -07:00
Sicelo A. Mhlongo 73a033328e device-nokia-n900: set uniprocessor mode for kernel (MR 4299)
The OMAP 3430 in the Nokia N900 is a uniprocessor SoC, so disable SMP via
kernel command line. This appears to alleviate the ongoing kernel crashes
affecting the Nokia N900 in pmOS.

[ci:skip-build]: already built successfully in CI
2023-08-01 21:50:57 +02:00
alikates 3cd0d57835 linux-postmarketos-qcom-msm8953: upgrade to 6.4.7 (MR 4296)
Updated the kernel to version 6.4.7 and added fixes for the speaker on
xiaomi-daisy and xiaomi-tissot.

Also changed the aport to use tags instead of commit hashes.
2023-08-01 14:16:30 +03:00
Anton Bambura acccef1297 u-boot-veyron-speedy: drop in favor of depthcharge (MR 4294) 2023-08-01 14:02:24 +03:00
Anton Bambura 9439f03232 u-boot-veyron-minnie: drop in favor of depthcharge (MR 4294) 2023-08-01 14:02:24 +03:00
Anton Bambura 7ce2c8645a u-boot-peach-pit: drop in favor of depthcharge (MR 4294) 2023-08-01 14:02:24 +03:00
Anton Bambura 73a9d2e481 u-boot-peach-pi: drop in favor of depthcharge (MR 4294) 2023-08-01 14:02:23 +03:00
Anton Bambura ac3ccce178 u-boot-snow: drop in favor of depthcharge (MR 4294) 2023-08-01 14:02:23 +03:00
Anton Bambura ae1fffe8c0 u-boot-nyan-4gb: drop in favor of depthcharge (MR 4294) 2023-08-01 14:02:23 +03:00
Anton Bambura 3fe3531f47 u-boot-nyan-2gb: drop in favor of depthcharge (MR 4294) 2023-08-01 14:02:23 +03:00
Anton Bambura e6073704d3 google-x64cros: depend on postmarketos-cros-common (MR 4295)
[ci:ignore-count]
2023-08-01 13:52:45 +03:00
Anton Bambura f8bc62c171 google-veyron: depend on postmarketos-cros-common (MR 4295) 2023-08-01 13:52:45 +03:00
Anton Bambura 0ac0f93599 google-trogdor: depend on postmarketos-cros-common (MR 4295) 2023-08-01 13:52:45 +03:00
Anton Bambura 0f32828eb1 google-spring: depend on postmarketos-cros-common (MR 4295) 2023-08-01 13:52:45 +03:00
Anton Bambura 4525d4072b google-snow: depend on postmarketos-cros-common (MR 4295) 2023-08-01 13:52:45 +03:00
Anton Bambura 53e9209597 google-peach-pit: depend on postmarketos-cros-common (MR 4295) 2023-08-01 13:52:45 +03:00
Anton Bambura aba1daa8d3 google-peach-pi: depend on postmarketos-cros-common (MR 4295) 2023-08-01 13:52:45 +03:00
Anton Bambura edba36cdb9 google-oak: depend on postmarketos-cros-common (MR 4295) 2023-08-01 13:52:44 +03:00
Anton Bambura b39ae43314 google-nyan-blaze: depend on postmarketos-cros-common (MR 4295) 2023-08-01 13:52:44 +03:00
Anton Bambura 49680c648d google-nyan-big: depend on postmarketos-cros-common (MR 4295) 2023-08-01 13:52:44 +03:00
Anton Bambura bb80cfbc19 google-kukui: depend on postmarketos-cros-common (MR 4295) 2023-08-01 13:52:44 +03:00
Anton Bambura 972c8d16ec google-gru: depend on postmarketos-cros-common (MR 4295) 2023-08-01 13:52:44 +03:00
Anton Bambura 3aa3758821 main/postmarketos-cros-common: new aport (MR 4295) 2023-08-01 13:52:44 +03:00
Anton Bambura e9f7e3b423 linux-postmarketos-exynos5: make it pass kconfig check again (MR 4292)
[ci:skip-build]: already built successfully in CI
2023-08-01 09:14:10 +02:00
Anton Bambura 2d648883ef google-peach-pi: remove inactive maintainer (MR 4293)
[ci:skip-build] [ci:skip-vercheck]
2023-08-01 08:59:03 +02:00
Anton Bambura 346f93cb6e google-gru: depend on linux-firmware-qca (MR 4289)
Fixes https://gitlab.com/postmarketOS/pmaports/-/issues/2218
2023-08-01 08:50:19 +02:00
pedja bffe5d95ac linux-postmarketos-omap: adjust Kconfig to fix nokia-modem (MR 4282)
Added CONFIG_GPIO_SYSFS, this is required for nokia-modem module
GPIO_SYSFS depends on EXPERT which in turn sets DEBUG*

[ci:skip-build]: already built successfully in CI
2023-08-01 08:28:41 +02:00
Nils Tonnätt 5d4289c416 xiaomi-daisy: remove superfluous underscores in deviceinfo (MR 4285)
[ci:skip-build]: already built successfully in CI
2023-07-31 09:15:37 +02:00
Anton Bambura 941486b663 main/devicepkg-dev: trigger mkinitfs (MR 4206)
[ci:skip-build]: already built successfully in CI
2023-07-31 09:11:11 +02:00
Anton Bambura a025f614bb google-peach-pi: switch to depthcharge (MR 4206) 2023-07-31 09:11:11 +02:00
Anton Bambura a4bce44ef4 google-peach-pi: switch to extlinux.conf (MR 4206) 2023-07-31 09:11:10 +02:00
Anton Bambura 2016c069e7 google-peach-pit: switch to depthcharge (MR 4206) 2023-07-31 09:11:10 +02:00
Anton Bambura 7214fb1a74 google-peach-pit: switch to extlinux.conf (MR 4206) 2023-07-31 09:11:10 +02:00
Anton Bambura 50ca7110d7 google-snow: switch to depthcharge (MR 4206) 2023-07-31 09:11:10 +02:00
Anton Bambura 6ac389d8ae google-snow: switch to extlinux.conf (MR 4206) 2023-07-31 09:11:04 +02:00
Anton Bambura d9116005f1 google-veyron: new device (MR 4252)
[ci:skip-build] already built successfully in CI
2023-07-30 23:32:27 -07:00
Anton Bambura 591ae745ae google-veyron-tiger: drop in favor of google-veyron (MR 4252) 2023-07-30 23:32:27 -07:00
Anton Bambura 5d393c43be google-veyron-speedy: drop in favor of google-veyron (MR 4252) 2023-07-30 23:32:27 -07:00
Anton Bambura a4f893bfb0 google-veyron-minnie: drop in favor of google-veyron (MR 4252) 2023-07-30 23:32:26 -07:00
Anton Bambura 557ddf697f google-veyron-mighty: drop in favor of google-veyron (MR 4252) 2023-07-30 23:32:26 -07:00
Anton Bambura cc14792377 google-veyron-mickey: drop in favor of google-veyron (MR 4252) 2023-07-30 23:32:26 -07:00
Anton Bambura 675bd6d68d google-veyron-jerry: drop in favor of google-veyron (MR 4252) 2023-07-30 23:32:26 -07:00
Anton Bambura 2700b6c52f google-veyron-jaq: drop in favor of google-veyron (MR 4252) 2023-07-30 23:32:25 -07:00
Anton Bambura c5c962b6ed google-veyron-fievel: drop in favor of google-veyron (MR 4252) 2023-07-30 23:32:25 -07:00
Anton Bambura 66aacbe00c google-oak: new device (MR 4252) 2023-07-30 23:32:25 -07:00
Anton Bambura 5837cdd6bf google-elm: drop in favor of google-oak (MR 4252) 2023-07-30 23:32:24 -07:00
Anton Bambura 8c9854ea92 google-hana: drop in favor of google-oak (MR 4252) 2023-07-30 23:32:24 -07:00
Anton Bambura f35a52add9 google-kukui: new device (MR 4252) 2023-07-30 23:32:24 -07:00
Anton Bambura cffc7f1d4c google-willow: drop in favor of google-kukui (MR 4252) 2023-07-30 23:32:24 -07:00
Anton Bambura 3679e238e7 google-krane: drop in favor of google-kukui (MR 4252) 2023-07-30 23:32:23 -07:00
Anton Bambura e35d367d8a google-cozmo: drop in favor of google-kukui (MR 4252) 2023-07-30 23:32:23 -07:00
Anton Bambura b01a87b087 google-kakadu: drop in favor of google-kukui (MR 4252) 2023-07-30 23:32:23 -07:00
Anton Bambura 38853f6b4b google-fennel14: drop in favor of google-kukui (MR 4252) 2023-07-30 23:32:22 -07:00
Anton Bambura f08577c919 google-stern: drop in favor of google-kukui (MR 4252) 2023-07-30 23:32:22 -07:00
Anton Bambura e8f434e63c google-kodama: drop in favor of google-kukui (MR 4252) 2023-07-30 23:32:22 -07:00
Anton Bambura e2daba5f24 google-damu: drop in favor of google-kukui (MR 4252) 2023-07-30 23:32:22 -07:00
Anton Bambura 338d24e60c google-cerise: drop in favor of google-kukui (MR 4252) 2023-07-30 23:32:21 -07:00
Anton Bambura 3c5948e480 google-fennel: drop in favor of google-kukui (MR 4252) 2023-07-30 23:32:21 -07:00
Anton Bambura c2cff799d7 google-makomo: drop in favor of google-kukui (MR 4252) 2023-07-30 23:32:21 -07:00
Anton Bambura 5584000463 google-juniper: drop in favor of google-kukui (MR 4252) 2023-07-30 23:32:20 -07:00
Anton Bambura 1e415b1ffb google-burnet: drop in favor of google-kukui (MR 4252) 2023-07-30 23:32:20 -07:00
Anton Bambura 638c1e2449 google-katsu: drop in favor of google-kukui (MR 4252) 2023-07-30 23:32:20 -07:00
Anton Bambura 0fa314e59e google-kenzo: drop in favor of google-kukui (MR 4252) 2023-07-30 23:32:20 -07:00
Anton Bambura 2d4b04d37a google-kappa: drop in favor of google-kukui (MR 4252) 2023-07-30 23:32:19 -07:00
Anton Bambura a24c091ac6 google-gru: new device (MR 4252) 2023-07-30 23:32:19 -07:00
Anton Bambura c8988dd747 google-bob: drop in favor of google-gru (MR 4252) 2023-07-30 23:32:19 -07:00
Anton Bambura 4fda1c33d9 google-kevin: drop in favor of google-gru (MR 4252) 2023-07-30 23:32:18 -07:00
Anton Bambura 40fb66f3c1 google-dumo: drop in favor of google-gru (MR 4252) 2023-07-30 23:32:18 -07:00
Anton Bambura f457ed3540 google-druwl: drop in favor of google-gru (MR 4252) 2023-07-30 23:32:18 -07:00
Anton Bambura be532bf682 google-dru: drop in favor of google-gru (MR 4252) 2023-07-30 23:32:17 -07:00
Clayton Craft 6e4f2c945d main/boot-deploy: upgrade to 0.10 (MR 4278)
This also enables running tests, since we want to do everything possible
to prevent regressions!

[ci:skip-build] already built successfully in CI
2023-07-30 23:23:39 -07:00
Pablo Correa Gómez 80e78d417f cross/musl-*: upgrade to 1.2.4_git20230717-r2 2023-07-30 11:04:35 +00:00
M0Rf30 1f06b6f365 linux-postmarketos-qcom-msm8953: enable soundcard for xiaomi-mido and xiaomi-ysl (MR 4280)
[ci:skip-build]: already built successfully in CI
2023-07-29 12:37:05 +02:00
Richard Acayan fe7993e6c9 google-sargo: include ALSA UCM configuration (MR 4203)
[ci:skip-build]: already built successfully in CI
2023-07-28 13:56:20 +02:00
Richard Acayan 4896bf4e6e alsa-ucm-conf-qcom-sdm670: new aport (MR 4203)
The Pixel 3a uses the SDM845 SoC package but now needs UCM
configuration. Add a fork of it (unless the configuration can be added
to the SDM845 repository).
2023-07-28 13:56:11 +02:00
Richard Acayan 301baea0ae google-sargo: add adsp pd firmware (MR 4203)
The ADSP needs this firmware, otherwise audio bringup will fail. It
wasn't added with initial ADSP support, so add it now.

Also remove execute permissions from the installed firmware.
2023-07-28 13:56:11 +02:00
Richard Acayan 2b7b2ed090 linux-postmarketos-qcom-sdm670: upgrade to 6.4.4 (MR 4203) 2023-07-28 13:56:11 +02:00
Oliver Smith d0f40b0b16 main/mobile-config-firefox: upgrade to 4.0.4 (MR 4276)
[ci:skip-build]: already built successfully in CI
2023-07-28 13:51:45 +02:00
Oliver Smith 2ad28222c0 cross/musl-*: upgrade to 1.2.4_git20230717-r0 2023-07-28 07:53:10 +02:00
Bart Ribbers d0f6e2e690 cross/gcc-*: upgrade to 13.1.1_git20230715-r1 2023-07-25 22:19:00 +02:00
Affe Null f0286576e7 cross/crossdirect: improve rust handling (MR 4234)
Add a cargo wrapper which appends a --target argument to the command
line. This makes cargo pass the --target argument to rustc for crates
being built for the target architecture, even if the target is the same
as the host. It will omit the --target argument for build scripts and
crates used in macros.

Check for this --target argument in the rustc wrapper and adjust the
library paths depending on its presence. The fallback that runs rustc
under qemu is no longer needed because macros are now built for the
native architecture and can be loaded into the native compiler without
any problems.

Also check if the arguments passed to rustc are "-vV". If this is the
case, we still need to fall back to the target rustc because the native
rustc will return the wrong architecture. If the wrong host architecture
is passed to a build script, it might try to look for a cross-compiler
or do something else that doesn't work.

[ci:skip-build]: already built successfully in CI
2023-07-24 08:32:10 +02:00
Anton Bambura 042d577de4 linux-postmarketos-qcom-sc7180: enable goodix hid over i2c touchscreen (MR 4273)
This fixes touchscreen on some trogdor devices.

[ci:skip-build]: already built successfully in CI
2023-07-24 08:24:57 +02:00
Clayton Craft 0aa52ba34a device-shift-axolotl: Revert to previous touchscreen driver in initramfs (MR 4275)
the 6.3 kernel for this device added edt-ft5x06, but it was dropped when
upgraded to 6.4, so this reverts back to the focaltech driver so that
the touchscreen will work again in the initramfs

[ci:skip-build] already built successfully in CI
2023-07-23 14:21:35 -07:00
Clayton Craft def1f6200f cross/gcc-*: upgrade to 13.1.1_git20230715 2023-07-23 14:08:07 -07:00
Anton Bambura b5063eb65a linux-google-veyron: upgrade to 6.1.39 (MR 4266)
[ci:skip-build]: already built successfully in CI
2023-07-23 18:17:59 +02:00
Anton Bambura f112bfc632 linux-postmarketos-mediatek-mt8173: upgrade to 6.4.4 (MR 4264)
[ci:skip-build] already built successfully in CI
2023-07-23 18:15:07 +02:00
Oliver Smith 6040a83bc2 cross/busybox-static-*: upgrade to 1.36.1-r4 2023-07-23 18:07:44 +02:00
Stefan Hansson 1f59a4ecc7 linux-postmarketos-exynos4: use tag instead of commit (MR 4270)
I forgot to change this before merging. Commit remains the same, so
package itself shouldn't change. Thus:

[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
2023-07-23 18:01:34 +02:00
Willow Barraco 9d5d6d7ef5 main/postmarketos-ui-sxmo-de-sway: seatd dep moved to sxmo-utils-sway (MR 4271)
[ci:skip-build] already built successfully in CI
2023-07-22 10:18:28 -07:00
Anton Bambura da9d54b44c google-trogdor: new device (MR 4250)
[ci:skip-build]: already built successfully in CI
2023-07-22 18:15:37 +02:00
Anton Bambura 91b0823d57 firmware-google-trogdor: new aport (MR 4250)
Modem firmware for Google Trogdor Chromebooks
2023-07-22 18:15:16 +02:00
Anton Bambura 2640a4632f modem/msm-cros-efs-loader: new aport (MR 4250)
Load EFS files on Qualcomm-based Chrome OS devices
2023-07-22 18:15:16 +02:00
Anton Bambura 024a301ebe soc-qcom-sc7180: new aport (MR 4250)
Qualcomm Snapdragon 7c (sc7180) common package.
2023-07-22 18:15:16 +02:00
Anton Bambura caa4101bfb modem/rmtfs: Implement configuration with rmtfs.confd (MR 4250) 2023-07-22 18:15:16 +02:00
Anton Bambura 5eaa998a50 linux-postmarketos-qcom-sc7180: new aport (MR 4250) 2023-07-22 18:15:16 +02:00
Teemu Ikonen 9369c05ae9 temp/gtk4.0: Fork from alpine, add transient window patches (MR 3894)
[ci:skip-build] already built successfully in CI
2023-07-21 19:07:57 -07:00
Petr Hodina ccbc7f8a1a device-pine64-pinenote: add u-boot-pine64-pinenote dependency (MR 3835)
- specify offset to embed the u-boot
- change partitions where to flash the kernel and rootfs
- add dependency on mainline u-boot that supports extlinux.conf boot records

[ci:skip-build] already built successfully in CI
2023-07-21 15:36:07 -07:00
Petr Hodina ed5f4a5bf3 testing/u-boot-pine64-pinenote: new aport (MR 3835) 2023-07-21 15:36:07 -07:00
Rudraksha Gupta 805cf7bb62 device-samsung-expressatt: boot mainline (6.5-rc2) (MR 4205)
[ci:skip-build] already built successfully in CI
2023-07-21 15:29:16 -07:00
Willow Barraco f7db770f46 main/postmarketos-ui-sxmo-de-sway: depends on sxmo-common (MR 4259)
[ci:skip-build] already built successfully in CI
2023-07-21 14:14:26 -07:00
Willow Barraco 5ebb29e7a4 main/postmarketos-ui-sxmo-de-dwm: depends on sxmo-common (MR 4259) 2023-07-21 14:14:25 -07:00
Willow Barraco 8736351969 main/sxmo-common: Add a ghost package to fix upgrades (MR 4259)
This old package had a pre-deinstall script to remove the necessary Sxmo
daemons. We move those daemon management to the -dwm and -sway dedicated
postmarketos packages.

The problem is that apk can eventually install/upgrade the -dwm or -sway
package before removing sxmo-common. This cause a deactivation of the
daemons.

To prevent this, we add back an empty sxmo-common to take place of the
old one. This one does not contain the deinstall scripts. We will
remove this in two stable release.
2023-07-21 14:14:25 -07:00
Oliver Smith 0043344385 cross/binutils-*: remove (MR 3275)
Use the recently added binutils-cross packages in Alpine instead of our
own ones.
2023-07-21 09:32:40 +02:00
Oliver Smith e6ae7507dd cross/musl-*: upgrade to 1.2.4-r6 2023-07-21 09:29:55 +02:00
Anton Bambura 26064730d1 soc-mediatek-mt8183: remove inactive maintainer (MR 4265)
[ci:skip-build]: already built successfully in CI
2023-07-20 17:37:59 +02:00
Anton Bambura f4f1b0dea2 alsa-ucm-conf-google-kukui: remove inactive maintainer (MR 4265) 2023-07-20 17:37:59 +02:00
Anton Bambura 5685f2e68e linux-postmarketos-mediatek-mt8183: remove inactive maintainer (MR 4265) 2023-07-20 17:37:59 +02:00
Anton Bambura 1f9644713c linux-postmarketos-mediatek-mt8183: upgrade to 6.1.39 (MR 4265) 2023-07-20 17:37:59 +02:00
Caleb Connolly 0a8c952c39 community/soc-qcom-sdm845: depend on kmod (MR 4201)
Since linux 6.4.0 the SDM845 kernel uses compressed kernel modules, we
need to kmod version of modprobe to handle loading these, so depend on
it.

[ci:skip-build] already built
2023-07-20 16:35:24 +01:00
Caleb Connolly 4eb8b81d7b community/device-(sdm845): various fixes (MR 4201)
* Use zstd:fast compression for the ramdisk
* Delete obselete phoc.ini config files
* Fixup kernel cmdline args
2023-07-20 16:35:18 +01:00
Caleb Connolly 348b930e4a community/linux-postmarketos-qcom-sdm845: update to 6.4 (MR 4201)
Also enable stripping, switch to compressed modules, and use zstd for
ZRAM
2023-07-20 16:35:18 +01:00
DX37 447802c2e6 wexler-qc750: fix device startup (MR 4244)
after almost 3 years, I got my device not starting any UI, even console
figured out that framebuffer console activation fixed it

also enabled external storage, so i can install pmOS on sdcard, without fastboot 800 MB restrictions. nice
[ci:skip-build]: already built successfully in CI
2023-07-20 17:27:37 +02:00
Clayton Craft a1ee78900e main/postmarketos-mkinitfs: only run if deviceinfo exists (MR 4263)
In some situations, like when building a device package with pmb,
deviceinfo may not exist in the rootfs. mkinitfs 2.2's behavior changed
slightly to fail if it can't find a deviceinfo, and this avoids calling
it in those cases.

[ci:skip-build]: Already built successfully in CI
2023-07-20 17:20:11 +02:00
Barnabás Czémán 440e57fa50 device-xiaomi-daisy: drop downstream packages (MR 4260)
[ci:skip-build]: already built successfully in CI
2023-07-20 17:13:13 +02:00
anteater 3747b6cbd9 temp/gtk+3.0: upgrade to 3.24.37-2pureos3 (MR 4261) 2023-07-20 16:10:49 +02:00
Barnabás Czémán 0b3d223ac2 device-xiaomi-tissot: drop phosh configuration package (MR 4262) 2023-07-20 12:14:55 +02:00
Clayton Craft 94c1e706e6 postmarketos-mkinitfs: upgrade to 2.2 (MR 4190)
Changelog: https://gitlab.com/postmarketOS/postmarketos-mkinitfs/-/tags/2.2

[ci:skip-build] already built successfully in CI
2023-07-19 12:27:42 -07:00
Clayton CraftandPablo Correa Gómez 40bba0626f boot-deploy: upgrade to 0.9.1 (MR 4190)
In order to support recent changes in boot-deploy, this patch also
renames the config file to "os-customization" and installs it in the new
supported location.

Changelog: https://gitlab.com/postmarketOS/boot-deploy/-/tags/0.9
Changelog: https://gitlab.com/postmarketOS/boot-deploy/-/tags/0.9.1

Co-authored-by: Pablo Correa Gómez <ablocorrea@hotmail.com>
2023-07-19 12:27:36 -07:00
Affe Null 0225230ce5 nokia-weeknd: new device (Nokia 2780 Flip) (MR 4257)
[ci:skip-vercheck]
[ci:skip-build]: Already built successfully in CI
2023-07-19 13:41:05 +02:00
Affe Null 05f591716e linux-postmarketos-qcom-msm8917: close-to-mainline kernel for QM215/MSM8917 (MR 4257) 2023-07-19 13:40:58 +02:00
Affe Null 0f36d48161 soc-qcom-msm8909: enable aarch64 architecture for similar SoCs (MR 4257) 2023-07-19 13:40:58 +02:00
Mighty 62b4175130 linux-postmarketos-omap: Remove _pkgver variable (MR 4253)
[ci:skip-build]: Already built successfully in CI
2023-07-19 12:17:00 +02:00
Mighty 50e1216a1f linux-postmarketos-omap: upgrade to 6.4.3 (MR 4253)
Also remove CONFIG_NO_HZ
https://lore.kernel.org/lkml/20220825162034.5901-1-newbie13xd@gmail.com/T/
2023-07-19 12:16:57 +02:00
Barnabás Czémán 2c3d69e439 device-xiaomi-mido: add panel drivers to initramfs (MR 4251)
Add panel driver to initramfs for fix spalshscreen.
2023-07-19 12:09:35 +02:00
Barnabás Czémán 065a85ddc4 device-xiaomi-daisy: add panel drivers to initramfs (MR 4258)
Add panel driver to initramfs for fix spalshscreen.
2023-07-19 12:02:47 +03:00
Raymond Hackley 9eb1f85339 firmware-samsung-e7: Drop released year in $_name (MR 4255)
There is only one Galaxy E7 released in 2015. Drop redundant year suffix.

[ci:skip-build]: already built successfully in CI
2023-07-18 08:29:18 +02:00
M0Rf30 300f1ce660 linux-postmarketos-qcom-msm8953: upgrade to 6.4.0 (MR 4248)
[ci:skip-build]: already built successfully in CI
2023-07-18 08:24:16 +02:00
Stefan Hansson 7e899024db linux-postmarketos-exynos4: upgrade to 6.4.2 (MR 4241)
[ci:skip-build]: already built successfully in CI
2023-07-18 08:19:11 +02:00
Willow Barraco 39d38a6314 main/sxmo-common-audio: remove (MR 4242)
drop in favor of sxmo-utils and subpackages

[ci:skip-build] already built successfully in CI
2023-07-17 13:08:59 -07:00
Willow Barraco 92554e9bb5 main/sxmo-common: remove (MR 4242)
drop in favor of sxmo-utils and subpackages
2023-07-17 13:08:59 -07:00
Willow Barraco 26efb302d9 main/postmarketos-base-ui-phosh: depends on base-ui qt-tweaks and qt-mobile (MR 4242) 2023-07-17 13:08:58 -07:00
Willow Barraco 01a5c18735 main/postmarketos-base-ui: new qt-tweaks and qt-wayland submodules (MR 4242)
This is a refactorisation from the sxmo-common-qt_tweaks and
postmarketos-base-ui-phosh-qt_tweaks.
2023-07-17 13:08:58 -07:00
Willow Barraco 490618f458 main/postmarketos-ui-sxmo-de-sway: move deps to aports (MR 4242) 2023-07-17 13:08:58 -07:00
Willow Barraco de35a48aa0 main/postmarketos-ui-sxmo-de-dwm: move deps to aports (MR 4242) 2023-07-17 13:08:57 -07:00
Stefan Hansson 154ff85adf linux-purism-librem5: upgrade to 6.4.1 (MR 4240)
[ci:skip-build] already built successfully in CI
2023-07-17 11:43:20 -07:00
Dylan Van Assche ab32a3642c device-odroid-hc2: move to testing (MR 4239)
ODROID HC2 boards are out-of-use by the maintainer.
Move to testing and remove maintainer.

[ci:skip-build] already built successfully in CI
[ci:skip-vercheck]
2023-07-17 11:35:31 -07:00
Arnav Singh de08bca311 main/postmarketos-{base-ui,config-nftables}: reorganize NM configs and scripts (MR 4254)
1. Move all configs from /etc/NetworkManager/conf.d to
   /usr/lib/NetworkManager/conf.d since the latter is more appropriate for
   distribution-provided config files. In particular this means apk will
   update them when the package file is changed rather than creating
   `.apk-new` files. If a user wants to override such a file, they can create
   a file with the same name under /etc/NetworkManager/conf.d

2. Move all dispatcher scripts from /etc/NetworkManager/dispatcher.d to
   /usr/lib/NetworkManager/dispatcher.d for the same reason.

3. Rename all configs to have a "50-" prefix so that users can add their own
   "99-" overrides with a guarantee that they'll be processed after
   distribution-provided configs.

4. Rename dispatcher scripts to have a "50-" prefix instead of "85-" and "99-"
   since they're distribution-provided files.

5. Move 50-tethering.conf from the base-ui package to
   the base-ui-networkmanager package.

There are also some device packages that put config files without a numeric
prefix in /etc/NetworkManager/conf.d . This MR doesn't change those.

[ci:skip-build] already built successfully in CI
2023-07-17 10:06:52 -07:00
Oliver Smith bf8bbc9a88 cross/gcc-*: upgrade to 13.1.1_git20230715-r1 2023-07-17 08:44:21 +02:00
Dylan Van Assche 4e0229f789 main/postmarketos-base-ui: randomize MAC address with NetworkManager (MR 4217)
Configure NetworkManager to randomize the MAC address during WLAN scans
and of WLAN and Ethernet ifaces per connection. This reduces the
possible tracking that might occur based on MAC addresses with WiFi
hotspots. This matches the behavior of Android: it uses a random MAC
address during a WLAN scan and a random one per connection.

[ci:skip-build]: already built successfully in CI
2023-07-14 09:55:46 +02:00
Clayton Craft ed0e80f329 shift-axolotl: include correct touchscreen driver in the initramfs (MR 4246)
This is necessary for enabling touchscreen support in FDE apps
2023-07-11 12:09:26 +02:00
Anton Bambura a86442b472 google-kenzo: fix elan modules (MR 4243) 2023-07-11 11:25:54 +02:00
Anton Bambura e92889280c google-kappa: fix elan modules (MR 4243) 2023-07-11 11:25:53 +02:00
Anton Bambura b4b69df341 google-hana: remove useless module (MR 4243) 2023-07-11 11:25:53 +02:00
Anton Bambura e6af038e83 google-fennel14: fix elan module (MR 4243) 2023-07-11 11:25:53 +02:00
Anton Bambura 206d963026 google-fennel: fix elan module (MR 4243) 2023-07-11 11:25:53 +02:00
Anton Bambura 1cbf491070 google-elm: remove useless module (MR 4243) 2023-07-11 11:25:53 +02:00
Anton Bambura 45e5d826cf google-damu: fix elan module (MR 4243) 2023-07-11 11:25:53 +02:00
Anton Bambura 49a14c0daf google-bob: fix elan module (MR 4243) 2023-07-11 11:25:53 +02:00
Rudraksha Gupta 50dd205fd8 cross/gcc-*: upgrade to 13.1.1_git20230708-r0 (MR 4247)
[ci:skip-build]: already built successfully in CI
2023-07-10 23:21:52 -04:00
Pablo Correa Gómez 38ce112cdf main/postmarketos-initramfs: load modules also from /lib/modules/initramfs.load (MR 4193)
Make it possible to load modules from the file installed by devicepkg-dev,
that will be there when extra modules are needed. This is coded in a
backwards-compatible way, so that it can be independent of the main modules
MR.

The code changes create a new function which takes a list of modules
and possibly a file (that should contain a list of modules too). The
idea is to be able to support also loading modules for initramfs-extra
in the future, and having a similar file would be more convenient than
extracting all the modules each time. In addition, the "[ -d /lib/modules]"
check has been removed. If there's no modules directory, as all
modules might be built-in, modprobe will fail, but that will not be
fatal. This will most likely only exclusively happen in some android
downstream kernel, so it should not be a big concern.
2023-07-10 11:07:51 -07:00
Pablo Correa Gómez f3c7308f6f main/devicepkg-dev: install modules file into initramfs (MR 4193)
So that the initramfs can get the list of modules that need to be loaded
once the deviceinfo_modules_initfs variable is gone
2023-07-10 11:07:32 -07:00
Pablo Correa Gómez 65be0d7e81 main/devicepkg-dev: automatically package modules into initramfs (MR 4193)
To simplify the future removal of deviceinfo_modules_initfs
2023-07-10 11:07:19 -07:00
Stefan Hansson 53ea67b177 cross/musl-*: upgrade to 1.2.4-r5 2023-07-10 19:09:35 +02:00
Oliver Smith 763f75c9ba channels.cfg: mark v22.12 as unsupported 2023-07-10 08:25:23 +02:00
M0Rf30 d3fd1f5e3c linux-postmarketos-qcom-msm8953: enable Samsung S6E3FA7 panel module (MR 4235)
[ci:skip-build]: already built successfully in CI
2023-07-08 19:18:13 +02:00
Henrik Grimler f774de5b6a firmware-samsung-klimt: add downstream and mainline subpkgs (MR 4238)
For downstream kernel we have wifi files from android, while for
mainline we pull in linux-firmware-other which contains mfc firmware.
2023-07-08 19:15:51 +02:00
Henrik Grimler 9d3a8332cd firmware-samsung-chagall: add downstream and mainline subpkgs (MR 4238)
For downstream kernel we have wifi files from android, while for
mainline we pull in linux-firmware-other which contains mfc firmware.
2023-07-08 19:15:50 +02:00
Henrik Grimler 139b6bdea3 firmware-odroid-xu4: depend on linux-firmware-other for mfc firmware (MR 4238) 2023-07-08 19:15:41 +02:00
Luca Weiss 81fbe5a74e main/postmarketos-mkinitfs-hook-debug-shell: add telnetd to initramfs files (MR 4237)
Since we've now finally removed telnetd from the main initramfs but we
still need telnetd for the debug-shell, add it to the files for that
hook.

Also make sure the list of files is sorted.
2023-07-08 19:06:33 +02:00
Luca Weiss 87ef850e88 main/postmarketos-initramfs: remove telnetd from initramfs (MR 4237)
This appears to be an ancient leftover from the telnet-based FDE
unlocking mechanism that has been present many many years ago.

But since this was removed a while ago, it's time to also finally remove
telnetd from the initramfs.
2023-07-08 19:06:29 +02:00
Luca Weiss de9808d904 linux-postmarketos-qcom-sm6350: upgrade to 6.4.2 (MR 4236)
[ci:skip-build]: Already built successfully in CI
2023-07-08 10:35:15 +02:00
Oliver Smith 64890d86ee cross/busybox-static-*: upgrade to 1.36.1-r3 2023-07-07 09:34:34 +02:00
Luca Weiss ae43410d9e linux-motorola-perry: resolve apkbuild-lint error (MR 4230)
When rebuilding this package it seems the checksum doesn't match
anymore because the repository was moved to a different name and
therefore github changes the resulting tarball. Update the URLs in the
APKBUILD to follow this redirect.

[ci:skip-vercheck] # just APKBUILD style changes for some packages
[ci:skip-build]: already built successfully in CI
2023-07-07 09:28:57 +02:00
Luca Weiss df89903082 modem/libqipcrtr4msmipc: improve APKBUILD formatting (MR 4230)
Also resolve apkbuild-lint errors.
2023-07-07 09:28:57 +02:00
Luca Weiss 7dbb476f4d gps-nokia-n900: improve APKBUILD formatting (MR 4230)
Also resolve apkbuild-lint errors.
2023-07-07 09:28:52 +02:00
Anton Bambura dd5f448bee main/postmarketos-mkinitfs-hook-apx: new aport (MR 4231)
Nvidia Tegra devices have APX mode which allows to flash/debrick
a device even with broken bootloader. It also allows to sideload
bootloader which is useful when porting a new bootloader.

Some devices have a key combination to enter this mode, some devices
don't have one. This hook alters two Tegra PMC registers which
causes device to enter APX mode. It works on the most devices
including some of those that don't have a key combination for APX.

Usage:
pmbootstrap initfs hook_add apx
pmbootstrap flasher boot

[ci:skip-build]: already built successfully in CI
2023-07-07 09:00:01 +02:00
Oliver Smith 757aa80636 main/postmarketos-ui-plasma-bigscreen: enable aarch64 (MR 4233)
The ovos package is now available in Alpine for aarch64 too. Enabling
the package for aarch64 again fixes the currently failing bpo images for
master:pine64-rockpro64:plasma-bigscreen.

[ci:skip-vercheck]: modifying arches only
[ci:skip-build]: already built successfully in CI
2023-07-06 08:11:13 +02:00
Sicelo A. Mhlongo 7495be948b device-nokia-n900: block non-critical modules (MR 4227)
* modem-related modules seem partly responsible for recent l3 firewall
     timeouts and kernel crashes.
 * rx51-battery can be used to get battery design capacity, but not required
    for general running of the system blacklist other
 * modules that can impact power consumption on the N900

Completely disabling the modules in kernel config is unnecessary, since they
are all useful for some users

[ci:skip-build]: already built successfully in CI
2023-07-06 07:30:03 +02:00
Max Buchholz c1d23e5fdb sony-pioneer: new device (MR 4207)
Note by ollieparanoid:
Based on Konrad Dybcio's great work in MR 1645.

[ci:skip-build]: already built successfully in CI
2023-07-05 23:00:36 +02:00
Petr Hodina 54d42e22be device-pine64-pinenote: add dependency on linux-firmware (MR 4142)
firmware-pine64-pinenote: remove Wifi and Bluetooth drivers

[ci:skip-build]: Already built successfully in CI
2023-07-05 22:13:32 +02:00
Petr Hodina b63b67e8a0 device-pine64-pinenote: add gnome package and configuration file (MR 4142)
- add confiuration information about the touchscreen for libinput
- add package gnome-shell-extension-pinenote for gnome subpackage
- add udev rules
2023-07-05 22:13:32 +02:00
Petr Hodina b9c3ee99cd postmarketos-base-eink: add gnome subpackage (MR 4142)
- add dconf file
- add backlight udev rule
2023-07-05 22:13:31 +02:00
Petr Hodina 764d6f8772 gnome-shell-theme-e-ink: new aport (MR 4142) 2023-07-05 22:13:31 +02:00
Petr Hodina 4658a9c35d gnome-shell-extension-pinenote: new aport (MR 4142) 2023-07-05 22:13:31 +02:00
Petr Hodina 5b0cfb6a2b pinenote-dbus-service: new aport (MR 4142) 2023-07-05 22:13:31 +02:00
Petr Hodina 939f6b6a36 linux-pine64-pinenote: upgrade to 6.2.0 (MR 4142) 2023-07-05 22:13:31 +02:00
Oliver Smith e073914c01 main/mobile-config-firefox: upgrade to 4.0.3 (MR 4232)
[ci:skip-build]: already built successfully in CI
2023-07-05 22:10:57 +02:00
Henrik Grimler 629bde0adb odroid-u2: new device (MR 4019) 2023-07-05 21:56:13 +02:00
Sicelo A. Mhlongo 62d4d0c62a linux-postmarketos-omap: Fix volume keys on N900 (MR 4228)
The N900 volume keys were configured to produce F7 and F8 in Maemo Fremantle.
Set them to normal volume keys to restore expected behavior

[ci:skip-build]: Already built successfully in CI
2023-07-05 21:51:08 +02:00
methanal 58690846bb samsung-on7xelte: new device (MR 4220)
[ci:skip-build]: already built successfully in CI
2023-07-05 18:47:32 +02:00
M0Rf30 d49c15000f linux-postmarketos-qcom-msm8953: enable battery on xiaomi-mido (MR 4229)
[ci:skip-build]: already built successfully in CI
2023-07-05 18:43:52 +02:00
M0Rf30 ff3e1ab038 xiaomi-vince: add ALSA ucm2 profile (MR 4224)
[ci:skip-build]: already built successfully in CI
2023-07-05 10:00:56 +02:00
M0Rf30 81594d2745 linux-postmarketos-qcom-msm8953: enable soundcard on xiaomi-vince (MR 4226)
[ci:skip-build]: already built successfully in CI
2023-07-05 09:57:18 +02:00
Luca Weiss 78cbceb756 cross/musl-*: upgrade to 1.2.4-r2 (MR 4225)
[ci:skip-build]: already built successfully in CI
2023-07-04 21:02:55 +02:00
Barnabás Czémán ab3bcfe071 xiaomi-ysl: new device (MR 4199) 2023-07-04 18:58:29 +02:00
Anton Bambura 97c5995c7c linux-google-nyan: remove depthcharge workaround (MR 4222)
It is not needed since depthcharge 0.6.2
2023-07-04 17:57:45 +02:00
M0Rf30 3bb2859c98 linux-postmarketos-qcom-msm8953: fix motorola-potter panel initialization (MR 4219)
[ci:skip-build]: already built successfully in CI
2023-07-03 19:30:59 +02:00
Pablo Correa Gómez 32336fbd00 temp/gnome-shell-mobile: sync with upstream (MR 4210)
Adds desktop-file-utils following upstream changes:
https://git.alpinelinux.org/aports/commit/?id=01c1be3932404333bbf371cade1674e95c08a795

Fixes #1447
[ci:skip-build]: already built successfully in CI
2023-07-03 19:13:56 +02:00
Stefan Hansson b59aac214c cross/gcc-*: upgrade to 13.1.1_git20230701-r0 2023-07-03 06:15:03 +02:00
Sergey Lisov 51c564d256 samsung-a6lte: mainline kernel update (MR 4026)
Add clock controller, USB, GPU, exynos-reboot & hardware buttons support

[ci:skip-build]: Already built successfully in CI
2023-07-02 10:06:08 +02:00
Sergey Lisov 73a9100e13 temp/mesa-dri-simpledrm: new package (MR 4026)
This package provides a KMSRO stub for simpledrm, allowing GPU drivers from Mesa to work with it.
2023-07-02 10:06:08 +02:00
Anton Bambura b8e23f13fd linux-postmarketos-rockchip: enable elan i2c touchpad (MR 4216)
This should fix touchpad on google-bob
2023-07-02 06:44:08 +03:00
5140 changed files with 28925 additions and 1714916 deletions

No files matched your search

-1
View File
@@ -1 +0,0 @@
lib/build_changed_aports.sh
-1
View File
@@ -1 +0,0 @@
lib/build_changed_aports.sh
-1
View File
@@ -1 +0,0 @@
lib/build_changed_aports.sh
+7
View File
@@ -45,3 +45,10 @@ if grep --exclude='source_deviceinfo' -qEr 'source /etc/deviceinfo|\. /etc/devic
grep --color=always --exclude='rootfs-usr-share-misc-source_deviceinfo' -Er 'source /etc/deviceinfo|\. /etc/deviceinfo' -- *
exit 1
fi
# Removed deviceinfo variable
if grep -qr 'deviceinfo_modules_initfs' -- *; then
echo 'ERROR: deviceinfo_modules_initfs variable has been removed. Use "modules-initfs" file instead.'
grep --color=always -r 'deviceinfo_modules_initfs' -- *
exit 1
fi
+3 -3
View File
@@ -17,12 +17,12 @@ sh_files="
./main/mdss-fb-init-hack/mdss-fb-init-hack.sh
./main/osk-sdl/unlock.sh
./main/postmarketos-base/rootfs-usr-lib-firmwareload.sh
./main/postmarketos-base-ui/rootfs-etc-NetworkManager-dispatcher.d-99-dns-filter.sh
./main/postmarketos-base-ui/rootfs-etc-NetworkManager-dispatcher.d-85-tethering
./main/postmarketos-base-ui/rootfs-usr-lib-NetworkManager-dispatcher.d-50-tethering.sh
./main/postmarketos-installkernel/installkernel-pmos
./main/postmarketos-initramfs/init.sh
./main/postmarketos-initramfs/init_functions.sh
./main/postmarketos-mkinitfs-hook-debug-shell/20-debug-shell.sh
./main/postmarketos-mkinitfs-hook-debug-shell/setup_usb_storage.sh
./main/postmarketos-mkinitfs-hook-netboot/netboot.sh
./main/postmarketos-update-kernel/update-kernel.sh
./main/ttyescape/*.post-install
@@ -48,5 +48,5 @@ sh_files="
for file in $sh_files; do
echo "Test with shellcheck: $file"
cd "$DIR/$(dirname "$file")"
shellcheck -e SC1008 -x "$(basename "$file")"
shellcheck -e SC1008 -e SC3043 -x "$(basename "$file")"
done
@@ -7,7 +7,7 @@ import sys
import os
import importlib
import importlib.util
from distutils.sysconfig import get_python_lib
from site import getsitepackages
def path_pmbootstrap():
@@ -24,13 +24,14 @@ def path_pmbootstrap():
sys.exit(1)
# Resolve the symlink and verify the folder
dir = os.path.dirname(os.path.realpath(bin))
if os.path.exists(dir + "/pmb/__init__.py"):
return dir
directory = os.path.dirname(os.path.realpath(bin))
if os.path.exists(directory + "/pmb/__init__.py"):
return directory
dir = get_python_lib()
if os.path.exists(dir + "/pmb/__init__.py"):
return dir
directories = getsitepackages()
for directory in directories:
if os.path.exists(directory + "/pmb/__init__.py"):
return directory
# Symlink not set up properly
print("ERROR: 'pmbootstrap' is not a symlink to pmbootstrap.py")
+1 -1
View File
@@ -30,7 +30,7 @@ def test_directories():
# Ensure no file in pmaports are executable.
# see https://gitlab.com/postmarketOS/pmaports/-/issues/593.
def test_executable_files():
for file in glob.iglob("**/*", recursive=True):
for file in glob.iglob("[!temp]**/**/*", recursive=True):
if os.path.isdir(file) or os.path.islink(file):
continue
# still check other less common inode types
+2 -1
View File
@@ -1,3 +1,4 @@
{
"SpacesAftertabs": true
"SpacesAftertabs": true,
"Exclude": ["temp"]
}
+2 -17
View File
@@ -18,7 +18,7 @@ stages:
# https://docs.gitlab.com/ee/ci/merge_request_pipelines/index.html#excluding-certain-jobs
.only-default: &only-default
only:
- master
- v23.12
- merge_requests
- tags
@@ -100,7 +100,7 @@ kernel-kconfig:
stage: lint
only:
refs:
- master
- v23.12
- merge_requests
changes:
- device/*/linux-*/config-*
@@ -140,11 +140,6 @@ build-x86_64:
script:
- .ci/build-x86_64.sh
build-x86:
extends: .build
script:
- .ci/build-x86.sh
build-aarch64:
extends: .build
script:
@@ -154,13 +149,3 @@ build-armv7:
extends: .build
script:
- .ci/build-armv7.sh
build-armhf:
extends: .build
script:
- .ci/build-armhf.sh
build-riscv64:
extends: .build
script:
- .ci/build-riscv64.sh
-51
View File
@@ -1,51 +0,0 @@
# Reference: https://postmarketos.org/channels.cfg
[channels.cfg]
recommended=edge
[edge]
description=Rolling release / Most devices / Occasional breakage: https://postmarketos.org/edge
branch_pmaports=master
branch_aports=master
mirrordir_alpine=edge
[v23.06]
description=Latest release / Recommended for best stability
branch_pmaports=v23.06
branch_aports=3.18-stable
mirrordir_alpine=v3.18
[v22.12]
description=Old release (supported until: 2023-07-07)
branch_pmaports=v22.12
branch_aports=3.17-stable
mirrordir_alpine=v3.17
[v22.06]
description=Old release (unsupported)
branch_pmaports=v22.06
branch_aports=3.16-stable
mirrordir_alpine=v3.16
[v21.12]
description=Old release (unsupported)
branch_pmaports=v21.12
branch_aports=3.15-stable
mirrordir_alpine=v3.15
[v21.06]
description=Old release (unsupported)
branch_pmaports=v21.06
branch_aports=3.14-stable
mirrordir_alpine=v3.14
[v21.03]
description=Old release (unsupported)
branch_pmaports=v21.03
branch_aports=3.13-stable
mirrordir_alpine=v3.13
[v20.05]
description=Old release (unsupported)
branch_pmaports=v20.05
branch_aports=3.12-stable
mirrordir_alpine=v3.12
@@ -1,55 +0,0 @@
From bbf05b742fde518fb97c789b043fe0d3aaf549f0 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Tue, 21 Sep 2021 14:53:13 +0000
Subject: [PATCH] Revert "PR25882, .gnu.attributes are not checked for shared
libraries"
This revert is needed to avoid wrongly tagging objects with the incompatible
IBM long double ABI, which is not supported by musl and will result in
linking errors if used.
This reverts commit a8acd6eeb6dc2cc5460ece90f90ebe36b56b20ba.
---
bfd/elf32-tic6x.c | 3 ---
ld/ldlang.c | 10 ++++------
2 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/bfd/elf32-tic6x.c b/bfd/elf32-tic6x.c
index 5754f3cb860..3ad1d612749 100644
--- a/bfd/elf32-tic6x.c
+++ b/bfd/elf32-tic6x.c
@@ -3735,9 +3735,6 @@ elf32_tic6x_merge_attributes (bfd *ibfd, struct bfd_link_info *info)
case Tag_ABI_PIC:
case Tag_ABI_PID:
- /* Don't transfer these tags from dynamic objects. */
- if ((ibfd->flags & DYNAMIC) != 0)
- continue;
if (out_attr[i].i > in_attr[i].i)
out_attr[i].i = in_attr[i].i;
break;
diff --git a/ld/ldlang.c b/ld/ldlang.c
index 37b64c89ee1..f13beaef9d9 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -7071,13 +7071,11 @@ lang_check (void)
bfd_printable_name (input_bfd), input_bfd,
bfd_printable_name (link_info.output_bfd));
}
-
- /* If the input bfd has no contents, it shouldn't set the
- private data of the output bfd. */
- else if (!file->flags.just_syms
- && ((input_bfd->flags & DYNAMIC) != 0
- || bfd_count_sections (input_bfd) != 0))
+ else if (bfd_count_sections (input_bfd))
{
+ /* If the input bfd has no contents, it shouldn't set the
+ private data of the output bfd. */
+
bfd_error_handler_type pfn = NULL;
/* If we aren't supposed to warn about mismatched input
--
2.33.0
-153
View File
@@ -1,153 +0,0 @@
# Automatically generated aport, do not edit!
# Generator: pmbootstrap aportgen binutils-aarch64
# Based on: main/binutils
CTARGET_ARCH=aarch64
CTARGET="$(arch_to_hostspec $CTARGET_ARCH)"
pkgname=binutils-aarch64
pkgver=2.40
pkgrel=12
pkgdesc="Tools necessary to build programs for aarch64 targets"
url="https://www.gnu.org/software/binutils/"
makedepends_build="bison flex texinfo"
makedepends_host="zlib-dev jansson-dev zstd-dev"
arch="x86_64"
license="GPL-2.0-or-later AND LGPL-2.1-or-later AND BSD-3-Clause"
subpackages="binutils-dev binutils-doc"
source="https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz
0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
CVE-2023-1972.patch
binutils-ld-fix-static-linking.patch
riscv64-textrels.patch
"
builddir="$srcdir/binutils-$pkgver"
if [ -z "$BOOTSTRAP" ]; then
makedepends_host="$makedepends_host jansson-dev zstd-dev"
_noboot_configure="--enable-jansson --with-zstd"
fi
if [ "$CHOST" = "$CBUILD" ] && [ "$CBUILD" = "$CTARGET" ] && [ "$CTARGET_ARCH" != "riscv64" ]; then
subpackages="$subpackages binutils-gold"
fi
if [ "$CHOST" != "$CTARGET" ]; then
pkgname="binutils-$CTARGET_ARCH"
subpackages=""
sonameprefix="binutils:"
fi
# secfixes:
# 2.40-r10:
# - CVE-2023-1972
# 2.40-r0:
# - CVE-2023-1579
# 2.39-r2:
# - CVE-2022-38533
# 2.39-r0:
# - CVE-2022-38126
# 2.35.2-r1:
# - CVE-2021-3487
# 2.32-r0:
# - CVE-2018-19931
# - CVE-2018-19932
# - CVE-2018-20002
# - CVE-2018-20712
# 2.28-r1:
# - CVE-2017-7614
build() {
local _sysroot=/
local _cross_configure="--enable-install-libiberty --enable-shared"
local _arch_configure=""
local _gold_configure="--disable-gold"
local _plugin_configure="--enable-plugins"
if [ "$CHOST" != "$CTARGET" ]; then
_sysroot="$CBUILDROOT"
_cross_configure="--disable-install-libiberty"
_plugin_configure="--disable-plugins"
fi
if [ "$CHOST" = "$CBUILD" ] && [ "$CBUILD" = "$CTARGET" ] && [ "$CTARGET_ARCH" != "riscv64" ]; then
_gold_configure="--enable-gold"
fi
if [ "$CTARGET_ARCH" = "x86_64" ]; then
_arch_configure="--enable-targets=x86_64-pep"
fi
if [ "$CTARGET_ARCH" = "riscv64" ]; then
_gold_configure="--disable-gold"
fi
CFLAGS="$CFLAGS -O2" \
CXXFLAGS="$CXXFLAGS -O2" \
./configure \
--build=$CBUILD \
--host=$CHOST \
--target=$CTARGET \
--with-build-sysroot="$CBUILDROOT" \
--with-sysroot=$_sysroot \
--prefix=/usr \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--sysconfdir=/etc \
$_arch_configure \
$_cross_configure \
$_gold_configure \
$_plugin_configure \
$_noboot_configure \
--disable-gprofng \
--disable-multilib \
--disable-nls \
--disable-werror \
--enable-64-bit-bfd \
--enable-colored-disassembly \
--enable-default-execstack=no \
--enable-default-hash-style=gnu \
--enable-deterministic-archives \
--enable-ld=default \
--enable-new-dtags \
--enable-relro \
--enable-threads \
--with-bugurl="https://postmarketos.org/issues" \
--with-mmap \
--with-pic \
--with-system-zlib
make
}
package() {
make install DESTDIR="$pkgdir"
if [ -d "$pkgdir"/usr/lib64 ]; then
mv "$pkgdir"/usr/lib64/* "$pkgdir"/usr/lib/
rmdir "$pkgdir"/usr/lib64
fi
if [ "$CHOST" != "$CTARGET" ]; then
# creating cross tools: remove any files that would conflict
# with the native tools, or other cross tools
rm -r "${pkgdir:?}"/usr/share
rm -f "$pkgdir"/usr/lib/libiberty.a
rm -r "${pkgdir:?}"/usr/lib/bfd-plugins
fi
}
gold() {
pkgdesc="GNU binutils - gold linker"
if [ -e "$pkgdir"/usr/bin/ld.gold ]; then
amove usr/bin/ld.gold
fi
amove usr/$CTARGET/bin/ld.gold
}
sha512sums="
a37e042523bc46494d99d5637c3f3d8f9956d9477b748b3b1f6d7dfbb8d968ed52c932e88a4e946c6f77b8f48f1e1b360ca54c3d298f17193f3b4963472f6925 binutils-2.40.tar.xz
70ec22bd72ef6dddecfd970613387dd4a8cdc8730dd3cbf03d5a0c3a7c4d839383167bb06dad21bf7c235329fd44b5dc4aefe762f68544f17155cf002bf1be4a 0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
b434e126c4c3f70c02b0a5597a0d75a4ea99b1498552c2d0676005ac0ae171c56cf07a6f6e2faa1381f1f4d4a37043a07d177dd4912f09b61109f103853594b2 CVE-2023-1972.patch
ecee33b0e435aa704af1c334e560f201638ff79e199aa11ed78a72f7c9b46f85fbb227af5748e735fd681d1965fcc42ac81b0c8824e540430ce0c706c81e8b49 binutils-ld-fix-static-linking.patch
d138691d953c6f49111601df1731db157d2ecedf1593e37ababb5c12ff10572b5f7982288c81579f4a99097780dbb18d3b457f74daab0f935f59423e69cec56f riscv64-textrels.patch
"
@@ -1,37 +0,0 @@
Patch-Source: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=c22d38baefc5a7a1e1f5cdc9dbb556b1f0ec5c57;hp=f2f9bde5cde7ff34ed0a4c4682a211d402aa1086
https://sourceware.org/bugzilla/show_bug.cgi?id=30285
--
From: Nick Clifton <nickc@redhat.com>
Date: Thu, 30 Mar 2023 09:10:09 +0000 (+0100)
Subject: Fix an illegal memory access when an accessing a zer0-lengthverdef table.
X-Git-Url: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=c22d38baefc5a7a1e1f5cdc9dbb556b1f0ec5c57;hp=f2f9bde5cde7ff34ed0a4c4682a211d402aa1086
Fix an illegal memory access when an accessing a zer0-lengthverdef table.
PR 30285
* elf.c (_bfd_elf_slurp_version_tables): Fail if no version definitions are allocated.
---
diff --git a/bfd/elf.c b/bfd/elf.c
index 027d0143735..185028cbd97 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -9030,6 +9030,9 @@ _bfd_elf_slurp_version_tables (bfd *abfd, bool default_imported_symver)
bfd_set_error (bfd_error_file_too_big);
goto error_return_verdef;
}
+
+ if (amt == 0)
+ goto error_return_verdef;
elf_tdata (abfd)->verdef = (Elf_Internal_Verdef *) bfd_zalloc (abfd, amt);
if (elf_tdata (abfd)->verdef == NULL)
goto error_return_verdef;
@@ -9133,6 +9136,8 @@ _bfd_elf_slurp_version_tables (bfd *abfd, bool default_imported_symver)
bfd_set_error (bfd_error_file_too_big);
goto error_return;
}
+ if (amt == 0)
+ goto error_return;
elf_tdata (abfd)->verdef = (Elf_Internal_Verdef *) bfd_zalloc (abfd, amt);
if (elf_tdata (abfd)->verdef == NULL)
goto error_return;
@@ -1,46 +0,0 @@
This fixes static linking for our hardened toolchain
diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc
index e8126cb..9532bfb 100644
--- a/ld/scripttempl/elf.sc
+++ b/ld/scripttempl/elf.sc
@@ -235,8 +235,8 @@ test "${LARGE_SECTIONS}" = "yes" && LARGE_SECTIONS="
if test "${ENABLE_INITFINI_ARRAY}" = "yes"; then
SORT_INIT_ARRAY="KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*)))"
SORT_FINI_ARRAY="KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*)))"
- CTORS_IN_INIT_ARRAY="EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .ctors"
- DTORS_IN_FINI_ARRAY="EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .dtors"
+ CTORS_IN_INIT_ARRAY="EXCLUDE_FILE (*crtbegin*.o *crtend*.o $OTHER_EXCLUDE_FILES) .ctors"
+ DTORS_IN_FINI_ARRAY="EXCLUDE_FILE (*crtbegin*.o *crtend*.o $OTHER_EXCLUDE_FILES) .dtors"
else
SORT_INIT_ARRAY="KEEP (*(SORT(.init_array.*)))"
SORT_FINI_ARRAY="KEEP (*(SORT(.fini_array.*)))"
@@ -270,15 +270,14 @@ CTOR=".ctors ${CONSTRUCTING-0} :
doesn't matter which directory crtbegin.o
is in. */
- KEEP (*crtbegin.o(.ctors))
- KEEP (*crtbegin?.o(.ctors))
+ KEEP (*crtbegin*.o(.ctors))
/* We don't want to include the .ctor section from
the crtend.o file until after the sorted ctors.
The .ctor section from the crtend file contains the
end of ctors marker and it must be last */
- KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .ctors))
+ KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
${CONSTRUCTING+${CTOR_END}}
@@ -286,9 +285,8 @@ CTOR=".ctors ${CONSTRUCTING-0} :
DTOR=".dtors ${CONSTRUCTING-0} :
{
${CONSTRUCTING+${DTOR_START}}
- KEEP (*crtbegin.o(.dtors))
- KEEP (*crtbegin?.o(.dtors))
- KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .dtors))
+ KEEP (*crtbegin*.o(.dtors))
+ KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
${CONSTRUCTING+${DTOR_END}}
@@ -1,103 +0,0 @@
Patch-Source: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=225df051d3d4cf714d1791b9035966a6686b3f3d;hp=a70d5ba34cb64bbbb7df4f3055cf5b1967bdf61e#patch1
https://sourceware.org/bugzilla/show_bug.cgi?id=25694
--
From: Nelson Chu <nelson@nelson.ba.rivosinc.com>
Date: Thu, 4 May 2023 09:08:50 +0000 (+0800)
Subject: [PR ld/22263][PR ld/25694] RISC-V: Avoid dynamic TLS relocs in PIE.
X-Git-Url: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=225df051d3d4cf714d1791b9035966a6686b3f3d;hp=a70d5ba34cb64bbbb7df4f3055cf5b1967bdf61e
[PR ld/22263][PR ld/25694] RISC-V: Avoid dynamic TLS relocs in PIE.
Lots of targets already fixed the TEXTREL problem for TLS in PIE.
* For PR ld/25694,
In the check_reloc, refer to spare and loongarch, they don't need to reserve
any local dynamic reloc for TLS LE in pie/pde, and similar to other targets.
So it seems like riscv was too conservative to estimate the TLS LE before.
Just break and don't goto static_reloc for TLS LE in pie/pde can fix the
TEXTREL problem.
* For PR ld/22263,
The risc-v code for TLS GD/IE in the relocate_section seems same as MIPS port.
So similar to MIPS, pr22570, commits 9143e72c6d4d and 1cb83cac9a89, it seems
also the right way to do the same thing for risc-v.
On risc-v, fixes
FAIL: Build pr22263-1
RISC-V haven't supported the TLS transitions, so will need the same fix (use
bfd_link_dll) in the future.
bfd/
PR ld/22263
PR ld/25694
* elfnn-riscv.c (riscv_elf_check_relocs): Replace bfd_link_pic with
bfd_link_dll for TLS IE. Don't need to reserve the local dynamic
relocation for TLS LE in pie/pde, and report error in pic just like
before.
(riscv_elf_relocate_section): For TLS GD/IE, use bfd_link_dll rather
than !bfd_link_pic in determining the dynamic symbol index. Avoid
the index of -1.
---
diff --git a/bfd/elfnn-riscv.c b/bfd/elfnn-riscv.c
index 75af040cf92..762ea231c0b 100644
--- a/bfd/elfnn-riscv.c
+++ b/bfd/elfnn-riscv.c
@@ -824,7 +824,7 @@ riscv_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
break;
case R_RISCV_TLS_GOT_HI20:
- if (bfd_link_pic (info))
+ if (bfd_link_dll (info))
info->flags |= DF_STATIC_TLS;
if (!riscv_elf_record_got_reference (abfd, info, h, r_symndx)
|| !riscv_elf_record_tls_type (abfd, h, r_symndx, GOT_TLS_IE))
@@ -920,11 +920,12 @@ riscv_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
goto static_reloc;
case R_RISCV_TPREL_HI20:
+ /* This is not allowed in the pic, but okay in pie. */
if (!bfd_link_executable (info))
return bad_static_reloc (abfd, r_type, h);
if (h != NULL)
riscv_elf_record_tls_type (abfd, h, r_symndx, GOT_TLS_LE);
- goto static_reloc;
+ break;
case R_RISCV_HI20:
if (bfd_link_pic (info))
@@ -2880,24 +2881,20 @@ riscv_elf_relocate_section (bfd *output_bfd,
if (htab->elf.srelgot == NULL)
abort ();
- if (h != NULL)
- {
- bool dyn, pic;
- dyn = htab->elf.dynamic_sections_created;
- pic = bfd_link_pic (info);
-
- if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, pic, h)
- && (!pic || !SYMBOL_REFERENCES_LOCAL (info, h)))
- indx = h->dynindx;
- }
+ bool dyn = elf_hash_table (info)->dynamic_sections_created;
+ if (h != NULL
+ && h->dynindx != -1
+ && WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, bfd_link_pic (info), h)
+ && (bfd_link_dll (info) || !SYMBOL_REFERENCES_LOCAL (info, h)))
+ indx = h->dynindx;
/* The GOT entries have not been initialized yet. Do it
now, and emit any relocations. */
- if ((bfd_link_pic (info) || indx != 0)
+ if ((bfd_link_dll (info) || indx != 0)
&& (h == NULL
|| ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
|| h->root.type != bfd_link_hash_undefweak))
- need_relocs = true;
+ need_relocs = true;
if (tls_type & GOT_TLS_GD)
{
@@ -1,55 +0,0 @@
From bbf05b742fde518fb97c789b043fe0d3aaf549f0 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Tue, 21 Sep 2021 14:53:13 +0000
Subject: [PATCH] Revert "PR25882, .gnu.attributes are not checked for shared
libraries"
This revert is needed to avoid wrongly tagging objects with the incompatible
IBM long double ABI, which is not supported by musl and will result in
linking errors if used.
This reverts commit a8acd6eeb6dc2cc5460ece90f90ebe36b56b20ba.
---
bfd/elf32-tic6x.c | 3 ---
ld/ldlang.c | 10 ++++------
2 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/bfd/elf32-tic6x.c b/bfd/elf32-tic6x.c
index 5754f3cb860..3ad1d612749 100644
--- a/bfd/elf32-tic6x.c
+++ b/bfd/elf32-tic6x.c
@@ -3735,9 +3735,6 @@ elf32_tic6x_merge_attributes (bfd *ibfd, struct bfd_link_info *info)
case Tag_ABI_PIC:
case Tag_ABI_PID:
- /* Don't transfer these tags from dynamic objects. */
- if ((ibfd->flags & DYNAMIC) != 0)
- continue;
if (out_attr[i].i > in_attr[i].i)
out_attr[i].i = in_attr[i].i;
break;
diff --git a/ld/ldlang.c b/ld/ldlang.c
index 37b64c89ee1..f13beaef9d9 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -7071,13 +7071,11 @@ lang_check (void)
bfd_printable_name (input_bfd), input_bfd,
bfd_printable_name (link_info.output_bfd));
}
-
- /* If the input bfd has no contents, it shouldn't set the
- private data of the output bfd. */
- else if (!file->flags.just_syms
- && ((input_bfd->flags & DYNAMIC) != 0
- || bfd_count_sections (input_bfd) != 0))
+ else if (bfd_count_sections (input_bfd))
{
+ /* If the input bfd has no contents, it shouldn't set the
+ private data of the output bfd. */
+
bfd_error_handler_type pfn = NULL;
/* If we aren't supposed to warn about mismatched input
--
2.33.0
-153
View File
@@ -1,153 +0,0 @@
# Automatically generated aport, do not edit!
# Generator: pmbootstrap aportgen binutils-armhf
# Based on: main/binutils
CTARGET_ARCH=armhf
CTARGET="$(arch_to_hostspec $CTARGET_ARCH)"
pkgname=binutils-armhf
pkgver=2.40
pkgrel=12
pkgdesc="Tools necessary to build programs for armhf targets"
url="https://www.gnu.org/software/binutils/"
makedepends_build="bison flex texinfo"
makedepends_host="zlib-dev jansson-dev zstd-dev"
arch="x86_64"
license="GPL-2.0-or-later AND LGPL-2.1-or-later AND BSD-3-Clause"
subpackages="binutils-dev binutils-doc"
source="https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz
0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
CVE-2023-1972.patch
binutils-ld-fix-static-linking.patch
riscv64-textrels.patch
"
builddir="$srcdir/binutils-$pkgver"
if [ -z "$BOOTSTRAP" ]; then
makedepends_host="$makedepends_host jansson-dev zstd-dev"
_noboot_configure="--enable-jansson --with-zstd"
fi
if [ "$CHOST" = "$CBUILD" ] && [ "$CBUILD" = "$CTARGET" ] && [ "$CTARGET_ARCH" != "riscv64" ]; then
subpackages="$subpackages binutils-gold"
fi
if [ "$CHOST" != "$CTARGET" ]; then
pkgname="binutils-$CTARGET_ARCH"
subpackages=""
sonameprefix="binutils:"
fi
# secfixes:
# 2.40-r10:
# - CVE-2023-1972
# 2.40-r0:
# - CVE-2023-1579
# 2.39-r2:
# - CVE-2022-38533
# 2.39-r0:
# - CVE-2022-38126
# 2.35.2-r1:
# - CVE-2021-3487
# 2.32-r0:
# - CVE-2018-19931
# - CVE-2018-19932
# - CVE-2018-20002
# - CVE-2018-20712
# 2.28-r1:
# - CVE-2017-7614
build() {
local _sysroot=/
local _cross_configure="--enable-install-libiberty --enable-shared"
local _arch_configure=""
local _gold_configure="--disable-gold"
local _plugin_configure="--enable-plugins"
if [ "$CHOST" != "$CTARGET" ]; then
_sysroot="$CBUILDROOT"
_cross_configure="--disable-install-libiberty"
_plugin_configure="--disable-plugins"
fi
if [ "$CHOST" = "$CBUILD" ] && [ "$CBUILD" = "$CTARGET" ] && [ "$CTARGET_ARCH" != "riscv64" ]; then
_gold_configure="--enable-gold"
fi
if [ "$CTARGET_ARCH" = "x86_64" ]; then
_arch_configure="--enable-targets=x86_64-pep"
fi
if [ "$CTARGET_ARCH" = "riscv64" ]; then
_gold_configure="--disable-gold"
fi
CFLAGS="$CFLAGS -O2" \
CXXFLAGS="$CXXFLAGS -O2" \
./configure \
--build=$CBUILD \
--host=$CHOST \
--target=$CTARGET \
--with-build-sysroot="$CBUILDROOT" \
--with-sysroot=$_sysroot \
--prefix=/usr \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--sysconfdir=/etc \
$_arch_configure \
$_cross_configure \
$_gold_configure \
$_plugin_configure \
$_noboot_configure \
--disable-gprofng \
--disable-multilib \
--disable-nls \
--disable-werror \
--enable-64-bit-bfd \
--enable-colored-disassembly \
--enable-default-execstack=no \
--enable-default-hash-style=gnu \
--enable-deterministic-archives \
--enable-ld=default \
--enable-new-dtags \
--enable-relro \
--enable-threads \
--with-bugurl="https://postmarketos.org/issues" \
--with-mmap \
--with-pic \
--with-system-zlib
make
}
package() {
make install DESTDIR="$pkgdir"
if [ -d "$pkgdir"/usr/lib64 ]; then
mv "$pkgdir"/usr/lib64/* "$pkgdir"/usr/lib/
rmdir "$pkgdir"/usr/lib64
fi
if [ "$CHOST" != "$CTARGET" ]; then
# creating cross tools: remove any files that would conflict
# with the native tools, or other cross tools
rm -r "${pkgdir:?}"/usr/share
rm -f "$pkgdir"/usr/lib/libiberty.a
rm -r "${pkgdir:?}"/usr/lib/bfd-plugins
fi
}
gold() {
pkgdesc="GNU binutils - gold linker"
if [ -e "$pkgdir"/usr/bin/ld.gold ]; then
amove usr/bin/ld.gold
fi
amove usr/$CTARGET/bin/ld.gold
}
sha512sums="
a37e042523bc46494d99d5637c3f3d8f9956d9477b748b3b1f6d7dfbb8d968ed52c932e88a4e946c6f77b8f48f1e1b360ca54c3d298f17193f3b4963472f6925 binutils-2.40.tar.xz
70ec22bd72ef6dddecfd970613387dd4a8cdc8730dd3cbf03d5a0c3a7c4d839383167bb06dad21bf7c235329fd44b5dc4aefe762f68544f17155cf002bf1be4a 0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
b434e126c4c3f70c02b0a5597a0d75a4ea99b1498552c2d0676005ac0ae171c56cf07a6f6e2faa1381f1f4d4a37043a07d177dd4912f09b61109f103853594b2 CVE-2023-1972.patch
ecee33b0e435aa704af1c334e560f201638ff79e199aa11ed78a72f7c9b46f85fbb227af5748e735fd681d1965fcc42ac81b0c8824e540430ce0c706c81e8b49 binutils-ld-fix-static-linking.patch
d138691d953c6f49111601df1731db157d2ecedf1593e37ababb5c12ff10572b5f7982288c81579f4a99097780dbb18d3b457f74daab0f935f59423e69cec56f riscv64-textrels.patch
"
-37
View File
@@ -1,37 +0,0 @@
Patch-Source: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=c22d38baefc5a7a1e1f5cdc9dbb556b1f0ec5c57;hp=f2f9bde5cde7ff34ed0a4c4682a211d402aa1086
https://sourceware.org/bugzilla/show_bug.cgi?id=30285
--
From: Nick Clifton <nickc@redhat.com>
Date: Thu, 30 Mar 2023 09:10:09 +0000 (+0100)
Subject: Fix an illegal memory access when an accessing a zer0-lengthverdef table.
X-Git-Url: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=c22d38baefc5a7a1e1f5cdc9dbb556b1f0ec5c57;hp=f2f9bde5cde7ff34ed0a4c4682a211d402aa1086
Fix an illegal memory access when an accessing a zer0-lengthverdef table.
PR 30285
* elf.c (_bfd_elf_slurp_version_tables): Fail if no version definitions are allocated.
---
diff --git a/bfd/elf.c b/bfd/elf.c
index 027d0143735..185028cbd97 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -9030,6 +9030,9 @@ _bfd_elf_slurp_version_tables (bfd *abfd, bool default_imported_symver)
bfd_set_error (bfd_error_file_too_big);
goto error_return_verdef;
}
+
+ if (amt == 0)
+ goto error_return_verdef;
elf_tdata (abfd)->verdef = (Elf_Internal_Verdef *) bfd_zalloc (abfd, amt);
if (elf_tdata (abfd)->verdef == NULL)
goto error_return_verdef;
@@ -9133,6 +9136,8 @@ _bfd_elf_slurp_version_tables (bfd *abfd, bool default_imported_symver)
bfd_set_error (bfd_error_file_too_big);
goto error_return;
}
+ if (amt == 0)
+ goto error_return;
elf_tdata (abfd)->verdef = (Elf_Internal_Verdef *) bfd_zalloc (abfd, amt);
if (elf_tdata (abfd)->verdef == NULL)
goto error_return;
@@ -1,46 +0,0 @@
This fixes static linking for our hardened toolchain
diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc
index e8126cb..9532bfb 100644
--- a/ld/scripttempl/elf.sc
+++ b/ld/scripttempl/elf.sc
@@ -235,8 +235,8 @@ test "${LARGE_SECTIONS}" = "yes" && LARGE_SECTIONS="
if test "${ENABLE_INITFINI_ARRAY}" = "yes"; then
SORT_INIT_ARRAY="KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*)))"
SORT_FINI_ARRAY="KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*)))"
- CTORS_IN_INIT_ARRAY="EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .ctors"
- DTORS_IN_FINI_ARRAY="EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .dtors"
+ CTORS_IN_INIT_ARRAY="EXCLUDE_FILE (*crtbegin*.o *crtend*.o $OTHER_EXCLUDE_FILES) .ctors"
+ DTORS_IN_FINI_ARRAY="EXCLUDE_FILE (*crtbegin*.o *crtend*.o $OTHER_EXCLUDE_FILES) .dtors"
else
SORT_INIT_ARRAY="KEEP (*(SORT(.init_array.*)))"
SORT_FINI_ARRAY="KEEP (*(SORT(.fini_array.*)))"
@@ -270,15 +270,14 @@ CTOR=".ctors ${CONSTRUCTING-0} :
doesn't matter which directory crtbegin.o
is in. */
- KEEP (*crtbegin.o(.ctors))
- KEEP (*crtbegin?.o(.ctors))
+ KEEP (*crtbegin*.o(.ctors))
/* We don't want to include the .ctor section from
the crtend.o file until after the sorted ctors.
The .ctor section from the crtend file contains the
end of ctors marker and it must be last */
- KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .ctors))
+ KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
${CONSTRUCTING+${CTOR_END}}
@@ -286,9 +285,8 @@ CTOR=".ctors ${CONSTRUCTING-0} :
DTOR=".dtors ${CONSTRUCTING-0} :
{
${CONSTRUCTING+${DTOR_START}}
- KEEP (*crtbegin.o(.dtors))
- KEEP (*crtbegin?.o(.dtors))
- KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .dtors))
+ KEEP (*crtbegin*.o(.dtors))
+ KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
${CONSTRUCTING+${DTOR_END}}
-103
View File
@@ -1,103 +0,0 @@
Patch-Source: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=225df051d3d4cf714d1791b9035966a6686b3f3d;hp=a70d5ba34cb64bbbb7df4f3055cf5b1967bdf61e#patch1
https://sourceware.org/bugzilla/show_bug.cgi?id=25694
--
From: Nelson Chu <nelson@nelson.ba.rivosinc.com>
Date: Thu, 4 May 2023 09:08:50 +0000 (+0800)
Subject: [PR ld/22263][PR ld/25694] RISC-V: Avoid dynamic TLS relocs in PIE.
X-Git-Url: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=225df051d3d4cf714d1791b9035966a6686b3f3d;hp=a70d5ba34cb64bbbb7df4f3055cf5b1967bdf61e
[PR ld/22263][PR ld/25694] RISC-V: Avoid dynamic TLS relocs in PIE.
Lots of targets already fixed the TEXTREL problem for TLS in PIE.
* For PR ld/25694,
In the check_reloc, refer to spare and loongarch, they don't need to reserve
any local dynamic reloc for TLS LE in pie/pde, and similar to other targets.
So it seems like riscv was too conservative to estimate the TLS LE before.
Just break and don't goto static_reloc for TLS LE in pie/pde can fix the
TEXTREL problem.
* For PR ld/22263,
The risc-v code for TLS GD/IE in the relocate_section seems same as MIPS port.
So similar to MIPS, pr22570, commits 9143e72c6d4d and 1cb83cac9a89, it seems
also the right way to do the same thing for risc-v.
On risc-v, fixes
FAIL: Build pr22263-1
RISC-V haven't supported the TLS transitions, so will need the same fix (use
bfd_link_dll) in the future.
bfd/
PR ld/22263
PR ld/25694
* elfnn-riscv.c (riscv_elf_check_relocs): Replace bfd_link_pic with
bfd_link_dll for TLS IE. Don't need to reserve the local dynamic
relocation for TLS LE in pie/pde, and report error in pic just like
before.
(riscv_elf_relocate_section): For TLS GD/IE, use bfd_link_dll rather
than !bfd_link_pic in determining the dynamic symbol index. Avoid
the index of -1.
---
diff --git a/bfd/elfnn-riscv.c b/bfd/elfnn-riscv.c
index 75af040cf92..762ea231c0b 100644
--- a/bfd/elfnn-riscv.c
+++ b/bfd/elfnn-riscv.c
@@ -824,7 +824,7 @@ riscv_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
break;
case R_RISCV_TLS_GOT_HI20:
- if (bfd_link_pic (info))
+ if (bfd_link_dll (info))
info->flags |= DF_STATIC_TLS;
if (!riscv_elf_record_got_reference (abfd, info, h, r_symndx)
|| !riscv_elf_record_tls_type (abfd, h, r_symndx, GOT_TLS_IE))
@@ -920,11 +920,12 @@ riscv_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
goto static_reloc;
case R_RISCV_TPREL_HI20:
+ /* This is not allowed in the pic, but okay in pie. */
if (!bfd_link_executable (info))
return bad_static_reloc (abfd, r_type, h);
if (h != NULL)
riscv_elf_record_tls_type (abfd, h, r_symndx, GOT_TLS_LE);
- goto static_reloc;
+ break;
case R_RISCV_HI20:
if (bfd_link_pic (info))
@@ -2880,24 +2881,20 @@ riscv_elf_relocate_section (bfd *output_bfd,
if (htab->elf.srelgot == NULL)
abort ();
- if (h != NULL)
- {
- bool dyn, pic;
- dyn = htab->elf.dynamic_sections_created;
- pic = bfd_link_pic (info);
-
- if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, pic, h)
- && (!pic || !SYMBOL_REFERENCES_LOCAL (info, h)))
- indx = h->dynindx;
- }
+ bool dyn = elf_hash_table (info)->dynamic_sections_created;
+ if (h != NULL
+ && h->dynindx != -1
+ && WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, bfd_link_pic (info), h)
+ && (bfd_link_dll (info) || !SYMBOL_REFERENCES_LOCAL (info, h)))
+ indx = h->dynindx;
/* The GOT entries have not been initialized yet. Do it
now, and emit any relocations. */
- if ((bfd_link_pic (info) || indx != 0)
+ if ((bfd_link_dll (info) || indx != 0)
&& (h == NULL
|| ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
|| h->root.type != bfd_link_hash_undefweak))
- need_relocs = true;
+ need_relocs = true;
if (tls_type & GOT_TLS_GD)
{
@@ -1,55 +0,0 @@
From bbf05b742fde518fb97c789b043fe0d3aaf549f0 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Tue, 21 Sep 2021 14:53:13 +0000
Subject: [PATCH] Revert "PR25882, .gnu.attributes are not checked for shared
libraries"
This revert is needed to avoid wrongly tagging objects with the incompatible
IBM long double ABI, which is not supported by musl and will result in
linking errors if used.
This reverts commit a8acd6eeb6dc2cc5460ece90f90ebe36b56b20ba.
---
bfd/elf32-tic6x.c | 3 ---
ld/ldlang.c | 10 ++++------
2 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/bfd/elf32-tic6x.c b/bfd/elf32-tic6x.c
index 5754f3cb860..3ad1d612749 100644
--- a/bfd/elf32-tic6x.c
+++ b/bfd/elf32-tic6x.c
@@ -3735,9 +3735,6 @@ elf32_tic6x_merge_attributes (bfd *ibfd, struct bfd_link_info *info)
case Tag_ABI_PIC:
case Tag_ABI_PID:
- /* Don't transfer these tags from dynamic objects. */
- if ((ibfd->flags & DYNAMIC) != 0)
- continue;
if (out_attr[i].i > in_attr[i].i)
out_attr[i].i = in_attr[i].i;
break;
diff --git a/ld/ldlang.c b/ld/ldlang.c
index 37b64c89ee1..f13beaef9d9 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -7071,13 +7071,11 @@ lang_check (void)
bfd_printable_name (input_bfd), input_bfd,
bfd_printable_name (link_info.output_bfd));
}
-
- /* If the input bfd has no contents, it shouldn't set the
- private data of the output bfd. */
- else if (!file->flags.just_syms
- && ((input_bfd->flags & DYNAMIC) != 0
- || bfd_count_sections (input_bfd) != 0))
+ else if (bfd_count_sections (input_bfd))
{
+ /* If the input bfd has no contents, it shouldn't set the
+ private data of the output bfd. */
+
bfd_error_handler_type pfn = NULL;
/* If we aren't supposed to warn about mismatched input
--
2.33.0
-153
View File
@@ -1,153 +0,0 @@
# Automatically generated aport, do not edit!
# Generator: pmbootstrap aportgen binutils-armv7
# Based on: main/binutils
CTARGET_ARCH=armv7
CTARGET="$(arch_to_hostspec $CTARGET_ARCH)"
pkgname=binutils-armv7
pkgver=2.40
pkgrel=12
pkgdesc="Tools necessary to build programs for armv7 targets"
url="https://www.gnu.org/software/binutils/"
makedepends_build="bison flex texinfo"
makedepends_host="zlib-dev jansson-dev zstd-dev"
arch="x86_64"
license="GPL-2.0-or-later AND LGPL-2.1-or-later AND BSD-3-Clause"
subpackages="binutils-dev binutils-doc"
source="https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz
0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
CVE-2023-1972.patch
binutils-ld-fix-static-linking.patch
riscv64-textrels.patch
"
builddir="$srcdir/binutils-$pkgver"
if [ -z "$BOOTSTRAP" ]; then
makedepends_host="$makedepends_host jansson-dev zstd-dev"
_noboot_configure="--enable-jansson --with-zstd"
fi
if [ "$CHOST" = "$CBUILD" ] && [ "$CBUILD" = "$CTARGET" ] && [ "$CTARGET_ARCH" != "riscv64" ]; then
subpackages="$subpackages binutils-gold"
fi
if [ "$CHOST" != "$CTARGET" ]; then
pkgname="binutils-$CTARGET_ARCH"
subpackages=""
sonameprefix="binutils:"
fi
# secfixes:
# 2.40-r10:
# - CVE-2023-1972
# 2.40-r0:
# - CVE-2023-1579
# 2.39-r2:
# - CVE-2022-38533
# 2.39-r0:
# - CVE-2022-38126
# 2.35.2-r1:
# - CVE-2021-3487
# 2.32-r0:
# - CVE-2018-19931
# - CVE-2018-19932
# - CVE-2018-20002
# - CVE-2018-20712
# 2.28-r1:
# - CVE-2017-7614
build() {
local _sysroot=/
local _cross_configure="--enable-install-libiberty --enable-shared"
local _arch_configure=""
local _gold_configure="--disable-gold"
local _plugin_configure="--enable-plugins"
if [ "$CHOST" != "$CTARGET" ]; then
_sysroot="$CBUILDROOT"
_cross_configure="--disable-install-libiberty"
_plugin_configure="--disable-plugins"
fi
if [ "$CHOST" = "$CBUILD" ] && [ "$CBUILD" = "$CTARGET" ] && [ "$CTARGET_ARCH" != "riscv64" ]; then
_gold_configure="--enable-gold"
fi
if [ "$CTARGET_ARCH" = "x86_64" ]; then
_arch_configure="--enable-targets=x86_64-pep"
fi
if [ "$CTARGET_ARCH" = "riscv64" ]; then
_gold_configure="--disable-gold"
fi
CFLAGS="$CFLAGS -O2" \
CXXFLAGS="$CXXFLAGS -O2" \
./configure \
--build=$CBUILD \
--host=$CHOST \
--target=$CTARGET \
--with-build-sysroot="$CBUILDROOT" \
--with-sysroot=$_sysroot \
--prefix=/usr \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--sysconfdir=/etc \
$_arch_configure \
$_cross_configure \
$_gold_configure \
$_plugin_configure \
$_noboot_configure \
--disable-gprofng \
--disable-multilib \
--disable-nls \
--disable-werror \
--enable-64-bit-bfd \
--enable-colored-disassembly \
--enable-default-execstack=no \
--enable-default-hash-style=gnu \
--enable-deterministic-archives \
--enable-ld=default \
--enable-new-dtags \
--enable-relro \
--enable-threads \
--with-bugurl="https://postmarketos.org/issues" \
--with-mmap \
--with-pic \
--with-system-zlib
make
}
package() {
make install DESTDIR="$pkgdir"
if [ -d "$pkgdir"/usr/lib64 ]; then
mv "$pkgdir"/usr/lib64/* "$pkgdir"/usr/lib/
rmdir "$pkgdir"/usr/lib64
fi
if [ "$CHOST" != "$CTARGET" ]; then
# creating cross tools: remove any files that would conflict
# with the native tools, or other cross tools
rm -r "${pkgdir:?}"/usr/share
rm -f "$pkgdir"/usr/lib/libiberty.a
rm -r "${pkgdir:?}"/usr/lib/bfd-plugins
fi
}
gold() {
pkgdesc="GNU binutils - gold linker"
if [ -e "$pkgdir"/usr/bin/ld.gold ]; then
amove usr/bin/ld.gold
fi
amove usr/$CTARGET/bin/ld.gold
}
sha512sums="
a37e042523bc46494d99d5637c3f3d8f9956d9477b748b3b1f6d7dfbb8d968ed52c932e88a4e946c6f77b8f48f1e1b360ca54c3d298f17193f3b4963472f6925 binutils-2.40.tar.xz
70ec22bd72ef6dddecfd970613387dd4a8cdc8730dd3cbf03d5a0c3a7c4d839383167bb06dad21bf7c235329fd44b5dc4aefe762f68544f17155cf002bf1be4a 0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
b434e126c4c3f70c02b0a5597a0d75a4ea99b1498552c2d0676005ac0ae171c56cf07a6f6e2faa1381f1f4d4a37043a07d177dd4912f09b61109f103853594b2 CVE-2023-1972.patch
ecee33b0e435aa704af1c334e560f201638ff79e199aa11ed78a72f7c9b46f85fbb227af5748e735fd681d1965fcc42ac81b0c8824e540430ce0c706c81e8b49 binutils-ld-fix-static-linking.patch
d138691d953c6f49111601df1731db157d2ecedf1593e37ababb5c12ff10572b5f7982288c81579f4a99097780dbb18d3b457f74daab0f935f59423e69cec56f riscv64-textrels.patch
"
-37
View File
@@ -1,37 +0,0 @@
Patch-Source: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=c22d38baefc5a7a1e1f5cdc9dbb556b1f0ec5c57;hp=f2f9bde5cde7ff34ed0a4c4682a211d402aa1086
https://sourceware.org/bugzilla/show_bug.cgi?id=30285
--
From: Nick Clifton <nickc@redhat.com>
Date: Thu, 30 Mar 2023 09:10:09 +0000 (+0100)
Subject: Fix an illegal memory access when an accessing a zer0-lengthverdef table.
X-Git-Url: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=c22d38baefc5a7a1e1f5cdc9dbb556b1f0ec5c57;hp=f2f9bde5cde7ff34ed0a4c4682a211d402aa1086
Fix an illegal memory access when an accessing a zer0-lengthverdef table.
PR 30285
* elf.c (_bfd_elf_slurp_version_tables): Fail if no version definitions are allocated.
---
diff --git a/bfd/elf.c b/bfd/elf.c
index 027d0143735..185028cbd97 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -9030,6 +9030,9 @@ _bfd_elf_slurp_version_tables (bfd *abfd, bool default_imported_symver)
bfd_set_error (bfd_error_file_too_big);
goto error_return_verdef;
}
+
+ if (amt == 0)
+ goto error_return_verdef;
elf_tdata (abfd)->verdef = (Elf_Internal_Verdef *) bfd_zalloc (abfd, amt);
if (elf_tdata (abfd)->verdef == NULL)
goto error_return_verdef;
@@ -9133,6 +9136,8 @@ _bfd_elf_slurp_version_tables (bfd *abfd, bool default_imported_symver)
bfd_set_error (bfd_error_file_too_big);
goto error_return;
}
+ if (amt == 0)
+ goto error_return;
elf_tdata (abfd)->verdef = (Elf_Internal_Verdef *) bfd_zalloc (abfd, amt);
if (elf_tdata (abfd)->verdef == NULL)
goto error_return;
@@ -1,46 +0,0 @@
This fixes static linking for our hardened toolchain
diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc
index e8126cb..9532bfb 100644
--- a/ld/scripttempl/elf.sc
+++ b/ld/scripttempl/elf.sc
@@ -235,8 +235,8 @@ test "${LARGE_SECTIONS}" = "yes" && LARGE_SECTIONS="
if test "${ENABLE_INITFINI_ARRAY}" = "yes"; then
SORT_INIT_ARRAY="KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*)))"
SORT_FINI_ARRAY="KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*)))"
- CTORS_IN_INIT_ARRAY="EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .ctors"
- DTORS_IN_FINI_ARRAY="EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .dtors"
+ CTORS_IN_INIT_ARRAY="EXCLUDE_FILE (*crtbegin*.o *crtend*.o $OTHER_EXCLUDE_FILES) .ctors"
+ DTORS_IN_FINI_ARRAY="EXCLUDE_FILE (*crtbegin*.o *crtend*.o $OTHER_EXCLUDE_FILES) .dtors"
else
SORT_INIT_ARRAY="KEEP (*(SORT(.init_array.*)))"
SORT_FINI_ARRAY="KEEP (*(SORT(.fini_array.*)))"
@@ -270,15 +270,14 @@ CTOR=".ctors ${CONSTRUCTING-0} :
doesn't matter which directory crtbegin.o
is in. */
- KEEP (*crtbegin.o(.ctors))
- KEEP (*crtbegin?.o(.ctors))
+ KEEP (*crtbegin*.o(.ctors))
/* We don't want to include the .ctor section from
the crtend.o file until after the sorted ctors.
The .ctor section from the crtend file contains the
end of ctors marker and it must be last */
- KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .ctors))
+ KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
${CONSTRUCTING+${CTOR_END}}
@@ -286,9 +285,8 @@ CTOR=".ctors ${CONSTRUCTING-0} :
DTOR=".dtors ${CONSTRUCTING-0} :
{
${CONSTRUCTING+${DTOR_START}}
- KEEP (*crtbegin.o(.dtors))
- KEEP (*crtbegin?.o(.dtors))
- KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .dtors))
+ KEEP (*crtbegin*.o(.dtors))
+ KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
${CONSTRUCTING+${DTOR_END}}
-103
View File
@@ -1,103 +0,0 @@
Patch-Source: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=225df051d3d4cf714d1791b9035966a6686b3f3d;hp=a70d5ba34cb64bbbb7df4f3055cf5b1967bdf61e#patch1
https://sourceware.org/bugzilla/show_bug.cgi?id=25694
--
From: Nelson Chu <nelson@nelson.ba.rivosinc.com>
Date: Thu, 4 May 2023 09:08:50 +0000 (+0800)
Subject: [PR ld/22263][PR ld/25694] RISC-V: Avoid dynamic TLS relocs in PIE.
X-Git-Url: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=225df051d3d4cf714d1791b9035966a6686b3f3d;hp=a70d5ba34cb64bbbb7df4f3055cf5b1967bdf61e
[PR ld/22263][PR ld/25694] RISC-V: Avoid dynamic TLS relocs in PIE.
Lots of targets already fixed the TEXTREL problem for TLS in PIE.
* For PR ld/25694,
In the check_reloc, refer to spare and loongarch, they don't need to reserve
any local dynamic reloc for TLS LE in pie/pde, and similar to other targets.
So it seems like riscv was too conservative to estimate the TLS LE before.
Just break and don't goto static_reloc for TLS LE in pie/pde can fix the
TEXTREL problem.
* For PR ld/22263,
The risc-v code for TLS GD/IE in the relocate_section seems same as MIPS port.
So similar to MIPS, pr22570, commits 9143e72c6d4d and 1cb83cac9a89, it seems
also the right way to do the same thing for risc-v.
On risc-v, fixes
FAIL: Build pr22263-1
RISC-V haven't supported the TLS transitions, so will need the same fix (use
bfd_link_dll) in the future.
bfd/
PR ld/22263
PR ld/25694
* elfnn-riscv.c (riscv_elf_check_relocs): Replace bfd_link_pic with
bfd_link_dll for TLS IE. Don't need to reserve the local dynamic
relocation for TLS LE in pie/pde, and report error in pic just like
before.
(riscv_elf_relocate_section): For TLS GD/IE, use bfd_link_dll rather
than !bfd_link_pic in determining the dynamic symbol index. Avoid
the index of -1.
---
diff --git a/bfd/elfnn-riscv.c b/bfd/elfnn-riscv.c
index 75af040cf92..762ea231c0b 100644
--- a/bfd/elfnn-riscv.c
+++ b/bfd/elfnn-riscv.c
@@ -824,7 +824,7 @@ riscv_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
break;
case R_RISCV_TLS_GOT_HI20:
- if (bfd_link_pic (info))
+ if (bfd_link_dll (info))
info->flags |= DF_STATIC_TLS;
if (!riscv_elf_record_got_reference (abfd, info, h, r_symndx)
|| !riscv_elf_record_tls_type (abfd, h, r_symndx, GOT_TLS_IE))
@@ -920,11 +920,12 @@ riscv_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
goto static_reloc;
case R_RISCV_TPREL_HI20:
+ /* This is not allowed in the pic, but okay in pie. */
if (!bfd_link_executable (info))
return bad_static_reloc (abfd, r_type, h);
if (h != NULL)
riscv_elf_record_tls_type (abfd, h, r_symndx, GOT_TLS_LE);
- goto static_reloc;
+ break;
case R_RISCV_HI20:
if (bfd_link_pic (info))
@@ -2880,24 +2881,20 @@ riscv_elf_relocate_section (bfd *output_bfd,
if (htab->elf.srelgot == NULL)
abort ();
- if (h != NULL)
- {
- bool dyn, pic;
- dyn = htab->elf.dynamic_sections_created;
- pic = bfd_link_pic (info);
-
- if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, pic, h)
- && (!pic || !SYMBOL_REFERENCES_LOCAL (info, h)))
- indx = h->dynindx;
- }
+ bool dyn = elf_hash_table (info)->dynamic_sections_created;
+ if (h != NULL
+ && h->dynindx != -1
+ && WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, bfd_link_pic (info), h)
+ && (bfd_link_dll (info) || !SYMBOL_REFERENCES_LOCAL (info, h)))
+ indx = h->dynindx;
/* The GOT entries have not been initialized yet. Do it
now, and emit any relocations. */
- if ((bfd_link_pic (info) || indx != 0)
+ if ((bfd_link_dll (info) || indx != 0)
&& (h == NULL
|| ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
|| h->root.type != bfd_link_hash_undefweak))
- need_relocs = true;
+ need_relocs = true;
if (tls_type & GOT_TLS_GD)
{
@@ -1,55 +0,0 @@
From bbf05b742fde518fb97c789b043fe0d3aaf549f0 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Tue, 21 Sep 2021 14:53:13 +0000
Subject: [PATCH] Revert "PR25882, .gnu.attributes are not checked for shared
libraries"
This revert is needed to avoid wrongly tagging objects with the incompatible
IBM long double ABI, which is not supported by musl and will result in
linking errors if used.
This reverts commit a8acd6eeb6dc2cc5460ece90f90ebe36b56b20ba.
---
bfd/elf32-tic6x.c | 3 ---
ld/ldlang.c | 10 ++++------
2 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/bfd/elf32-tic6x.c b/bfd/elf32-tic6x.c
index 5754f3cb860..3ad1d612749 100644
--- a/bfd/elf32-tic6x.c
+++ b/bfd/elf32-tic6x.c
@@ -3735,9 +3735,6 @@ elf32_tic6x_merge_attributes (bfd *ibfd, struct bfd_link_info *info)
case Tag_ABI_PIC:
case Tag_ABI_PID:
- /* Don't transfer these tags from dynamic objects. */
- if ((ibfd->flags & DYNAMIC) != 0)
- continue;
if (out_attr[i].i > in_attr[i].i)
out_attr[i].i = in_attr[i].i;
break;
diff --git a/ld/ldlang.c b/ld/ldlang.c
index 37b64c89ee1..f13beaef9d9 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -7071,13 +7071,11 @@ lang_check (void)
bfd_printable_name (input_bfd), input_bfd,
bfd_printable_name (link_info.output_bfd));
}
-
- /* If the input bfd has no contents, it shouldn't set the
- private data of the output bfd. */
- else if (!file->flags.just_syms
- && ((input_bfd->flags & DYNAMIC) != 0
- || bfd_count_sections (input_bfd) != 0))
+ else if (bfd_count_sections (input_bfd))
{
+ /* If the input bfd has no contents, it shouldn't set the
+ private data of the output bfd. */
+
bfd_error_handler_type pfn = NULL;
/* If we aren't supposed to warn about mismatched input
--
2.33.0
-153
View File
@@ -1,153 +0,0 @@
# Automatically generated aport, do not edit!
# Generator: pmbootstrap aportgen binutils-riscv64
# Based on: main/binutils
CTARGET_ARCH=riscv64
CTARGET="$(arch_to_hostspec $CTARGET_ARCH)"
pkgname=binutils-riscv64
pkgver=2.40
pkgrel=12
pkgdesc="Tools necessary to build programs for riscv64 targets"
url="https://www.gnu.org/software/binutils/"
makedepends_build="bison flex texinfo"
makedepends_host="zlib-dev jansson-dev zstd-dev"
arch="x86_64"
license="GPL-2.0-or-later AND LGPL-2.1-or-later AND BSD-3-Clause"
subpackages="binutils-dev binutils-doc"
source="https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz
0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
CVE-2023-1972.patch
binutils-ld-fix-static-linking.patch
riscv64-textrels.patch
"
builddir="$srcdir/binutils-$pkgver"
if [ -z "$BOOTSTRAP" ]; then
makedepends_host="$makedepends_host jansson-dev zstd-dev"
_noboot_configure="--enable-jansson --with-zstd"
fi
if [ "$CHOST" = "$CBUILD" ] && [ "$CBUILD" = "$CTARGET" ] && [ "$CTARGET_ARCH" != "riscv64" ]; then
subpackages="$subpackages binutils-gold"
fi
if [ "$CHOST" != "$CTARGET" ]; then
pkgname="binutils-$CTARGET_ARCH"
subpackages=""
sonameprefix="binutils:"
fi
# secfixes:
# 2.40-r10:
# - CVE-2023-1972
# 2.40-r0:
# - CVE-2023-1579
# 2.39-r2:
# - CVE-2022-38533
# 2.39-r0:
# - CVE-2022-38126
# 2.35.2-r1:
# - CVE-2021-3487
# 2.32-r0:
# - CVE-2018-19931
# - CVE-2018-19932
# - CVE-2018-20002
# - CVE-2018-20712
# 2.28-r1:
# - CVE-2017-7614
build() {
local _sysroot=/
local _cross_configure="--enable-install-libiberty --enable-shared"
local _arch_configure=""
local _gold_configure="--disable-gold"
local _plugin_configure="--enable-plugins"
if [ "$CHOST" != "$CTARGET" ]; then
_sysroot="$CBUILDROOT"
_cross_configure="--disable-install-libiberty"
_plugin_configure="--disable-plugins"
fi
if [ "$CHOST" = "$CBUILD" ] && [ "$CBUILD" = "$CTARGET" ] && [ "$CTARGET_ARCH" != "riscv64" ]; then
_gold_configure="--enable-gold"
fi
if [ "$CTARGET_ARCH" = "x86_64" ]; then
_arch_configure="--enable-targets=x86_64-pep"
fi
if [ "$CTARGET_ARCH" = "riscv64" ]; then
_gold_configure="--disable-gold"
fi
CFLAGS="$CFLAGS -O2" \
CXXFLAGS="$CXXFLAGS -O2" \
./configure \
--build=$CBUILD \
--host=$CHOST \
--target=$CTARGET \
--with-build-sysroot="$CBUILDROOT" \
--with-sysroot=$_sysroot \
--prefix=/usr \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--sysconfdir=/etc \
$_arch_configure \
$_cross_configure \
$_gold_configure \
$_plugin_configure \
$_noboot_configure \
--disable-gprofng \
--disable-multilib \
--disable-nls \
--disable-werror \
--enable-64-bit-bfd \
--enable-colored-disassembly \
--enable-default-execstack=no \
--enable-default-hash-style=gnu \
--enable-deterministic-archives \
--enable-ld=default \
--enable-new-dtags \
--enable-relro \
--enable-threads \
--with-bugurl="https://postmarketos.org/issues" \
--with-mmap \
--with-pic \
--with-system-zlib
make
}
package() {
make install DESTDIR="$pkgdir"
if [ -d "$pkgdir"/usr/lib64 ]; then
mv "$pkgdir"/usr/lib64/* "$pkgdir"/usr/lib/
rmdir "$pkgdir"/usr/lib64
fi
if [ "$CHOST" != "$CTARGET" ]; then
# creating cross tools: remove any files that would conflict
# with the native tools, or other cross tools
rm -r "${pkgdir:?}"/usr/share
rm -f "$pkgdir"/usr/lib/libiberty.a
rm -r "${pkgdir:?}"/usr/lib/bfd-plugins
fi
}
gold() {
pkgdesc="GNU binutils - gold linker"
if [ -e "$pkgdir"/usr/bin/ld.gold ]; then
amove usr/bin/ld.gold
fi
amove usr/$CTARGET/bin/ld.gold
}
sha512sums="
a37e042523bc46494d99d5637c3f3d8f9956d9477b748b3b1f6d7dfbb8d968ed52c932e88a4e946c6f77b8f48f1e1b360ca54c3d298f17193f3b4963472f6925 binutils-2.40.tar.xz
70ec22bd72ef6dddecfd970613387dd4a8cdc8730dd3cbf03d5a0c3a7c4d839383167bb06dad21bf7c235329fd44b5dc4aefe762f68544f17155cf002bf1be4a 0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
b434e126c4c3f70c02b0a5597a0d75a4ea99b1498552c2d0676005ac0ae171c56cf07a6f6e2faa1381f1f4d4a37043a07d177dd4912f09b61109f103853594b2 CVE-2023-1972.patch
ecee33b0e435aa704af1c334e560f201638ff79e199aa11ed78a72f7c9b46f85fbb227af5748e735fd681d1965fcc42ac81b0c8824e540430ce0c706c81e8b49 binutils-ld-fix-static-linking.patch
d138691d953c6f49111601df1731db157d2ecedf1593e37ababb5c12ff10572b5f7982288c81579f4a99097780dbb18d3b457f74daab0f935f59423e69cec56f riscv64-textrels.patch
"
@@ -1,37 +0,0 @@
Patch-Source: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=c22d38baefc5a7a1e1f5cdc9dbb556b1f0ec5c57;hp=f2f9bde5cde7ff34ed0a4c4682a211d402aa1086
https://sourceware.org/bugzilla/show_bug.cgi?id=30285
--
From: Nick Clifton <nickc@redhat.com>
Date: Thu, 30 Mar 2023 09:10:09 +0000 (+0100)
Subject: Fix an illegal memory access when an accessing a zer0-lengthverdef table.
X-Git-Url: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=c22d38baefc5a7a1e1f5cdc9dbb556b1f0ec5c57;hp=f2f9bde5cde7ff34ed0a4c4682a211d402aa1086
Fix an illegal memory access when an accessing a zer0-lengthverdef table.
PR 30285
* elf.c (_bfd_elf_slurp_version_tables): Fail if no version definitions are allocated.
---
diff --git a/bfd/elf.c b/bfd/elf.c
index 027d0143735..185028cbd97 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -9030,6 +9030,9 @@ _bfd_elf_slurp_version_tables (bfd *abfd, bool default_imported_symver)
bfd_set_error (bfd_error_file_too_big);
goto error_return_verdef;
}
+
+ if (amt == 0)
+ goto error_return_verdef;
elf_tdata (abfd)->verdef = (Elf_Internal_Verdef *) bfd_zalloc (abfd, amt);
if (elf_tdata (abfd)->verdef == NULL)
goto error_return_verdef;
@@ -9133,6 +9136,8 @@ _bfd_elf_slurp_version_tables (bfd *abfd, bool default_imported_symver)
bfd_set_error (bfd_error_file_too_big);
goto error_return;
}
+ if (amt == 0)
+ goto error_return;
elf_tdata (abfd)->verdef = (Elf_Internal_Verdef *) bfd_zalloc (abfd, amt);
if (elf_tdata (abfd)->verdef == NULL)
goto error_return;
@@ -1,46 +0,0 @@
This fixes static linking for our hardened toolchain
diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc
index e8126cb..9532bfb 100644
--- a/ld/scripttempl/elf.sc
+++ b/ld/scripttempl/elf.sc
@@ -235,8 +235,8 @@ test "${LARGE_SECTIONS}" = "yes" && LARGE_SECTIONS="
if test "${ENABLE_INITFINI_ARRAY}" = "yes"; then
SORT_INIT_ARRAY="KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*)))"
SORT_FINI_ARRAY="KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*)))"
- CTORS_IN_INIT_ARRAY="EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .ctors"
- DTORS_IN_FINI_ARRAY="EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .dtors"
+ CTORS_IN_INIT_ARRAY="EXCLUDE_FILE (*crtbegin*.o *crtend*.o $OTHER_EXCLUDE_FILES) .ctors"
+ DTORS_IN_FINI_ARRAY="EXCLUDE_FILE (*crtbegin*.o *crtend*.o $OTHER_EXCLUDE_FILES) .dtors"
else
SORT_INIT_ARRAY="KEEP (*(SORT(.init_array.*)))"
SORT_FINI_ARRAY="KEEP (*(SORT(.fini_array.*)))"
@@ -270,15 +270,14 @@ CTOR=".ctors ${CONSTRUCTING-0} :
doesn't matter which directory crtbegin.o
is in. */
- KEEP (*crtbegin.o(.ctors))
- KEEP (*crtbegin?.o(.ctors))
+ KEEP (*crtbegin*.o(.ctors))
/* We don't want to include the .ctor section from
the crtend.o file until after the sorted ctors.
The .ctor section from the crtend file contains the
end of ctors marker and it must be last */
- KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .ctors))
+ KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
${CONSTRUCTING+${CTOR_END}}
@@ -286,9 +285,8 @@ CTOR=".ctors ${CONSTRUCTING-0} :
DTOR=".dtors ${CONSTRUCTING-0} :
{
${CONSTRUCTING+${DTOR_START}}
- KEEP (*crtbegin.o(.dtors))
- KEEP (*crtbegin?.o(.dtors))
- KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .dtors))
+ KEEP (*crtbegin*.o(.dtors))
+ KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
${CONSTRUCTING+${DTOR_END}}
@@ -1,103 +0,0 @@
Patch-Source: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=225df051d3d4cf714d1791b9035966a6686b3f3d;hp=a70d5ba34cb64bbbb7df4f3055cf5b1967bdf61e#patch1
https://sourceware.org/bugzilla/show_bug.cgi?id=25694
--
From: Nelson Chu <nelson@nelson.ba.rivosinc.com>
Date: Thu, 4 May 2023 09:08:50 +0000 (+0800)
Subject: [PR ld/22263][PR ld/25694] RISC-V: Avoid dynamic TLS relocs in PIE.
X-Git-Url: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=225df051d3d4cf714d1791b9035966a6686b3f3d;hp=a70d5ba34cb64bbbb7df4f3055cf5b1967bdf61e
[PR ld/22263][PR ld/25694] RISC-V: Avoid dynamic TLS relocs in PIE.
Lots of targets already fixed the TEXTREL problem for TLS in PIE.
* For PR ld/25694,
In the check_reloc, refer to spare and loongarch, they don't need to reserve
any local dynamic reloc for TLS LE in pie/pde, and similar to other targets.
So it seems like riscv was too conservative to estimate the TLS LE before.
Just break and don't goto static_reloc for TLS LE in pie/pde can fix the
TEXTREL problem.
* For PR ld/22263,
The risc-v code for TLS GD/IE in the relocate_section seems same as MIPS port.
So similar to MIPS, pr22570, commits 9143e72c6d4d and 1cb83cac9a89, it seems
also the right way to do the same thing for risc-v.
On risc-v, fixes
FAIL: Build pr22263-1
RISC-V haven't supported the TLS transitions, so will need the same fix (use
bfd_link_dll) in the future.
bfd/
PR ld/22263
PR ld/25694
* elfnn-riscv.c (riscv_elf_check_relocs): Replace bfd_link_pic with
bfd_link_dll for TLS IE. Don't need to reserve the local dynamic
relocation for TLS LE in pie/pde, and report error in pic just like
before.
(riscv_elf_relocate_section): For TLS GD/IE, use bfd_link_dll rather
than !bfd_link_pic in determining the dynamic symbol index. Avoid
the index of -1.
---
diff --git a/bfd/elfnn-riscv.c b/bfd/elfnn-riscv.c
index 75af040cf92..762ea231c0b 100644
--- a/bfd/elfnn-riscv.c
+++ b/bfd/elfnn-riscv.c
@@ -824,7 +824,7 @@ riscv_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
break;
case R_RISCV_TLS_GOT_HI20:
- if (bfd_link_pic (info))
+ if (bfd_link_dll (info))
info->flags |= DF_STATIC_TLS;
if (!riscv_elf_record_got_reference (abfd, info, h, r_symndx)
|| !riscv_elf_record_tls_type (abfd, h, r_symndx, GOT_TLS_IE))
@@ -920,11 +920,12 @@ riscv_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
goto static_reloc;
case R_RISCV_TPREL_HI20:
+ /* This is not allowed in the pic, but okay in pie. */
if (!bfd_link_executable (info))
return bad_static_reloc (abfd, r_type, h);
if (h != NULL)
riscv_elf_record_tls_type (abfd, h, r_symndx, GOT_TLS_LE);
- goto static_reloc;
+ break;
case R_RISCV_HI20:
if (bfd_link_pic (info))
@@ -2880,24 +2881,20 @@ riscv_elf_relocate_section (bfd *output_bfd,
if (htab->elf.srelgot == NULL)
abort ();
- if (h != NULL)
- {
- bool dyn, pic;
- dyn = htab->elf.dynamic_sections_created;
- pic = bfd_link_pic (info);
-
- if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, pic, h)
- && (!pic || !SYMBOL_REFERENCES_LOCAL (info, h)))
- indx = h->dynindx;
- }
+ bool dyn = elf_hash_table (info)->dynamic_sections_created;
+ if (h != NULL
+ && h->dynindx != -1
+ && WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, bfd_link_pic (info), h)
+ && (bfd_link_dll (info) || !SYMBOL_REFERENCES_LOCAL (info, h)))
+ indx = h->dynindx;
/* The GOT entries have not been initialized yet. Do it
now, and emit any relocations. */
- if ((bfd_link_pic (info) || indx != 0)
+ if ((bfd_link_dll (info) || indx != 0)
&& (h == NULL
|| ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
|| h->root.type != bfd_link_hash_undefweak))
- need_relocs = true;
+ need_relocs = true;
if (tls_type & GOT_TLS_GD)
{
+4 -4
View File
@@ -8,7 +8,7 @@ fi
pkgname=busybox-static-aarch64
pkgver=1.36.1
pkgrel=2
pkgrel=19
_arch="aarch64"
_mirror="http://dl-4.alpinelinux.org/alpine/"
@@ -21,16 +21,16 @@ pkgdesc="Statically linked Busybox for $_arch"
_target="$(arch_to_hostspec $_arch)"
source="
busybox-static-$pkgver-r$pkgrel-$_arch-edge.apk::$_mirror/edge/main/$_arch/busybox-static-$pkgver-r$pkgrel.apk
busybox-static-$pkgver-r$pkgrel-$_arch-v3.19.apk::$_mirror/v3.19/main/$_arch/busybox-static-$pkgver-r$pkgrel.apk
"
package() {
mkdir -p "$pkgdir/usr/$_target"
cd "$pkgdir/usr/$_target"
tar -xf $srcdir/busybox-static-$pkgver-r$pkgrel-$_arch-edge.apk
tar -xf $srcdir/busybox-static-$pkgver-r$pkgrel-$_arch-v3.19.apk
rm .PKGINFO .SIGN.*
}
sha512sums="
25394d1105e40c8decf861c55c68401708ed8dbcd9643194c7c270f9cc4a792d0376cb926816f8803d496610bdbc53494a09a360097981f862958ceb4435768a busybox-static-1.36.1-r2-aarch64-edge.apk
aa58bb098d78beddc923a58599688b68768b311759d4acf05d75ba26c5969a31b9faed1b65b600688a5670d2d0c97562f2ebad529864a16eb987b9f4b3ec2924 busybox-static-1.36.1-r19-aarch64-v3.19.apk
"
-36
View File
@@ -1,36 +0,0 @@
# Automatically generated aport, do not edit!
# Generator: pmbootstrap aportgen busybox-static-armhf
# Stub for apkbuild-lint
if [ -z "$(type -t arch_to_hostspec)" ]; then
arch_to_hostspec() { :; }
fi
pkgname=busybox-static-armhf
pkgver=1.36.1
pkgrel=2
_arch="armhf"
_mirror="http://dl-4.alpinelinux.org/alpine/"
url="http://busybox.net"
license="GPL2"
arch="x86_64"
options="!check !strip"
pkgdesc="Statically linked Busybox for $_arch"
_target="$(arch_to_hostspec $_arch)"
source="
busybox-static-$pkgver-r$pkgrel-$_arch-edge.apk::$_mirror/edge/main/$_arch/busybox-static-$pkgver-r$pkgrel.apk
"
package() {
mkdir -p "$pkgdir/usr/$_target"
cd "$pkgdir/usr/$_target"
tar -xf $srcdir/busybox-static-$pkgver-r$pkgrel-$_arch-edge.apk
rm .PKGINFO .SIGN.*
}
sha512sums="
6dd546f62fdb8c0a45428bc313c28be573d92e468c52ac1210ea054a4cc701810a5bbee766d53e0374fcca6b6611e9202ab4036899c97b5129ac216ffccadf73 busybox-static-1.36.1-r2-armhf-edge.apk
"
+4 -4
View File
@@ -8,7 +8,7 @@ fi
pkgname=busybox-static-armv7
pkgver=1.36.1
pkgrel=2
pkgrel=19
_arch="armv7"
_mirror="http://dl-4.alpinelinux.org/alpine/"
@@ -21,16 +21,16 @@ pkgdesc="Statically linked Busybox for $_arch"
_target="$(arch_to_hostspec $_arch)"
source="
busybox-static-$pkgver-r$pkgrel-$_arch-edge.apk::$_mirror/edge/main/$_arch/busybox-static-$pkgver-r$pkgrel.apk
busybox-static-$pkgver-r$pkgrel-$_arch-v3.19.apk::$_mirror/v3.19/main/$_arch/busybox-static-$pkgver-r$pkgrel.apk
"
package() {
mkdir -p "$pkgdir/usr/$_target"
cd "$pkgdir/usr/$_target"
tar -xf $srcdir/busybox-static-$pkgver-r$pkgrel-$_arch-edge.apk
tar -xf $srcdir/busybox-static-$pkgver-r$pkgrel-$_arch-v3.19.apk
rm .PKGINFO .SIGN.*
}
sha512sums="
b723bb48cc886706271f39a2bc096a1d6adfcca3df6233a3f7e904996e6dcd76a0a7d24fb75e4e637bf6a1b35f71221e8a10cd52a4f1e9bbe403a81d1f83bfc1 busybox-static-1.36.1-r2-armv7-edge.apk
570dd6f150d74bafec0b4485ced760e815a1550372251cba8b51e1e4193ead71b81c2262a04a6f279fad1ebacc7c792eb825614d2f67f57c4f3b0b33d11033ab busybox-static-1.36.1-r19-armv7-v3.19.apk
"
+18 -12
View File
@@ -1,3 +1,6 @@
# Maintainer: Oliver Smith <ollieparanoid@postmarketos.org>
# https://wiki.postmarketos.org/wiki/Pmbootstrap:_Cross_Compiling
#
# Wrapper for the "crossdirect" compilation method.
# pmbootstrap mounts the native chroot in the foreign arch (e.g. armhf) chroot
# as /native. This package gets installed into the native chroot, and creates
@@ -16,14 +19,14 @@
# version is implemented as simple shell wrappers.
pkgname=crossdirect
pkgver=4
pkgrel=3
pkgver=5.1.0
pkgrel=0
pkgdesc="Wrappers to launch native cross compilers in foreign chroots"
url="https://postmarketOS.org"
arch="all"
license="MIT"
options="!check"
source="crossdirect.c rustc.sh rust-qemu-linker.sh"
source="cargo.sh crossdirect.c rustc.sh rust-qemu-linker.sh"
build() {
cd "$srcdir"
@@ -40,9 +43,6 @@ build() {
-Werror \
-DHOSTSPEC="\"$_hostspec\"" \
crossdirect.c
# rustc
sed "s/@ARCH@/$_arch/g" rustc.sh >rustc-"$_arch"
done
}
@@ -51,9 +51,11 @@ package() {
_archs="x86_64 armhf armv7 aarch64"
_bins="c++ cc cpp g++ gcc clang clang++"
# Rust: qemu-linker
# Rust wrappers
install -Dm755 "$srcdir/rust-qemu-linker.sh" \
"$pkgdir/usr/lib/crossdirect/rust-qemu-linker"
install -Dm755 "$srcdir/cargo.sh" "$pkgdir/usr/lib/crossdirect/cargo.sh"
install -Dm755 "$srcdir/rustc.sh" "$pkgdir/usr/lib/crossdirect/rustc.sh"
# Iterate over architectures
for _arch in $_archs; do
@@ -73,10 +75,14 @@ package() {
ln -s "crossdirect-$_arch" "$_hostspec-$_bin"
done
# Rust: arch-specific rustc wrapper
install -Dm755 "$srcdir/rustc-$_arch" "$_bindir/rustc"
ln -s ../cargo.sh cargo
ln -s ../rustc.sh rustc
done
}
sha512sums="500107e5aff8b34e74b54982ebcd447fc41bc8283956d506561b031a055cb30ec12698047c2604918b4b6d8560fe03db427a63dff2b83c907e8494b7f5233f29 crossdirect.c
6be16ba88720e628a3ecc8fa53f8e7a21d2af268b0509745d989139874d6b94b640bfcff09575eaa19073810be6ef91169c1f83e94f5cf8e6819f2670d9408de rustc.sh
ea9bf8db3810d03d0a7395057f3d6e57f7127d87c55deaedc171c255288f5f3cc6fbcc680a5a1b92786cf573875d5dc22521173799fe2639acc97d0715ff905b rust-qemu-linker.sh"
sha512sums="
0f4b48f250425dc57f63955fc8b38477d23db793bee367c3fbe03c3d2a559ba576434d07518310db4cae9d90d501af4051b80038b10fae94b980e537fc9374ad cargo.sh
500107e5aff8b34e74b54982ebcd447fc41bc8283956d506561b031a055cb30ec12698047c2604918b4b6d8560fe03db427a63dff2b83c907e8494b7f5233f29 crossdirect.c
de2aa6929bbff5db9132673e667f4525b333d062cb1f7a0597dd924de9e5c7215a9f8e2e6263b6fb5ace06f2c4b64f4ebfd0ede9b78add07c2cd08ec8613e98f rustc.sh
ea9bf8db3810d03d0a7395057f3d6e57f7127d87c55deaedc171c255288f5f3cc6fbcc680a5a1b92786cf573875d5dc22521173799fe2639acc97d0715ff905b rust-qemu-linker.sh
"
+66
View File
@@ -0,0 +1,66 @@
#!/bin/sh -e
if [ -n "$CROSSDIRECT_DEBUG" ]; then
set -x
fi
native_version=$(LD_LIBRARY_PATH=/native/lib:/native/usr/lib /native/usr/bin/rustc -V)
target_version=$(/usr/bin/rustc -V)
if [ "$target_version" != "$native_version" ]; then
echo "ERROR: crossdirect: rustc version mismatch between native and build chroot. Please update your chroots and try again." >&2
exit 1
fi
triplet=$(/usr/bin/rustc -vV | sed -n 's/host: //p')
cmd=$1
shift
case "$cmd" in
build|test|run)
;;
*)
echo "WARNING: crossdirect: 'cargo $cmd $*' command not supported, running in QEMU (slow!)" >&2
export PATH="$(echo "$PATH" | sed 's,/native/usr/lib/crossdirect/[^:]*:,,')"
exec /usr/bin/cargo "$cmd" "$@"
;;
esac
target_dir=${CARGO_TARGET_DIR:-target}
target_already_specified=${CARGO_BUILD_TARGET:+1}
if [ -z "$target_specified" ]; then
for arg in "$@"; do
if [ "$arg_target_dir" = 1 ]; then
target_dir=$arg
arg_target_dir=0
fi
case "$arg" in
--target|--target=*)
target_already_specified=1
break
;;
--target-dir)
arg_target_dir=1
;;
--target-dir=*)
target_dir=${arg##--target-dir=}
;;
esac
done
fi
if [ -n "$target_already_specified" ]; then
exec /usr/bin/cargo "$cmd" "$@"
fi
/usr/bin/cargo "$cmd" --target=$triplet "$@"
# copy target/$triplet/{release,debug,...} to target/{release,debug,...}
if [ -d "$target_dir/$triplet" ]; then
for dir in "$target_dir/$triplet"/*/; do
build=$(basename "$dir")
rm -rf "$target_dir/$build"
cp -r "$target_dir/$triplet/$build" "$target_dir/$build"
done
fi
+31 -41
View File
@@ -1,48 +1,38 @@
#!/bin/sh -e
rust_triplet() {
# Find the triplets in Alpine's rust APKBUILD or with:
# pmbootstrap chroot -barmhf --add=rust -- ls /usr/lib/rustlib
case "$1" in
x86_64)
echo "x86_64-alpine-linux-musl"
;;
armhf)
echo "armv6-alpine-linux-musleabihf"
;;
armv7)
echo "armv7-alpine-linux-musleabihf"
;;
aarch64)
echo "aarch64-alpine-linux-musl"
;;
*)
echo "ERROR: don't know the rust triple for $1!" >&2
exit 1
;;
esac
}
if [ -n "$CROSSDIRECT_DEBUG" ]; then
set -x
fi
arch="@ARCH@" # filled in by APKBUILD
# return the correct host architecture when cargo requests it
if [ "$*" = "-vV" ] || [ "$*" = "-V" ]; then
exec /usr/bin/rustc "$*"
fi
if ! LD_LIBRARY_PATH=/native/lib:/native/usr/lib \
/native/usr/bin/rustc \
# pmbootstrap installs sccache when building a rust program, unless --no-ccache
# is set. In that case it also sets CCACHE_DISABLE.
SCCACHE=/native/usr/bin/sccache
if ! [ -e "$SCCACHE" ] || [ -n "$CCACHE_DISABLE" ]; then
SCCACHE=""
fi
# We expect the right target to be set in the arguments if compiling for the
# target architecture. Our cargo wrapper passes the right "--target" argument
# automatically. If no target is provided, this is probably a macro or a
# build script, so it should be compiled for the native architecture.
if echo "$*" | grep -qFe "--target"; then
# Not using sccache when building for foreign architecture, as it
# doesn't cache the output with "Non-cacheable reasons: --sysroot"
LD_LIBRARY_PATH=/native/lib:/native/usr/lib \
/native/usr/bin/rustc \
-Clinker=/native/usr/lib/crossdirect/rust-qemu-linker \
--target=$(rust_triplet "$arch") \
--sysroot=/usr \
"$@"; then
echo "---" >&2
echo "WARNING: crossdirect: cross compiling with rustc failed, trying"\
"again with rustc + qemu" >&2
echo "---" >&2
# Usually the crossdirect approach works; however, when passing
# --extern to rustc with a dynamic library (.so), it fails with an
# error like 'can't find crate for `serde_derive`' (although the crate
# does exist). I think it fails to parse the metadata of the so file
# for some reason. We probably need to adjust rustc's
# librustc_metadata/locator.rs or something (and upstream that
# change!), but I've spent enough time on this already. Let's simply
# fall back to compiling in qemu in the very few cases where this is
# necessary.
/usr/bin/rustc "$@"
"$@"
else
PATH=/native/usr/bin:/native/bin \
LD_LIBRARY_PATH=/native/lib:/native/usr/lib \
$SCCACHE \
/native/usr/bin/rustc \
-Clink-arg=-Wl,-rpath,/native/lib:/native/usr/lib \
"$@"
fi
+2 -2
View File
@@ -1,7 +1,7 @@
From 75e758609803afe6ced6cd7799b4159f3848a8d5 Mon Sep 17 00:00:00 2001
From 47b4bd4deb2c356bb07d2a96f22127aefafec3a4 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Fri, 26 Jan 2018 20:32:50 +0000
Subject: [PATCH 01/33] posix_memalign
Subject: [PATCH 01/35] posix_memalign
---
gcc/config/i386/pmm_malloc.h | 9 +++++----
@@ -1,7 +1,7 @@
From 447c2a21d1fa8c2c3b216102a808834d86f12104 Mon Sep 17 00:00:00 2001
From 4fa620d8c3e6730211bfb071eb4c817320491bd0 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 29 Mar 2013 08:59:00 +0400
Subject: [PATCH 02/33] gcc: poison-system-directories
Subject: [PATCH 02/35] gcc: poison-system-directories
Add /sw/include and /opt/include based on the original
zecke-no-host-includes.patch patch. The original patch checked for
@@ -120,7 +120,7 @@ index 09082e8ccae..5504bf6eb01 100644
AC_SUBST(subdirs)
AC_SUBST(srcdir)
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index b61ecfc1bc8..b290908679e 100644
index af0e5933fdb..b6731a4673c 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -384,6 +384,7 @@ Objective-C and Objective-C++ Dialects}.
@@ -131,7 +131,7 @@ index b61ecfc1bc8..b290908679e 100644
-Wno-pragmas -Wno-prio-ctor-dtor -Wredundant-decls
-Wrestrict -Wno-return-local-addr -Wreturn-type
-Wno-scalar-storage-order -Wsequence-point
@@ -8424,6 +8425,14 @@ made up of data only and thus requires no special treatment. But, for
@@ -8426,6 +8427,14 @@ made up of data only and thus requires no special treatment. But, for
most targets, it is made up of code and thus requires the stack to be
made executable in order for the program to work properly.
@@ -1,7 +1,7 @@
From b5c378c4c1e71b2dd8b4616d8f61530ee1a3ac98 Mon Sep 17 00:00:00 2001
From ff4dd4ce33133e675b7bedc86b73357c04631cb9 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:45:49 +0000
Subject: [PATCH 03/33] specs: turn on -Wl,-z,now by default
Subject: [PATCH 03/35] specs: turn on -Wl,-z,now by default
Previously, we also used to turn on -z relro here, but we now build
binutils with --enable-relro, which is functionally equivalent.
@@ -14,10 +14,10 @@ now by default.
2 files changed, 4 insertions(+)
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index b290908679e..cb34e6d40c9 100644
index b6731a4673c..f393c7846c6 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -17959,6 +17959,9 @@ For example, @option{-Wl,-Map,output.map} passes @option{-Map output.map} to the
@@ -17961,6 +17961,9 @@ For example, @option{-Wl,-Map,output.map} passes @option{-Map output.map} to the
linker. When using the GNU linker, you can also get the same effect with
@option{-Wl,-Map=output.map}.
@@ -1,7 +1,7 @@
From bb3ef1f5acfde9658c922d0aef9283fe60328c33 Mon Sep 17 00:00:00 2001
From 1b315235433701e4a974da259b8d651169ddc7ac Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:46:22 +0000
Subject: [PATCH 04/33] Turn on -D_FORTIFY_SOURCE=2 by default for C, C++,
Subject: [PATCH 04/35] Turn on -D_FORTIFY_SOURCE=2 by default for C, C++,
ObjC, ObjC++, if the optimization level is > 0
---
@@ -25,10 +25,10 @@ index 5d64625fcd7..868d69506e4 100644
if (flag_gnu89_inline)
cpp_define (pfile, "__GNUC_GNU_INLINE__");
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index cb34e6d40c9..7f1aa660285 100644
index f393c7846c6..ef3c14a189e 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -11866,6 +11866,12 @@ also turns on the following optimization flags:
@@ -11868,6 +11868,12 @@ also turns on the following optimization flags:
Please note the warning under @option{-fgcse} about
invoking @option{-O2} on programs that use computed gotos.
@@ -1,7 +1,7 @@
From 0727ad9e4a458d090be6fb0cfbe334d8496cd5e0 Mon Sep 17 00:00:00 2001
From 67c0f5789630b27149f60ff831999ef7c1dba5d5 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:46:56 +0000
Subject: [PATCH 05/33] On linux targets pass --as-needed by default to the
Subject: [PATCH 05/35] On linux targets pass --as-needed by default to the
linker, but always link the sanitizer libraries with --no-as-needed.
---
@@ -1,7 +1,7 @@
From dc3e2f629fe7f8df81c74162c66910339ec5d03d Mon Sep 17 00:00:00 2001
From bb25e8489384504cd59e4a2538720863da1fb29c Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:47:43 +0000
Subject: [PATCH 06/33] Enable -Wformat and -Wformat-security by default.
Subject: [PATCH 06/35] Enable -Wformat and -Wformat-security by default.
---
gcc/c-family/c.opt | 4 ++--
@@ -1,7 +1,7 @@
From d25c373cf839df0720f8d345b5ad55147030515a Mon Sep 17 00:00:00 2001
From 4a728ad48a7b437cc6f2697e26603bf648149f86 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:48:24 +0000
Subject: [PATCH 07/33] Enable -Wtrampolines by default.
Subject: [PATCH 07/35] Enable -Wtrampolines by default.
---
gcc/common.opt | 2 +-
@@ -1,7 +1,7 @@
From eb58983c3d3126caaab8ed174571b142a095c132 Mon Sep 17 00:00:00 2001
From 32f24560d0602f7735d5e9efd92fe3151bd72cea Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:49:40 +0000
Subject: [PATCH 08/33] Disable ssp on -nostdlib, -nodefaultlibs and
Subject: [PATCH 08/35] Disable ssp on -nostdlib, -nodefaultlibs and
-ffreestanding Change the buffer size.
---
@@ -1,7 +1,7 @@
From 823afef2053ca4f79ac13f2b0f52b132282ee705 Mon Sep 17 00:00:00 2001
From c7ec8da7280d7f97f5543eb9ddeca7600aafc43c Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:50:33 +0000
Subject: [PATCH 09/33] Ensure that msgfmt doesn't encounter problems during
Subject: [PATCH 09/35] Ensure that msgfmt doesn't encounter problems during
gcc bootstrapping.
Solves error messages like the following:
@@ -1,7 +1,7 @@
From 702cbba342eae468e79d9b42e366b9699c158402 Mon Sep 17 00:00:00 2001
From aaa029bcee68298695b7c4278c90b6bc320d098c Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:52:07 +0000
Subject: [PATCH 10/33] Don't declare asprintf if defined as a macro.
Subject: [PATCH 10/35] Don't declare asprintf if defined as a macro.
---
include/libiberty.h | 3 +++
@@ -1,7 +1,7 @@
From 18f0ecbdab63b0ee590ef21650ac72879318a8be Mon Sep 17 00:00:00 2001
From 65e01e749205c9af218b01233cebd0077538d0ee Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:53:00 +0000
Subject: [PATCH 11/33] libiberty: copy PIC objects during build process
Subject: [PATCH 11/35] libiberty: copy PIC objects during build process
---
libiberty/Makefile.in | 1 +
+2 -2
View File
@@ -1,7 +1,7 @@
From e350a47267790a1a624032a645425b4018433e0c Mon Sep 17 00:00:00 2001
From 453a815bf2844971a91eaef800af188d9e86b784 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Sat, 24 Oct 2015 20:09:53 +0000
Subject: [PATCH 12/33] libgcc_s
Subject: [PATCH 12/35] libgcc_s
---
gcc/config/i386/i386-expand.cc | 4 ++--
+2 -2
View File
@@ -1,7 +1,7 @@
From 6ed790bb2e5bf49d186885cad8fd7efc10d8fd36 Mon Sep 17 00:00:00 2001
From 7d7d12137c666761a8dd61179c9651b85dae9b41 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Sat, 7 Nov 2015 02:08:05 +0000
Subject: [PATCH 13/33] nopie
Subject: [PATCH 13/35] nopie
---
gcc/configure | 27 +++++++++++++++++++++++++++
@@ -1,7 +1,7 @@
From c7398885b5c2cd91a3ad1a56fde272b719d17ff5 Mon Sep 17 00:00:00 2001
From dd5bb97c31a9f57034c70a7a18ba6e2e133084c7 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:59:16 +0000
Subject: [PATCH 14/33] ada: fix shared linking
Subject: [PATCH 14/35] ada: fix shared linking
---
gcc/ada/link.c | 12 ++++++------
@@ -1,7 +1,7 @@
From c2861147eacede8c97dbb8d251f7d30ac2116481 Mon Sep 17 00:00:00 2001
From 6bb5b7d9161d05f31b001d8211a9c63caf63fd2f Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:59:43 +0000
Subject: [PATCH 15/33] build: fix CXXFLAGS_FOR_BUILD passing
Subject: [PATCH 15/35] build: fix CXXFLAGS_FOR_BUILD passing
---
Makefile.in | 1 +
@@ -1,7 +1,7 @@
From 736fd338aaa6d0686b15beabac687a20cfb29c27 Mon Sep 17 00:00:00 2001
From f0d9e00cac06689f64b214de7aee80d7116ef084 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 07:01:06 +0000
Subject: [PATCH 16/33] add fortify-headers paths
Subject: [PATCH 16/35] add fortify-headers paths
---
gcc/config/linux.h | 2 ++
@@ -1,7 +1,7 @@
From f71fef0a3d527ba84faaf63cee2a5ecb2322412e Mon Sep 17 00:00:00 2001
From 857db04f4f1a06e866551b4172fe8f27363f4a92 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
Date: Fri, 21 Aug 2020 07:03:00 +0000
Subject: [PATCH 17/33] Alpine musl package provides libssp_nonshared.a. We
Subject: [PATCH 17/35] Alpine musl package provides libssp_nonshared.a. We
link to it unconditionally, as otherwise we get link failures if some objects
are -fstack-protector built and final link happens with -fno-stack-protector.
This seems to be the common case when bootstrapping gcc, the piepatches do
@@ -1,7 +1,7 @@
From 06624ddc7dfd4dcfb4e41f4549ffcacfbc43b315 Mon Sep 17 00:00:00 2001
From 5a8347e23ab13912b6edec2c6c6e3a101b017c79 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 07:03:42 +0000
Subject: [PATCH 18/33] DP: Use --push-state/--pop-state for gold as well when
Subject: [PATCH 18/35] DP: Use --push-state/--pop-state for gold as well when
linking libtsan.
---
@@ -1,7 +1,7 @@
From cbc762f2d4c8ae714f7a0c762d90453607a5c2e5 Mon Sep 17 00:00:00 2001
From 41d00a2eb0754acf71958808bd17dbebeb517b84 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Thu, 6 Jan 2022 03:12:55 +0000
Subject: [PATCH 19/33] aarch64: disable multilib support
Subject: [PATCH 19/35] aarch64: disable multilib support
multilib is unsupported on Alpine GCC
---
@@ -1,7 +1,7 @@
From f820b730e48421ab03e5742dc06e83570690078e Mon Sep 17 00:00:00 2001
From 85b42bfbba71616831d14360b16998acb28790fd Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Thu, 6 Jan 2022 03:13:59 +0000
Subject: [PATCH 20/33] s390x: disable multilib support
Subject: [PATCH 20/35] s390x: disable multilib support
multilib is not supported on Alpine GCC at present
---
@@ -1,7 +1,7 @@
From 40c3d28f4d090fcd3486ca2a88d0c7618fdb03ed Mon Sep 17 00:00:00 2001
From 7b53df284242638e940c0155b6c21e88cea1f55b Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Thu, 6 Jan 2022 03:14:33 +0000
Subject: [PATCH 21/33] ppc64[le]: disable multilib support
Subject: [PATCH 21/35] ppc64[le]: disable multilib support
multilib is not presently supported on Alpine GCC
---
@@ -1,7 +1,7 @@
From 05cf20eb11b3013c2fbb26c841485f675811058c Mon Sep 17 00:00:00 2001
From 96e7e1e9a899d9bb5fcbdf788bd529d0390c626f Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Thu, 6 Jan 2022 03:14:54 +0000
Subject: [PATCH 22/33] x86_64: disable multilib support
Subject: [PATCH 22/35] x86_64: disable multilib support
multilib is not presently supported on Alpine GCC
---
@@ -1,7 +1,7 @@
From 0920d23e3a345bc17675b9bebc52644c238123e2 Mon Sep 17 00:00:00 2001
From b26224acf342eacb33491f6ea0da1faf73d35715 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Mon, 3 Jan 2022 07:14:48 +0100
Subject: [PATCH 23/33] riscv: disable multilib support
Subject: [PATCH 23/35] riscv: disable multilib support
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -1,7 +1,7 @@
From 5c955776d65f5a018375652904b088a37203899d Mon Sep 17 00:00:00 2001
From a72e0613f79f6b6867819317accb7a714031a08c Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 07:05:41 +0000
Subject: [PATCH 24/33] always build libgcc_eh.a
Subject: [PATCH 24/35] always build libgcc_eh.a
highly inspired by:
http://landley.net/hg/aboriginal/file/7e0747a665ab/sources/patches/gcc-core-libgcceh.patch
@@ -1,7 +1,7 @@
From ac6202d063308fbf67e4b617b768536e66a44519 Mon Sep 17 00:00:00 2001
From 3ee8cbc1cad261b30d4a7a66d31496d5f243ce2f Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 07:06:30 +0000
Subject: [PATCH 25/33] ada: libgnarl compatibility for musl
Subject: [PATCH 25/35] ada: libgnarl compatibility for musl
---
gcc/ada/libgnarl/s-osinte__linux.ads | 11 ------
@@ -1,7 +1,7 @@
From b7404c39a6a76ebe382caa2b9da16006413b21b9 Mon Sep 17 00:00:00 2001
From 3df4788c79c7429b196c7b284af2b4cf9a4b4f8d Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 07:07:48 +0000
Subject: [PATCH 26/33] ada: musl support fixes
Subject: [PATCH 26/35] ada: musl support fixes
---
gcc/ada/Makefile.rtl | 10 +++++-----
@@ -1,7 +1,7 @@
From 401ac3feeea049a8035bf916f550ce6f4e859cba Mon Sep 17 00:00:00 2001
From 7b50823d8a4131e5a55d2499a0f5a52b3d91eed2 Mon Sep 17 00:00:00 2001
From: Drew DeVault <sir@cmpwn.com>
Date: Wed, 9 Dec 2020 07:42:06 +0000
Subject: [PATCH 27/33] configure: Add --enable-autolink-libatomic, use in
Subject: [PATCH 27/35] configure: Add --enable-autolink-libatomic, use in
LINK_GCC_C_SEQUENCE_SPEC [PR81358]
This fixes issues with RISC-V.
@@ -166,10 +166,10 @@ index 57268319de1..56bcaa87620 100644
# Checks for other programs
# -------------------------
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index 928fc6b6d4b..81a677014df 100644
index b30d3691fe6..ccc8e5dbb00 100644
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -2374,6 +2374,14 @@ files, but these changed header paths may conflict with some compilation
@@ -2377,6 +2377,14 @@ files, but these changed header paths may conflict with some compilation
environments. Enabled by default, and may be disabled using
@option{--disable-canonical-system-headers}.
@@ -1,7 +1,7 @@
From cd46156af13743fe93c48d00b0661add2c319226 Mon Sep 17 00:00:00 2001
From 5bbbd320e54ab5341cfba83e8af98685131caba1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Sun, 29 Aug 2021 12:23:34 +0200
Subject: [PATCH 28/33] configure: fix detection of atomic builtins in
Subject: [PATCH 28/35] configure: fix detection of atomic builtins in
libatomic configure script
Alpine's --enable-autolink-libatomic (which is enabled for riscv64 by
@@ -1,7 +1,7 @@
From f0f2cad36cd4796426ce1c25a6cec7c70a56741e Mon Sep 17 00:00:00 2001
From 430c701a3cefbe09a9c7c8a2f5bbe957f9b2ecb2 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Thu, 30 Jun 2022 16:44:51 +0000
Subject: [PATCH 29/33] libstdc++: do not throw exceptions for non-C locales on
Subject: [PATCH 29/35] libstdc++: do not throw exceptions for non-C locales on
musl targets
---
@@ -1,7 +1,7 @@
From b474c9688ebda225ced95ecea0219312110d9c9e Mon Sep 17 00:00:00 2001
From 05f0043755f341a2ff4f845379327076b3e0203d Mon Sep 17 00:00:00 2001
From: Mathias LANG <pro.mathias.lang@gmail.com>
Date: Mon, 17 Jan 2022 03:49:21 +0000
Subject: [PATCH 30/33] gdc: unconditionally link libgphobos against
Subject: [PATCH 30/35] gdc: unconditionally link libgphobos against
libucontext
ref: alpine/aports#13422
@@ -1,7 +1,7 @@
From 6598811df64744ba862e36a6dca88578b01dd46e Mon Sep 17 00:00:00 2001
From 0b89a74fbf77ae6917f043c79cd03db0d6ef0212 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Sat, 16 Jul 2022 09:21:11 +0200
Subject: [PATCH 31/33] druntime: link against libucontext on all platforms
Subject: [PATCH 31/35] druntime: link against libucontext on all platforms
On musl-based Linux distributions, swapcontext etc. are not provided by
musl but instead by libucontext. Hence, we _always_ need to link against
@@ -1,7 +1,7 @@
From 4e84b0a3c019438b25de7c1e844746e4bc83af42 Mon Sep 17 00:00:00 2001
From eeec799f43fbd0bfffc13594585b39d708972511 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Tue, 19 Jul 2022 14:54:07 +0200
Subject: [PATCH 32/33] libgnat: time_t is always 64-bit on musl libc
Subject: [PATCH 32/35] libgnat: time_t is always 64-bit on musl libc
---
gcc/ada/libgnat/s-parame.ads | 2 +-
@@ -1,13 +1,27 @@
From 4cf06fff68090b1681d070a55214f2ab26754edf Mon Sep 17 00:00:00 2001
From b71d21b87e6946c763edad5e420bf22d8a453077 Mon Sep 17 00:00:00 2001
From: psykose <alice@ayaya.dev>
Date: Mon, 29 May 2023 15:33:11 +0000
Subject: [PATCH 33/33] libphobos: do not use LFS64 symbols
Subject: [PATCH 33/35] libphobos: do not use LFS64 symbols
musl does not have these since 1.2.4, we can't use the compat interfaces.
---
libphobos/libdruntime/core/sys/posix/config.d | 2 +-
libphobos/libdruntime/core/sys/posix/sys/mman.d | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
2 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/libphobos/libdruntime/core/sys/posix/config.d b/libphobos/libdruntime/core/sys/posix/config.d
index ae6752f220e..6b80d1ff0e6 100644
--- a/libphobos/libdruntime/core/sys/posix/config.d
+++ b/libphobos/libdruntime/core/sys/posix/config.d
@@ -88,7 +88,7 @@ else version (CRuntime_Musl)
enum __REDIRECT = false;
// Those three are irrelevant for Musl as it always uses 64 bits off_t
- enum __USE_FILE_OFFSET64 = _FILE_OFFSET_BITS == 64;
+ enum __USE_FILE_OFFSET64 = false;
enum __USE_LARGEFILE = __USE_FILE_OFFSET64 && !__REDIRECT;
enum __USE_LARGEFILE64 = __USE_FILE_OFFSET64 && !__REDIRECT;
diff --git a/libphobos/libdruntime/core/sys/posix/sys/mman.d b/libphobos/libdruntime/core/sys/posix/sys/mman.d
index 0d3d517d69a..323aa0af72d 100644
--- a/libphobos/libdruntime/core/sys/posix/sys/mman.d
@@ -0,0 +1,195 @@
From 4bfcb35bc43d3e3b7510620362d7c28d9e4c17ca Mon Sep 17 00:00:00 2001
From: psykose <alice@ayaya.dev>
Date: Mon, 10 Jul 2023 23:23:29 +0000
Subject: [PATCH 34/35] libgo: fix lfs64 use
---
.../go/internal/syscall/unix/at_largefile.go | 2 +-
libgo/go/os/dir_largefile.go | 2 +-
libgo/go/syscall/libcall_glibc.go | 2 +-
libgo/go/syscall/libcall_linux.go | 4 +--
libgo/go/syscall/libcall_posix_largefile.go | 26 +++++++++----------
libgo/runtime/go-varargs.c | 2 +-
libgo/sysinfo.c | 9 +++----
7 files changed, 22 insertions(+), 25 deletions(-)
diff --git a/libgo/go/internal/syscall/unix/at_largefile.go b/libgo/go/internal/syscall/unix/at_largefile.go
index 82e0dcfd074..16151ecad1b 100644
--- a/libgo/go/internal/syscall/unix/at_largefile.go
+++ b/libgo/go/internal/syscall/unix/at_largefile.go
@@ -10,5 +10,5 @@ import (
"syscall"
)
-//extern fstatat64
+//extern fstatat
func fstatat(int32, *byte, *syscall.Stat_t, int32) int32
diff --git a/libgo/go/os/dir_largefile.go b/libgo/go/os/dir_largefile.go
index 1fc5ee0771f..0c6dffe1a75 100644
--- a/libgo/go/os/dir_largefile.go
+++ b/libgo/go/os/dir_largefile.go
@@ -11,5 +11,5 @@ package os
import "syscall"
-//extern readdir64
+//extern readdir
func libc_readdir(*syscall.DIR) *syscall.Dirent
diff --git a/libgo/go/syscall/libcall_glibc.go b/libgo/go/syscall/libcall_glibc.go
index 5c1ec483c75..5a1245ed44b 100644
--- a/libgo/go/syscall/libcall_glibc.go
+++ b/libgo/go/syscall/libcall_glibc.go
@@ -114,7 +114,7 @@ func Pipe2(p []int, flags int) (err error) {
}
//sys sendfile(outfd int, infd int, offset *Offset_t, count int) (written int, err error)
-//sendfile64(outfd _C_int, infd _C_int, offset *Offset_t, count Size_t) Ssize_t
+//sendfile(outfd _C_int, infd _C_int, offset *Offset_t, count Size_t) Ssize_t
func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
if race.Enabled {
diff --git a/libgo/go/syscall/libcall_linux.go b/libgo/go/syscall/libcall_linux.go
index 03ca7261b59..ad21fd0b3ac 100644
--- a/libgo/go/syscall/libcall_linux.go
+++ b/libgo/go/syscall/libcall_linux.go
@@ -158,7 +158,7 @@ func Reboot(cmd int) (err error) {
//adjtimex(buf *Timex) _C_int
//sys Fstatfs(fd int, buf *Statfs_t) (err error)
-//fstatfs64(fd _C_int, buf *Statfs_t) _C_int
+//fstatfs(fd _C_int, buf *Statfs_t) _C_int
func Gettid() (tid int) {
r1, _, _ := Syscall(SYS_GETTID, 0, 0, 0)
@@ -245,7 +245,7 @@ func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n i
}
//sys Statfs(path string, buf *Statfs_t) (err error)
-//statfs64(path *byte, buf *Statfs_t) _C_int
+//statfs(path *byte, buf *Statfs_t) _C_int
//sysnb Sysinfo(info *Sysinfo_t) (err error)
//sysinfo(info *Sysinfo_t) _C_int
diff --git a/libgo/go/syscall/libcall_posix_largefile.go b/libgo/go/syscall/libcall_posix_largefile.go
index f90055bb29a..334212f0af1 100644
--- a/libgo/go/syscall/libcall_posix_largefile.go
+++ b/libgo/go/syscall/libcall_posix_largefile.go
@@ -10,40 +10,40 @@
package syscall
//sys Creat(path string, mode uint32) (fd int, err error)
-//creat64(path *byte, mode Mode_t) _C_int
+//creat(path *byte, mode Mode_t) _C_int
//sys Fstat(fd int, stat *Stat_t) (err error)
-//fstat64(fd _C_int, stat *Stat_t) _C_int
+//fstat(fd _C_int, stat *Stat_t) _C_int
//sys Ftruncate(fd int, length int64) (err error)
-//ftruncate64(fd _C_int, length Offset_t) _C_int
+//ftruncate(fd _C_int, length Offset_t) _C_int
//sysnb Getrlimit(resource int, rlim *Rlimit) (err error)
-//getrlimit64(resource _C_int, rlim *Rlimit) _C_int
+//getrlimit(resource _C_int, rlim *Rlimit) _C_int
//sys Lstat(path string, stat *Stat_t) (err error)
-//lstat64(path *byte, stat *Stat_t) _C_int
+//lstat(path *byte, stat *Stat_t) _C_int
//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)
-//mmap64(addr *byte, length Size_t, prot _C_int, flags _C_int, fd _C_int, offset Offset_t) *byte
+//mmap(addr *byte, length Size_t, prot _C_int, flags _C_int, fd _C_int, offset Offset_t) *byte
//sys Open(path string, mode int, perm uint32) (fd int, err error)
-//__go_open64(path *byte, mode _C_int, perm Mode_t) _C_int
+//__go_open(path *byte, mode _C_int, perm Mode_t) _C_int
//sys Pread(fd int, p []byte, offset int64) (n int, err error)
-//pread64(fd _C_int, buf *byte, count Size_t, offset Offset_t) Ssize_t
+//pread(fd _C_int, buf *byte, count Size_t, offset Offset_t) Ssize_t
//sys Pwrite(fd int, p []byte, offset int64) (n int, err error)
-//pwrite64(fd _C_int, buf *byte, count Size_t, offset Offset_t) Ssize_t
+//pwrite(fd _C_int, buf *byte, count Size_t, offset Offset_t) Ssize_t
//sys Seek(fd int, offset int64, whence int) (off int64, err error)
-//lseek64(fd _C_int, offset Offset_t, whence _C_int) Offset_t
+//lseek(fd _C_int, offset Offset_t, whence _C_int) Offset_t
//sysnb Setrlimit(resource int, rlim *Rlimit) (err error)
-//setrlimit64(resource int, rlim *Rlimit) _C_int
+//setrlimit(resource int, rlim *Rlimit) _C_int
//sys Stat(path string, stat *Stat_t) (err error)
-//stat64(path *byte, stat *Stat_t) _C_int
+//stat(path *byte, stat *Stat_t) _C_int
//sys Truncate(path string, length int64) (err error)
-//truncate64(path *byte, length Offset_t) _C_int
+//truncate(path *byte, length Offset_t) _C_int
diff --git a/libgo/runtime/go-varargs.c b/libgo/runtime/go-varargs.c
index f84860891e6..7efc9615985 100644
--- a/libgo/runtime/go-varargs.c
+++ b/libgo/runtime/go-varargs.c
@@ -84,7 +84,7 @@ __go_ioctl_ptr (int d, int request, void *arg)
int
__go_open64 (char *path, int mode, mode_t perm)
{
- return open64 (path, mode, perm);
+ return open (path, mode, perm);
}
#endif
diff --git a/libgo/sysinfo.c b/libgo/sysinfo.c
index 180f5c31d74..1d717d55c0e 100644
--- a/libgo/sysinfo.c
+++ b/libgo/sysinfo.c
@@ -366,7 +366,7 @@ typedef loff_t libgo_loff_t_type;
#endif
#if defined(HAVE_OFF64_T)
-typedef off64_t libgo_off_t_type;
+typedef off_t libgo_off_t_type;
#else
typedef off_t libgo_off_t_type;
#endif
@@ -398,13 +398,11 @@ typedef off_t libgo_off_t_type;
// From dirent.h
SREF(dirent);
-SREF(dirent64);
OTREF(DIR);
EREF(DT_UNKNOWN);
// From fcntl.h
SREF(flock);
-SREF(flock64);
// From ffi headers
SREF(_ffi_type);
@@ -485,11 +483,10 @@ EREF(SS_ONSTACK);
EREF(SEGV_MAPERR);
// From stat.h
-SREF(stat64);
+SREF(stat);
// From statfs.h
SREF(statfs);
-SREF(statfs64);
// From sysinfo.h
SREF(sysinfo);
@@ -519,7 +516,7 @@ EREF(PTRACE_PEEKTEXT);
// From sys/resource.h
SREF(rusage);
-SREF(rlimit64);
+SREF(rlimit);
EREF(RLIMIT_NOFILE);
EREF(PRIO_USER);
EREF(RUSAGE_SELF);
--
2.41.0
@@ -0,0 +1,186 @@
https://gcc.gnu.org/PR110792
https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=790c1f60a5662b16eb19eb4b81922995863c7571
https://github.com/randombit/botan/issues/3637
From 85628c5653ff40963158a24c60eeec6a3b5a8e56 Mon Sep 17 00:00:00 2001
From: Roger Sayle <roger@nextmovesoftware.com>
Date: Thu, 3 Aug 2023 07:12:04 +0100
Subject: [PATCH] PR target/110792: Early clobber issues with
rot32di2_doubleword on i386.
This patch is a conservative fix for PR target/110792, a wrong-code
regression affecting doubleword rotations by BITS_PER_WORD, which
effectively swaps the highpart and lowpart words, when the source to be
rotated resides in memory. The issue is that if the register used to
hold the lowpart of the destination is mentioned in the address of
the memory operand, the current define_insn_and_split unintentionally
clobbers it before reading the highpart.
Hence, for the testcase, the incorrectly generated code looks like:
salq $4, %rdi // calculate address
movq WHIRL_S+8(%rdi), %rdi // accidentally clobber addr
movq WHIRL_S(%rdi), %rbp // load (wrong) lowpart
Traditionally, the textbook way to fix this would be to add an
explicit early clobber to the instruction's constraints.
(define_insn_and_split "<insn>32di2_doubleword"
- [(set (match_operand:DI 0 "register_operand" "=r,r,r")
+ [(set (match_operand:DI 0 "register_operand" "=r,r,&r")
(any_rotate:DI (match_operand:DI 1 "nonimmediate_operand" "0,r,o")
(const_int 32)))]
but unfortunately this currently generates significantly worse code,
due to a strange choice of reloads (effectively memcpy), which ends up
looking like:
salq $4, %rdi // calculate address
movdqa WHIRL_S(%rdi), %xmm0 // load the double word in SSE reg.
movaps %xmm0, -16(%rsp) // store the SSE reg back to the stack
movq -8(%rsp), %rdi // load highpart
movq -16(%rsp), %rbp // load lowpart
Note that reload's "&" doesn't distinguish between the memory being
early clobbered, vs the registers used in an addressing mode being
early clobbered.
The fix proposed in this patch is to remove the third alternative, that
allowed offsetable memory as an operand, forcing reload to place the
operand into a register before the rotation. This results in:
salq $4, %rdi
movq WHIRL_S(%rdi), %rax
movq WHIRL_S+8(%rdi), %rdi
movq %rax, %rbp
I believe there's a more advanced solution, by swapping the order of
the loads (if first destination register is mentioned in the address),
or inserting a lea insn (if both destination registers are mentioned
in the address), but this fix is a minimal "safe" solution, that
should hopefully be suitable for backporting.
2023-08-03 Roger Sayle <roger@nextmovesoftware.com>
gcc/ChangeLog
PR target/110792
* config/i386/i386.md (<any_rotate>ti3): For rotations by 64 bits
place operand in a register before gen_<insn>64ti2_doubleword.
(<any_rotate>di3): Likewise, for rotations by 32 bits, place
operand in a register before gen_<insn>32di2_doubleword.
(<any_rotate>32di2_doubleword): Constrain operand to be in register.
(<any_rotate>64ti2_doubleword): Likewise.
gcc/testsuite/ChangeLog
PR target/110792
* g++.target/i386/pr110792.C: New 32-bit C++ test case.
* gcc.target/i386/pr110792.c: New 64-bit C test case.
(cherry picked from commit 790c1f60a5662b16eb19eb4b81922995863c7571)
---
gcc/config/i386/i386.md | 18 ++++++++++++------
gcc/testsuite/g++.target/i386/pr110792.C | 16 ++++++++++++++++
gcc/testsuite/gcc.target/i386/pr110792.c | 18 ++++++++++++++++++
3 files changed, 46 insertions(+), 6 deletions(-)
create mode 100644 gcc/testsuite/g++.target/i386/pr110792.C
create mode 100644 gcc/testsuite/gcc.target/i386/pr110792.c
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index f3a3305..a71e837 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -14359,7 +14359,10 @@
emit_insn (gen_ix86_<insn>ti3_doubleword
(operands[0], operands[1], operands[2]));
else if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) == 64)
- emit_insn (gen_<insn>64ti2_doubleword (operands[0], operands[1]));
+ {
+ operands[1] = force_reg (TImode, operands[1]);
+ emit_insn (gen_<insn>64ti2_doubleword (operands[0], operands[1]));
+ }
else
{
rtx amount = force_reg (QImode, operands[2]);
@@ -14394,7 +14397,10 @@
emit_insn (gen_ix86_<insn>di3_doubleword
(operands[0], operands[1], operands[2]));
else if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) == 32)
- emit_insn (gen_<insn>32di2_doubleword (operands[0], operands[1]));
+ {
+ operands[1] = force_reg (DImode, operands[1]);
+ emit_insn (gen_<insn>32di2_doubleword (operands[0], operands[1]));
+ }
else
FAIL;
@@ -14562,8 +14568,8 @@
})
(define_insn_and_split "<insn>32di2_doubleword"
- [(set (match_operand:DI 0 "register_operand" "=r,r,r")
- (any_rotate:DI (match_operand:DI 1 "nonimmediate_operand" "0,r,o")
+ [(set (match_operand:DI 0 "register_operand" "=r,r")
+ (any_rotate:DI (match_operand:DI 1 "register_operand" "0,r")
(const_int 32)))]
"!TARGET_64BIT"
"#"
@@ -14580,8 +14586,8 @@
})
(define_insn_and_split "<insn>64ti2_doubleword"
- [(set (match_operand:TI 0 "register_operand" "=r,r,r")
- (any_rotate:TI (match_operand:TI 1 "nonimmediate_operand" "0,r,o")
+ [(set (match_operand:TI 0 "register_operand" "=r,r")
+ (any_rotate:TI (match_operand:TI 1 "register_operand" "0,r")
(const_int 64)))]
"TARGET_64BIT"
"#"
diff --git a/gcc/testsuite/g++.target/i386/pr110792.C b/gcc/testsuite/g++.target/i386/pr110792.C
new file mode 100644
index 0000000..ce21a7a
--- /dev/null
+++ b/gcc/testsuite/g++.target/i386/pr110792.C
@@ -0,0 +1,16 @@
+/* { dg-do compile { target ia32 } } */
+/* { dg-options "-O2" } */
+
+template <int ROT, typename T>
+inline T rotr(T input)
+{
+ return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
+}
+
+unsigned long long WHIRL_S[256] = {0x18186018C07830D8};
+unsigned long long whirl(unsigned char x0)
+{
+ const unsigned long long s4 = WHIRL_S[x0&0xFF];
+ return rotr<32>(s4);
+}
+/* { dg-final { scan-assembler-not "movl\tWHIRL_S\\+4\\(,%eax,8\\), %eax" } } */
diff --git a/gcc/testsuite/gcc.target/i386/pr110792.c b/gcc/testsuite/gcc.target/i386/pr110792.c
new file mode 100644
index 0000000..b65125c
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr110792.c
@@ -0,0 +1,18 @@
+/* { dg-do compile { target int128 } } */
+/* { dg-options "-O2" } */
+
+static inline unsigned __int128 rotr(unsigned __int128 input)
+{
+ return ((input >> 64) | (input << (64)));
+}
+
+unsigned __int128 WHIRL_S[256] = {((__int128)0x18186018C07830D8) << 64 |0x18186018C07830D8};
+unsigned __int128 whirl(unsigned char x0)
+{
+ register int t __asm("rdi") = x0&0xFF;
+ const unsigned __int128 s4 = WHIRL_S[t];
+ register unsigned __int128 tt __asm("rdi") = rotr(s4);
+ asm("":::"memory");
+ return tt;
+}
+/* { dg-final { scan-assembler-not "movq\tWHIRL_S\\+8\\(%rdi\\), %rdi" } } */
--
2.41.0
+46 -37
View File
@@ -24,8 +24,8 @@ CBUILDROOT="/"
_cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
pkgname=gcc-aarch64
pkgver=13.1.1_git20230624
# i.e. 13.1.1, must match gcc/BASE-VER
pkgver=13.2.1_git20231014
# i.e. 13.2.1, must match gcc/BASE-VER
_pkgbase="${pkgver%%_git*}"
# date component from snapshots
_pkgsnap="${pkgver##*_git}"
@@ -34,7 +34,7 @@ _pkgsnap="${pkgver##*_git}"
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
pkgname=gcc-aarch64
pkgrel=2
pkgrel=0
pkgdesc="Stage2 cross-compiler for aarch64"
url="https://gcc.gnu.org"
arch="x86_64"
@@ -267,8 +267,14 @@ source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${
0031-druntime-link-against-libucontext-on-all-platforms.patch
0032-libgnat-time_t-is-always-64-bit-on-musl-libc.patch
0033-libphobos-do-not-use-LFS64-symbols.patch
0034-libgo-fix-lfs64-use.patch
0036-PR110792-Early-clobber-issues-with-rot32di2-on-i386.patch
"
# secfixes:
# 13.2.1_git20231014-r0:
# - CVE-2023-4039
# we build out-of-tree
_gccdir="$srcdir"/gcc-${_pkgbase%%.*}-$_pkgsnap
_gcclibdir="/usr/lib/gcc/$CTARGET/${_pkgbase:-$pkgver}"
@@ -426,6 +432,7 @@ package() {
make -j1 DESTDIR="$pkgdir" install
ln -s gcc "$pkgdir"/usr/bin/cc
ln -s ${CTARGET}-gcc "$pkgdir"/usr/bin/${CTARGET}-cc
if $LANG_JIT; then
make -C "$_builddir"/libgccjit-build/gcc DESTDIR="$pkgdir" jit.install-common
@@ -780,38 +787,40 @@ gdb() {
}
sha512sums="
0732cc63e8677d5c7d07d5eee837bf95fbc63d8592511963d3e47b7af816d0f81ad8c0a234c31df003fcd37682badc18e63a6ffe78a8ba3744e289f5319535f7 gcc-13-20230624.tar.xz
5738a25e510d47058ea7acf44f47292c365f74f60f75d600c3bdf79022a78e3c14c87648e23d3f44612833123ba1ae6776c8a6ea4371bf8c2cf31ea8296a0278 0001-posix_memalign.patch
35cba990b41ba8fd2544404a0330ceddfbc7b63475f4ebb515552d5ec494d0099f0585240a36099431ae6dcaf9bd7674ca0224f0dd4310cd3597aabadedd1d07 0002-gcc-poison-system-directories.patch
fa3b349be7e7f49c1d2192a84d6fc6b9f9b750381607711950d3ad5c867c677dac65dc2274fa4227aa6909d6b5e0fcc59b137254202035e930a2c6a0ba494e2f 0003-specs-turn-on-Wl-z-now-by-default.patch
495b08b8b25f25f616fd68d205c23232d8307a35dae81f5d37e248ec704734e40618d5e3855f1cedeaa615b1d03e5a34089695faca9798d51a367a0e3bc59b78 0004-Turn-on-D_FORTIFY_SOURCE-2-by-default-for-C-C-ObjC-O.patch
ee10b0b91e7b0a91a47b6708dd8a41c8f08a89f87a3eed57aed2ea3df5b7109a2a33741651a294a10f056c736beeb0be0fb6004c0517e8687a80bc33be50d8c9 0005-On-linux-targets-pass-as-needed-by-default-to-the-li.patch
87dca73e398acf396ade55b8cd533d3e90889444c27069df9840a57d524d8f045781b4a38f9e0e52595a510049a0832a5067f6f0200df00fc51501316fa7c61b 0006-Enable-Wformat-and-Wformat-security-by-default.patch
5eca632dbb3f709ee92ba89e062642cfcf854aa31426b8eca859432773bff4bffd35fa6a7418a760bed89a30a1f64e1de87b0353e9d332d8abc72c14e236e1ed 0007-Enable-Wtrampolines-by-default.patch
d46546536564f76abcda3a54b0c159175aca7044542fdcdf1f08c46bfabff452e2ba7d535e9e5b04c9c595c3f865bf80bdece8aee4a0bc24baea4f2c94fcf0bb 0008-Disable-ssp-on-nostdlib-nodefaultlibs-and-ffreestand.patch
00ce50efdeb9a31cbd9ca2d2fa22cd27b1d972e96c01948bd9ae95aff7275e6bc894196ff871107c5feadb6cb832119127240f4539fda35d4326955babf5f510 0009-Ensure-that-msgfmt-doesn-t-encounter-problems-during.patch
46a228b875f835fd1c2cae479f5e931cd2afc4124690ebb935ea49a3fc4ed46b69d4c76e18a1d7632283690e9d51fbcb90f478fc0b87d532dc095fcf067de7e6 0010-Don-t-declare-asprintf-if-defined-as-a-macro.patch
b2c5e2af8f6f50da5795de7fb94309149eb63b1dcc31d72147975702b751e7af0f89adbde7e359416a4ad7749c3d251e6c2b8b57c9a24c77e15c9ce4730d5e4a 0011-libiberty-copy-PIC-objects-during-build-process.patch
8c60c72a123d984452b57bc6a7d3dea3ab092e963d459d8a69a27384c8cf2d7e0e718d1dda2957b62cb2d0353dd851e57c3d1791f90adf6a32393b64846677d9 0012-libgcc_s.patch
082a1dcca42899fc7c70616f0b73fc640fbaae8c4f08c960c71bd9f2cda57bf34a662f1f6327a6eb7e026ebe3414ee71303c3354687ad6c14068fdf37025f2e5 0013-nopie.patch
ced25410c21b0bac351ef4a6c2d381f4e0a1c0f4043899bbed2f10ad5f5c39ec6ff4cde07c62d486643a89421c28266798234c318a09a029bc1a79d6adee1c0e 0014-ada-fix-shared-linking.patch
f245428f57f1d59e353b3c1d745c7cb3987689d8ef3cb38e113f69750dca08ed76681ed72b2d5ee659d0d6c33179c4b12eb1d509c0baf185cc8c8549e0c09f8f 0015-build-fix-CXXFLAGS_FOR_BUILD-passing.patch
4fd357f4f24899f742e19680db543647dea556e3144744ac990474ee01f32d28e1724f6f56dac4ba2ce2491aae88ffea16b6f7c33b74132deb2f932d550f119a 0016-add-fortify-headers-paths.patch
dd028aeb2e8a32157a419f4450fa70a96522ce2de88febfac374d11f1340660584c7547eaa287715f585289aa313b17918a52b64bc758778833f387c0e3c3506 0017-Alpine-musl-package-provides-libssp_nonshared.a.-We-.patch
47eb31a354177f4abd699e6bcb29ba688eeb51511b27969a88e25a0153108023ceb3d821fe3ffca0491dafec5341a3186b813519b9d043450eeec990bfc7d7d4 0018-DP-Use-push-state-pop-state-for-gold-as-well-when-li.patch
b77e98c45d28e42ec9f9842b5aab3fd69b8696ea69376a049e7792bd5cef98c730ab5a458406084fb7be2f3c361962c407b72dde3dd27857f55433f3fc749b3c 0019-aarch64-disable-multilib-support.patch
79b3a8ea1fe452a2f8fdf2b15b75754ed00f2993120596e7870622d4d608edf8c3ddc31181dafa40815fdfe277a10d539830484f09a57c3b0ee5677785224e04 0020-s390x-disable-multilib-support.patch
d250d791dd9d5190eee9fc54326830b0e19d9986e801d0576199808c6e211f5137ce71b92e0dbfb1ab910c22311b4b48dbbd63fa9390c2e2491dce80062e5f51 0021-ppc64-le-disable-multilib-support.patch
51206e8132e93bb79f891f0f69461982435fa4212b1bf91c75b9bb9ee7fd25106d53fad21470f4706b5d258fbe1715ef7524d6c2bb94813b7d4a48d949a176f7 0022-x86_64-disable-multilib-support.patch
b774c6a750077a546d1cef0b31812d5d68cf64a8abdd47a30180fb6f3a848941e7986f4a587da9a6ab034e5083068723620319e3f821f0db3ff66dc4c33faf06 0023-riscv-disable-multilib-support.patch
1b6ed17c5798d8fd80826188c35232d0f90843d6cba060ea784fdfa5b5cb2490ac4507ce9802f7f6f50ccb7fe5db34cd6860c256e9da311710c95b1d4870fc1c 0024-always-build-libgcc_eh.a.patch
4b9f4446254720e692478fb016798b44c6ebc021816dff49fe32b6eac4f4da091c47adf46f040df603ee74f4986a832257eaad4d3c594b6d50a23e447c755586 0025-ada-libgnarl-compatibility-for-musl.patch
fbc903ca64f8a17ea8ffce4cb882dd53713dee3b24b729ab81741a8133802b9c95619596829706fcfe26350a33e8558dc9b9edf92802170041c3f4f831b2ff2c 0026-ada-musl-support-fixes.patch
8d3f37bd75a9fea17c277b380aa943ad44989c65e6aabbf09f9c3f35acb1f048dbe361bc788b6ef2133dee3b9f646c56637811fe33171a50a2a024fe9d78e6ef 0027-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch
04a07053c82842f1ec5ec58723c0801659f8174318e32d1e966411422bfa9665f259ba9025d030e0e298608d6eeff423cbe5ed9981717d691a49de8806ead7aa 0028-configure-fix-detection-of-atomic-builtins-in-libato.patch
3398fcb9273e5d76006b2c2c0215cf9ead757faa4751f7a55cf7bc687894ac38da47e76700860ea3c7f8feb18361e4ce8ce6b16a365fdfe4c61032bd53da56e7 0029-libstdc-do-not-throw-exceptions-for-non-C-locales-on.patch
ac86593db92aca836a91dd7ad3060e6c1d92b1b7c685a6fa1b51281f76b091fb07058d8d53f16f7df18eb148fde0526723c6cf6fc4c38471399dc7fde8892307 0030-gdc-unconditionally-link-libgphobos-against-libucont.patch
e2f8901bf30494563373a24cb632a251056cb99dbb9cce789817f12016da323f702d981ce4ba9d7d52eefc33f257568509d391776fd022b012e589b43857c696 0031-druntime-link-against-libucontext-on-all-platforms.patch
434d3739d7e6ecc5017c29711c3a7c207e7c673d2a535607dea78a5a5d265d8efb74b7f726c18efc13e9c80c29385ce1b4e3b53c7d1c9d55bb1b8a217425f3ea 0032-libgnat-time_t-is-always-64-bit-on-musl-libc.patch
8a56a2a1d1c60894ab429ecc8fa3ddbfdd6c7e3cc9f764b4f260695a2cd54442668e9b4c7ba62d833e5dbc05548586aefc344caf9ea87cdf6de60ce3c30f9da9 0033-libphobos-do-not-use-LFS64-symbols.patch
406673a62deba759fc0532a801b3f57cabf894ea328587b23e62a707ba5767b0e3ae9b3f86bf3c6fcf13e8a3c30bc470e6598b625c8231efb629034211c162c2 gcc-13-20231014.tar.xz
1ecffba1b07d60e1b4422302b032bbea918b674c8e12b30aa6965b544d700ce86b61e9f7b8d402c6caf59257f491a394dd0912f0948565d6eae9335ee54f3b35 0001-posix_memalign.patch
163f282455b6a4df33f011bcd8b0440566ba0ffaeeab30d8ac52d39948980a56881ca0eff60687129d59556389a58b9d64e7768750bd70b1fe0fedbc9fc30dc2 0002-gcc-poison-system-directories.patch
3f24bb6a50d3c45b71ea05590e32fe3e69b91377ab185352891d5035c76ed193117c6d0b314a4c364bcf136b9a9dd5c926d6c7c30ab436976c121ebfea8d3ddd 0003-specs-turn-on-Wl-z-now-by-default.patch
17a2993027d3ddf8595952ebcae425695ddc7b1cf73b384d2e55fddecb9cbf3f6482860a502ff69b14075e12badf27300fd3039f3a9005e851fd8d121d258c2b 0004-Turn-on-D_FORTIFY_SOURCE-2-by-default-for-C-C-ObjC-O.patch
444550e55491ff89fe8cbbb4b73d017c9c147cdce1ad5c0561fe7d6ab3834515a814c7676c408cfeec18e1aaace27b3c26a2ffe4a75042285df5124976c38672 0005-On-linux-targets-pass-as-needed-by-default-to-the-li.patch
5a5f57e4e45745bb4d9d63d7d410fe9dd56ce12dbd70c376dd45015909307faf02391e75368e4e7404591614a874cee41b20652cf27be234765d6db97ceb4e7e 0006-Enable-Wformat-and-Wformat-security-by-default.patch
3a2b22388398a93dae7787e794cd580b9c577326f286241e086120c1fcfdd9228c2e00407088ebb163fb1acc21722c199071343551c989a958dc3c845b15132d 0007-Enable-Wtrampolines-by-default.patch
7535de1c552544e3a51cbb00b5e08ac59edbf3bdcfce2a63b9f319fada3f3676f47e3a00c75d91bcefd14500555ea0844f18c130ff46b20f416ea76071e5af39 0008-Disable-ssp-on-nostdlib-nodefaultlibs-and-ffreestand.patch
93d03afd83dee5f7129c36a7b81fa8fd323476507e2f53a4fbe40a026037e7dfafa23591145d7af5848d9a322d212497947a0f58ef828734552e6a6dabd00cfa 0009-Ensure-that-msgfmt-doesn-t-encounter-problems-during.patch
da9eaf2f0ddbec5ee14dc26053936587e6c76fbf16846db804a18cf4d318579426ebcc566aed02daf8e34f60c08b61f5d3959305886dca9bbcdc84db057258d9 0010-Don-t-declare-asprintf-if-defined-as-a-macro.patch
35b9aafe7eee8138cb7aad7164a8f77c15ccdce26843cee78b5871ef91d76cad22ed0871b20f51c4b89b71afd9cfe4ba4227086e158c466558513708fe7d2a1a 0011-libiberty-copy-PIC-objects-during-build-process.patch
9d43f844fad0ac6e1c35a2b6f461f9278ae09e468f2c9ae8adc43accbe6934994aa10d3a433644d1393a4a76e3caed69e3191db7f3c0c24b4e7a0a0a0cbac3f1 0012-libgcc_s.patch
b2c4921c5eef33ee43a92ab5ec7f09d5d3adb49a2416595001e6376ffdf652ef9d0dc21778c3a86e45334290dbe467a4e891ed34a6522e0c72f746def22e8663 0013-nopie.patch
0b50ad15115192699efa9fda3d4fb1c2fa95da06d7880ba34615b40c19a8256e1fe364da39f5c70dc22fbccf21db2de5900932afef68948722eeb25e435262f8 0014-ada-fix-shared-linking.patch
00097c7106625ccf02149a757366f434c48f2abe824bb8b4bf067d29308889cb6039a5e5b2d3bd2683617693b47707d549252c56eea6bc3cdc2450a8d14f46a7 0015-build-fix-CXXFLAGS_FOR_BUILD-passing.patch
7f0bc42b93a389b614054e700b851abfbc53db391aa10cbdf6990d41396b293af78980bb39f1cf0967184d3fbf3d46ac7c7f096717b8f193ea34cbf7f37d7e91 0016-add-fortify-headers-paths.patch
0841acbce81250f8cb140a75ff62958dfcab3bed792822baf1fe4193dd62633648343f4b66df886c12338eed88a98e591b968131416460f9f0274046019bb8ef 0017-Alpine-musl-package-provides-libssp_nonshared.a.-We-.patch
589d538bdf692559e475e53c79869734dede0eb15228cab9ca901c9db81b0e78a0e532b20dfb05ca584ea19ff4bedd83e139ddca912a26b446c5eb6905180536 0018-DP-Use-push-state-pop-state-for-gold-as-well-when-li.patch
2213e07bab6f5d8d3d39c732f5385f46cc8f0c84e35054139fdaf13051252d7bf11f647f54aa8456b532166b008fff0656d8f41278e34ba868dd6fe427427a3a 0019-aarch64-disable-multilib-support.patch
a9567947471c3ba8a547a79c55e183974554bf823d9a97a165c966d7b3caad8789980e096e3b78452ece5de062bd9bb006af464bbf0c5a35b689eac3ee21e5c5 0020-s390x-disable-multilib-support.patch
f382eb5f7c2c60c5a23fac587c9629a3059d7be0898e97a1feaf9b9cbe1ef4693cc1177eb29333e8b7944fa17487478e73958be45d5782ccb9ef501961fb9a96 0021-ppc64-le-disable-multilib-support.patch
44ab86feb8e41e7c2b2e27accdf46194c9b80ee6a39543303dc04824f669d9fad182aabd40c9c7f6c265cf9bb71be830c257be115dc9d701d54eca3aa9ef174e 0022-x86_64-disable-multilib-support.patch
e0763083c31485e8ac0b3724376a28af01bb6f50e1a054780b61886e4e3de2a35d127e6e353eb8d8729964ada9b5751bf05bdd51df539667008216db38f228a3 0023-riscv-disable-multilib-support.patch
ab88a2f63e3545bbc36537aa9a86f2c6c35e41bbf702d6e13743a405cdac4f901eed5737189b780da96647fea9f5d863fdc76373f25a00064106dcb5514d6d87 0024-always-build-libgcc_eh.a.patch
8fdbe0c8bf4ca60f458a33e59027de03d15ac91933fe46d8ca62119346d20b9bc2447c0bf22bceb63d0cf8613ab61512d9197f4e6c2224af473b63ef9f254295 0025-ada-libgnarl-compatibility-for-musl.patch
30369bea84020c32d514196ba3adb3d09d2d0359af5550bd3f9719aa357e44b2f695623c1d2a99416e120dc86896c196c5dd4f638183dced4799604137385367 0026-ada-musl-support-fixes.patch
3f9a406d7d2ce34951215ffbcadb49a45e55ad5c24ab9097c0e5e92383e43b876872ccd2a7e7def2833ab204975ee5733f8bcf90934db9fa9c4f6f56c62081f6 0027-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch
720a4001f9a1fa4122e456077ecff8d3eb8af7c83d0a81f9da6a6cca05b23664206a82a349e34482c48bfe40e99aa5f21567613d0913f6a24f282bc84a994496 0028-configure-fix-detection-of-atomic-builtins-in-libato.patch
2044c23b23726965c0a6fd39f616cc464badd650947cb40495eeabd906a3af629878c1d28b403b8eb46b30a1a0ba39083023290d62f0c99ccf070063226e3f8f 0029-libstdc-do-not-throw-exceptions-for-non-C-locales-on.patch
58e8415612e1042329ad114471852c19f6bf15bf3bfd7cd81ceeafa75778bcc28410a01071a7c8cbf12b8f549acd85723215772813deedb8f266e28b9e01a353 0030-gdc-unconditionally-link-libgphobos-against-libucont.patch
d47b559075f40d526235f47b91da1d0cf6bfe6c5b7311bbfe08af9dd6e8f27e6c7cd82e3b2d529aab0536246fc56e2d42c089b22cacb0e7f09ca4a9d07556994 0031-druntime-link-against-libucontext-on-all-platforms.patch
b325035cb7122d79c6b42ca6d3fc9e02319ed2f7cddb0639dff25d2798d2ce63812cd623462cdf95e21c9ffbf2412193f8b9fc89a4c36fa5a6a041661ac7399d 0032-libgnat-time_t-is-always-64-bit-on-musl-libc.patch
c474f34e6f9a4239d486a65141a133dbe8ce91427d502a57a9fd6eb403478a2b5715ba74f24c1cc0761e16eec77ba2c1ca921fb7d7bc1e040fc3703fc9559e75 0033-libphobos-do-not-use-LFS64-symbols.patch
c4482ffc36e7894b2140800159f4cbc9a3e9011e43a69b69f4fa92d5a11e2ee645c7e21df4423dd1e0636e8890849a5719647bfbdf84f951d638f8f488cb718c 0034-libgo-fix-lfs64-use.patch
cc1e10ac6e72db816f09325e301103109cc212a6f3de3ce0b9b038d149233c467319d203941695dbf3d7b9e2dcbbcd17609cdb056e831fcc323cd592423882d8 0036-PR110792-Early-clobber-issues-with-rot32di2-on-i386.patch
"
-42
View File
@@ -1,42 +0,0 @@
From 75e758609803afe6ced6cd7799b4159f3848a8d5 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Fri, 26 Jan 2018 20:32:50 +0000
Subject: [PATCH 01/33] posix_memalign
---
gcc/config/i386/pmm_malloc.h | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/gcc/config/i386/pmm_malloc.h b/gcc/config/i386/pmm_malloc.h
index 3527283693b..c4071b64b53 100644
--- a/gcc/config/i386/pmm_malloc.h
+++ b/gcc/config/i386/pmm_malloc.h
@@ -27,12 +27,13 @@
#include <stdlib.h>
/* We can't depend on <stdlib.h> since the prototype of posix_memalign
- may not be visible. */
+ may not be visible and we can't pollute the namespace either. */
#ifndef __cplusplus
-extern int posix_memalign (void **, size_t, size_t);
+extern int _mm_posix_memalign (void **, size_t, size_t)
#else
-extern "C" int posix_memalign (void **, size_t, size_t) throw ();
+extern "C" int _mm_posix_memalign (void **, size_t, size_t) throw ()
#endif
+__asm__("posix_memalign");
static __inline void *
_mm_malloc (size_t __size, size_t __alignment)
@@ -42,7 +43,7 @@ _mm_malloc (size_t __size, size_t __alignment)
return malloc (__size);
if (__alignment == 2 || (sizeof (void *) == 8 && __alignment == 4))
__alignment = sizeof (void *);
- if (posix_memalign (&__ptr, __alignment, __size) == 0)
+ if (_mm_posix_memalign (&__ptr, __alignment, __size) == 0)
return __ptr;
else
return NULL;
--
2.41.0
@@ -1,203 +0,0 @@
From 447c2a21d1fa8c2c3b216102a808834d86f12104 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 29 Mar 2013 08:59:00 +0400
Subject: [PATCH 02/33] gcc: poison-system-directories
Add /sw/include and /opt/include based on the original
zecke-no-host-includes.patch patch. The original patch checked for
/usr/include, /sw/include and /opt/include and then triggered a failure and
aborted.
Instead, we add the two missing items to the current scan. If the user
wants this to be a failure, they can add "-Werror=poison-system-directories".
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Pending
---
gcc/common.opt | 4 ++++
gcc/config.in | 6 ++++++
gcc/configure | 16 ++++++++++++++++
gcc/configure.ac | 10 ++++++++++
gcc/doc/invoke.texi | 9 +++++++++
gcc/gcc.cc | 2 ++
gcc/incpath.cc | 21 +++++++++++++++++++++
7 files changed, 68 insertions(+)
diff --git a/gcc/common.opt b/gcc/common.opt
index 862c474d3c8..64c4277c991 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -711,6 +711,10 @@ Wreturn-local-addr
Common Var(warn_return_local_addr) Init(1) Warning
Warn about returning a pointer/reference to a local or temporary variable.
+Wpoison-system-directories
+Common Var(flag_poison_system_directories) Init(1) Warning
+Warn for -I and -L options using system directories if cross compiling
+
Wshadow
Common Var(warn_shadow) Warning
Warn when one variable shadows another. Same as -Wshadow=global.
diff --git a/gcc/config.in b/gcc/config.in
index 4cad077bfbe..0679fbbf4c6 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -236,6 +236,12 @@
#endif
+/* Define to warn for use of native system header directories */
+#ifndef USED_FOR_TARGET
+#undef ENABLE_POISON_SYSTEM_DIRECTORIES
+#endif
+
+
/* Define if you want all operations on RTL (the basic data structure of the
optimizer and back end) to be checked for dynamic type safety at runtime.
This is quite expensive. */
diff --git a/gcc/configure b/gcc/configure
index c7b26d1927d..8c46369f73f 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -1026,6 +1026,7 @@ enable_maintainer_mode
enable_link_mutex
enable_link_serialization
enable_version_specific_runtime_libs
+enable_poison_system_directories
enable_plugin
enable_host_shared
enable_libquadmath_support
@@ -1788,6 +1789,8 @@ Optional Features:
--enable-version-specific-runtime-libs
specify that runtime libraries should be installed
in a compiler-specific directory
+ --enable-poison-system-directories
+ warn for use of native system header directories
--enable-plugin enable plugin support
--enable-host-shared build host code as shared libraries
--disable-libquadmath-support
@@ -31753,6 +31756,19 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then :
fi
+# Check whether --enable-poison-system-directories was given.
+if test "${enable_poison_system_directories+set}" = set; then :
+ enableval=$enable_poison_system_directories;
+else
+ enable_poison_system_directories=no
+fi
+
+if test "x${enable_poison_system_directories}" = "xyes"; then
+
+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
+
+fi
+
# Substitute configuration variables
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 09082e8ccae..5504bf6eb01 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -7292,6 +7292,16 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
[specify that runtime libraries should be
installed in a compiler-specific directory])])
+AC_ARG_ENABLE([poison-system-directories],
+ AS_HELP_STRING([--enable-poison-system-directories],
+ [warn for use of native system header directories]),,
+ [enable_poison_system_directories=no])
+if test "x${enable_poison_system_directories}" = "xyes"; then
+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
+ [1],
+ [Define to warn for use of native system header directories])
+fi
+
# Substitute configuration variables
AC_SUBST(subdirs)
AC_SUBST(srcdir)
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index b61ecfc1bc8..b290908679e 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -384,6 +384,7 @@ Objective-C and Objective-C++ Dialects}.
-Wpacked -Wno-packed-bitfield-compat -Wpacked-not-aligned -Wpadded
-Wparentheses -Wno-pedantic-ms-format
-Wpointer-arith -Wno-pointer-compare -Wno-pointer-to-int-cast
+-Wno-poison-system-directories
-Wno-pragmas -Wno-prio-ctor-dtor -Wredundant-decls
-Wrestrict -Wno-return-local-addr -Wreturn-type
-Wno-scalar-storage-order -Wsequence-point
@@ -8424,6 +8425,14 @@ made up of data only and thus requires no special treatment. But, for
most targets, it is made up of code and thus requires the stack to be
made executable in order for the program to work properly.
+@opindex Wno-poison-system-directories
+@item -Wno-poison-system-directories
+Do not warn for @option{-I} or @option{-L} options using system
+directories such as @file{/usr/include} when cross compiling. This
+option is intended for use in chroot environments when such
+directories contain the correct headers and libraries for the target
+system rather than the host.
+
@opindex Wfloat-equal
@opindex Wno-float-equal
@item -Wfloat-equal
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index 16bb07f2cdc..33b56e721d2 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -1146,6 +1146,8 @@ proper position among the other output files. */
"%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
"%X %{o*} %{e*} %{N} %{n} %{r}\
%{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \
+ %{Wno-poison-system-directories:--no-poison-system-directories} \
+ %{Werror=poison-system-directories:--error-poison-system-directories} \
%{static|no-pie|static-pie:} %@{L*} %(mfwrap) %(link_libgcc) " \
VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o "" \
%{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\
diff --git a/gcc/incpath.cc b/gcc/incpath.cc
index 4d44321183f..0f3f071b44c 100644
--- a/gcc/incpath.cc
+++ b/gcc/incpath.cc
@@ -26,6 +26,7 @@
#include "intl.h"
#include "incpath.h"
#include "cppdefault.h"
+#include "diagnostic-core.h"
/* Microsoft Windows does not natively support inodes.
VMS has non-numeric inodes. */
@@ -399,6 +400,26 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose)
}
fprintf (stderr, _("End of search list.\n"));
}
+
+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
+ if (flag_poison_system_directories)
+ {
+ struct cpp_dir *p;
+
+ for (p = heads[INC_QUOTE]; p; p = p->next)
+ {
+ if ((!strncmp (p->name, "/usr/include", 12))
+ || (!strncmp (p->name, "/usr/local/include", 18))
+ || (!strncmp (p->name, "/usr/X11R6/include", 18))
+ || (!strncmp (p->name, "/sw/include", 11))
+ || (!strncmp (p->name, "/opt/include", 12)))
+ warning (OPT_Wpoison_system_directories,
+ "include location \"%s\" is unsafe for "
+ "cross-compilation",
+ p->name);
+ }
+ }
+#endif
}
/* Use given -I paths for #include "..." but not #include <...>, and
--
2.41.0
@@ -1,44 +0,0 @@
From b5c378c4c1e71b2dd8b4616d8f61530ee1a3ac98 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:45:49 +0000
Subject: [PATCH 03/33] specs: turn on -Wl,-z,now by default
Previously, we also used to turn on -z relro here, but we now build
binutils with --enable-relro, which is functionally equivalent.
Binutils does not appear to have a similar option for enabling -z
now by default.
---
gcc/doc/invoke.texi | 3 +++
gcc/gcc.cc | 1 +
2 files changed, 4 insertions(+)
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index b290908679e..cb34e6d40c9 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -17959,6 +17959,9 @@ For example, @option{-Wl,-Map,output.map} passes @option{-Map output.map} to the
linker. When using the GNU linker, you can also get the same effect with
@option{-Wl,-Map=output.map}.
+NOTE: In Alpine Linux, for LDFLAGS, the option
+@option{-Wl,-z,now} is used. To disable, use @option{-Wl,-z,nonow}.
+
@opindex u
@item -u @var{symbol}
Pretend the symbol @var{symbol} is undefined, to force linking of
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index 33b56e721d2..f82fae23c22 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -1144,6 +1144,7 @@ proper position among the other output files. */
"%{flto|flto=*:%<fcompare-debug*} \
%{flto} %{fno-lto} %{flto=*} %l " LINK_PIE_SPEC \
"%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
+ "-z now " \
"%X %{o*} %{e*} %{N} %{n} %{r}\
%{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \
%{Wno-poison-system-directories:--no-poison-system-directories} \
--
2.41.0
@@ -1,46 +0,0 @@
From bb3ef1f5acfde9658c922d0aef9283fe60328c33 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:46:22 +0000
Subject: [PATCH 04/33] Turn on -D_FORTIFY_SOURCE=2 by default for C, C++,
ObjC, ObjC++, if the optimization level is > 0
---
gcc/c-family/c-cppbuiltin.cc | 4 ++++
gcc/doc/invoke.texi | 6 ++++++
2 files changed, 10 insertions(+)
diff --git a/gcc/c-family/c-cppbuiltin.cc b/gcc/c-family/c-cppbuiltin.cc
index 5d64625fcd7..868d69506e4 100644
--- a/gcc/c-family/c-cppbuiltin.cc
+++ b/gcc/c-family/c-cppbuiltin.cc
@@ -1546,6 +1546,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__");
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index cb34e6d40c9..7f1aa660285 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -11866,6 +11866,12 @@ also turns on the following optimization flags:
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}.
+
@opindex O3
@item -O3
Optimize yet more. @option{-O3} turns on all optimizations specified
--
2.41.0
@@ -1,272 +0,0 @@
From 0727ad9e4a458d090be6fb0cfbe334d8496cd5e0 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:46:56 +0000
Subject: [PATCH 05/33] On linux targets pass --as-needed by default to the
linker, but always link the sanitizer libraries with --no-as-needed.
---
gcc/config/aarch64/aarch64-linux.h | 1 +
gcc/config/alpha/linux-elf.h | 2 +-
gcc/config/arm/linux-elf.h | 1 +
gcc/config/gnu-user.h | 6 +++---
gcc/config/i386/gnu-user.h | 2 +-
gcc/config/i386/gnu-user64.h | 1 +
gcc/config/ia64/linux.h | 2 +-
gcc/config/mips/gnu-user.h | 1 +
gcc/config/riscv/linux.h | 1 +
gcc/config/rs6000/linux64.h | 4 ++--
gcc/config/rs6000/sysv4.h | 2 +-
gcc/config/s390/linux.h | 2 +-
gcc/config/sparc/linux.h | 2 +-
gcc/gcc.cc | 28 ++++++++++++++++++++--------
14 files changed, 36 insertions(+), 19 deletions(-)
diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
index 4277f03da2a..b131983a546 100644
--- a/gcc/config/aarch64/aarch64-linux.h
+++ b/gcc/config/aarch64/aarch64-linux.h
@@ -35,6 +35,7 @@
#define CPP_SPEC "%{pthread:-D_REENTRANT}"
#define LINUX_TARGET_LINK_SPEC "%{h*} \
+ --as-needed \
%{static:-Bstatic} \
%{shared:-shared} \
%{symbolic:-Bsymbolic} \
diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h
index 03f783f2ad1..d946e700dda 100644
--- a/gcc/config/alpha/linux-elf.h
+++ b/gcc/config/alpha/linux-elf.h
@@ -37,7 +37,7 @@ along with GCC; see the file COPYING3. If not see
#define ELF_DYNAMIC_LINKER GNU_USER_DYNAMIC_LINKER
-#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
+#define LINK_SPEC "-m elf64alpha --as-needed %{G*} %{relax:-relax} \
%{O*:-O3} %{!O*:-O1} \
%{shared:-shared} \
%{!shared: \
diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
index 7b7b7cbbe14..49c050c6f2c 100644
--- a/gcc/config/arm/linux-elf.h
+++ b/gcc/config/arm/linux-elf.h
@@ -70,6 +70,7 @@
%{rdynamic:-export-dynamic} \
%{!shared:-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}} \
-X \
+ --as-needed \
%{mbig-endian:-EB} %{mlittle-endian:-EL}" \
SUBTARGET_EXTRA_LINK_SPEC
diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h
index eda8010b133..b26b17f2f2a 100644
--- a/gcc/config/gnu-user.h
+++ b/gcc/config/gnu-user.h
@@ -136,7 +136,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define LIBASAN_EARLY_SPEC "%{!shared:libasan_preinit%O%s} " \
"%{static-libasan:%{!shared:" \
LD_STATIC_OPTION " --whole-archive -lasan --no-whole-archive " \
- LD_DYNAMIC_OPTION "}}%{!static-libasan:-lasan}"
+ LD_DYNAMIC_OPTION "}}%{!static-libasan:%{!fuse-ld=gold:--push-state} --no-as-needed -lasan %{fuse-ld=gold:--as-needed;:--pop-state}}"
#undef LIBHWASAN_EARLY_SPEC
#define LIBHWASAN_EARLY_SPEC "%{!shared:libhwasan_preinit%O%s} " \
"%{static-libhwasan:%{!shared:" \
@@ -146,12 +146,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define LIBTSAN_EARLY_SPEC "%{!shared:libtsan_preinit%O%s} " \
"%{static-libtsan:%{!shared:" \
LD_STATIC_OPTION " --whole-archive -ltsan --no-whole-archive " \
- LD_DYNAMIC_OPTION "}}%{!static-libtsan:-ltsan}"
+ LD_DYNAMIC_OPTION "}}%{!static-libtsan:%{!fuse-ld=gold:--push-state} --no-as-needed -ltsan %{fuse-ld=gold:--as-needed;:--pop-state}}"
#undef LIBLSAN_EARLY_SPEC
#define LIBLSAN_EARLY_SPEC "%{!shared:liblsan_preinit%O%s} " \
"%{static-liblsan:%{!shared:" \
LD_STATIC_OPTION " --whole-archive -llsan --no-whole-archive " \
- LD_DYNAMIC_OPTION "}}%{!static-liblsan:-llsan}"
+ LD_DYNAMIC_OPTION "}}%{!static-liblsan:%{!fuse-ld=gold:--push-state} --no-as-needed -llsan %{fuse-ld=gold:--as-needed;:--pop-state}}"
#endif
#undef TARGET_F951_OPTIONS
diff --git a/gcc/config/i386/gnu-user.h b/gcc/config/i386/gnu-user.h
index a79b739089d..e0752673dff 100644
--- a/gcc/config/i386/gnu-user.h
+++ b/gcc/config/i386/gnu-user.h
@@ -68,7 +68,7 @@ along with GCC; see the file COPYING3. If not see
{ "link_emulation", GNU_USER_LINK_EMULATION },\
{ "dynamic_linker", GNU_USER_DYNAMIC_LINKER }
-#define GNU_USER_TARGET_LINK_SPEC "-m %(link_emulation) %{shared:-shared} \
+#define GNU_USER_TARGET_LINK_SPEC "-m %(link_emulation) --as-needed %{shared:-shared} \
%{!shared: \
%{!static: \
%{!static-pie: \
diff --git a/gcc/config/i386/gnu-user64.h b/gcc/config/i386/gnu-user64.h
index 3b63b99acf6..759bf0db86f 100644
--- a/gcc/config/i386/gnu-user64.h
+++ b/gcc/config/i386/gnu-user64.h
@@ -56,6 +56,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
"%{" SPEC_64 ":-m " GNU_USER_LINK_EMULATION64 "} \
%{" SPEC_32 ":-m " GNU_USER_LINK_EMULATION32 "} \
%{" SPEC_X32 ":-m " GNU_USER_LINK_EMULATIONX32 "} \
+ --as-needed \
%{shared:-shared} \
%{!shared: \
%{!static: \
diff --git a/gcc/config/ia64/linux.h b/gcc/config/ia64/linux.h
index 5dfd428aa17..02656dad7fc 100644
--- a/gcc/config/ia64/linux.h
+++ b/gcc/config/ia64/linux.h
@@ -58,7 +58,7 @@ do { \
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
#undef LINK_SPEC
-#define LINK_SPEC "\
+#define LINK_SPEC " --as-needed \
%{shared:-shared} \
%{!shared: \
%{!static: \
diff --git a/gcc/config/mips/gnu-user.h b/gcc/config/mips/gnu-user.h
index a4e5380b589..3cc61bce69f 100644
--- a/gcc/config/mips/gnu-user.h
+++ b/gcc/config/mips/gnu-user.h
@@ -55,6 +55,7 @@ along with GCC; see the file COPYING3. If not see
#undef GNU_USER_TARGET_LINK_SPEC
#define GNU_USER_TARGET_LINK_SPEC "\
%{G*} %{EB} %{EL} %{mips*} %{shared} \
+ -as-needed \
%{!shared: \
%{!static: \
%{rdynamic:-export-dynamic} \
diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h
index 3e625e0f867..f8c2c351e5a 100644
--- a/gcc/config/riscv/linux.h
+++ b/gcc/config/riscv/linux.h
@@ -48,6 +48,7 @@ along with GCC; see the file COPYING3. If not see
"%{mabi=ilp32:_ilp32}"
#define LINK_SPEC "\
+-as-needed \
-melf" XLEN_SPEC DEFAULT_ENDIAN_SPEC "riscv" LD_EMUL_SUFFIX " \
%{mno-relax:--no-relax} \
%{mbig-endian:-EB} \
diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
index 9e457033d11..08016bf224d 100644
--- a/gcc/config/rs6000/linux64.h
+++ b/gcc/config/rs6000/linux64.h
@@ -377,13 +377,13 @@ extern int dot_symbols;
" -m elf64ppc")
#endif
-#define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " %{!shared: %{!static: \
+#define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " --as-needed %{!shared: %{!static: \
%{!static-pie: \
%{rdynamic:-export-dynamic} \
-dynamic-linker " GNU_USER_DYNAMIC_LINKER32 "}}} \
%(link_os_extra_spec32)"
-#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " %{!shared: %{!static: \
+#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " --as-needed %{!shared: %{!static: \
%{!static-pie: \
%{rdynamic:-export-dynamic} \
-dynamic-linker " GNU_USER_DYNAMIC_LINKER64 "}}} \
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
index ae932fc22f0..c8ff0c6dc8e 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -780,7 +780,7 @@ GNU_USER_TARGET_CC1_SPEC
#define GNU_USER_DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER
#endif
-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
+#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --as-needed %{!shared: %{!static: \
%{rdynamic:-export-dynamic} \
-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}"
diff --git a/gcc/config/s390/linux.h b/gcc/config/s390/linux.h
index 02aa1edaff8..64df5801134 100644
--- a/gcc/config/s390/linux.h
+++ b/gcc/config/s390/linux.h
@@ -82,7 +82,7 @@ along with GCC; see the file COPYING3. If not see
#undef LINK_SPEC
#define LINK_SPEC \
- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
+ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --as-needed \
%{shared:-shared} \
%{!shared: \
%{static:-static} \
diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
index 0e33b3cac2c..c2f44546e62 100644
--- a/gcc/config/sparc/linux.h
+++ b/gcc/config/sparc/linux.h
@@ -81,7 +81,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
#undef LINK_SPEC
-#define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
+#define LINK_SPEC "-m elf32_sparc --as-needed %{shared:-shared} \
%{!mno-relax:%{!r:-relax}} \
%{!shared: \
%{!static: \
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index f82fae23c22..da6417dd0d1 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -754,8 +754,11 @@ proper position among the other output files. */
#ifdef LIBASAN_EARLY_SPEC
#define LIBASAN_SPEC STATIC_LIBASAN_LIBS
#elif defined(HAVE_LD_STATIC_DYNAMIC)
-#define LIBASAN_SPEC "%{static-libasan:" LD_STATIC_OPTION \
- "} -lasan %{static-libasan:" LD_DYNAMIC_OPTION "}" \
+#define LIBASAN_SPEC "%{static-libasan:" LD_STATIC_OPTION "}" \
+ " %{!static-libasan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " -lasan " \
+ " %{static-libasan:" LD_DYNAMIC_OPTION "}" \
+ " %{!static-libasan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
STATIC_LIBASAN_LIBS
#else
#define LIBASAN_SPEC "-lasan" STATIC_LIBASAN_LIBS
@@ -790,8 +793,11 @@ proper position among the other output files. */
#ifdef LIBTSAN_EARLY_SPEC
#define LIBTSAN_SPEC STATIC_LIBTSAN_LIBS
#elif defined(HAVE_LD_STATIC_DYNAMIC)
-#define LIBTSAN_SPEC "%{static-libtsan:" LD_STATIC_OPTION \
- "} -ltsan %{static-libtsan:" LD_DYNAMIC_OPTION "}" \
+#define LIBTSAN_SPEC "%{static-libtsan:" LD_STATIC_OPTION "}" \
+ " %{!static-libtsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " -ltsan " \
+ " %{static-libtsan:" LD_DYNAMIC_OPTION "}" \
+ " %{!static-libtsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
STATIC_LIBTSAN_LIBS
#else
#define LIBTSAN_SPEC "-ltsan" STATIC_LIBTSAN_LIBS
@@ -808,8 +814,11 @@ proper position among the other output files. */
#ifdef LIBLSAN_EARLY_SPEC
#define LIBLSAN_SPEC STATIC_LIBLSAN_LIBS
#elif defined(HAVE_LD_STATIC_DYNAMIC)
-#define LIBLSAN_SPEC "%{static-liblsan:" LD_STATIC_OPTION \
- "} -llsan %{static-liblsan:" LD_DYNAMIC_OPTION "}" \
+#define LIBLSAN_SPEC "%{static-liblsan:" LD_STATIC_OPTION "}" \
+ " %{!static-liblsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " -llsan " \
+ " %{static-liblsan:" LD_DYNAMIC_OPTION "}" \
+ " %{!static-liblsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
STATIC_LIBLSAN_LIBS
#else
#define LIBLSAN_SPEC "-llsan" STATIC_LIBLSAN_LIBS
@@ -824,8 +833,11 @@ proper position among the other output files. */
#define STATIC_LIBUBSAN_LIBS \
" %{static-libubsan|static:%:include(libsanitizer.spec)%(link_libubsan)}"
#ifdef HAVE_LD_STATIC_DYNAMIC
-#define LIBUBSAN_SPEC "%{static-libubsan:" LD_STATIC_OPTION \
- "} -lubsan %{static-libubsan:" LD_DYNAMIC_OPTION "}" \
+#define LIBUBSAN_SPEC "%{static-libubsan:" LD_STATIC_OPTION "}" \
+ " %{!static-libubsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " -lubsan " \
+ " %{static-libubsan:" LD_DYNAMIC_OPTION "}" \
+ " %{!static-libubsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
STATIC_LIBUBSAN_LIBS
#else
#define LIBUBSAN_SPEC "-lubsan" STATIC_LIBUBSAN_LIBS
--
2.41.0
@@ -1,34 +0,0 @@
From dc3e2f629fe7f8df81c74162c66910339ec5d03d Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:47:43 +0000
Subject: [PATCH 06/33] Enable -Wformat and -Wformat-security by default.
---
gcc/c-family/c.opt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
index a75038930ae..b98726f33ed 100644
--- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt
@@ -704,7 +704,7 @@ Warn about function calls with format strings that write past the end
of the destination region. Same as -Wformat-overflow=1.
Wformat-security
-C ObjC C++ ObjC++ Var(warn_format_security) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 2, 0)
+C ObjC C++ ObjC++ Var(warn_format_security) Init(1) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 2, 0)
Warn about possible security problems with format functions.
Wformat-signedness
@@ -725,7 +725,7 @@ C ObjC C++ ObjC++ Var(warn_format_zero_length) Warning LangEnabledBy(C ObjC C++
Warn about zero-length formats.
Wformat=
-C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_format) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0) IntegerRange(0, 2)
+C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_format) Init(1) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0) IntegerRange(0, 2)
Warn about printf/scanf/strftime/strfmon format string anomalies.
Wformat-overflow=
--
2.41.0
@@ -1,25 +0,0 @@
From d25c373cf839df0720f8d345b5ad55147030515a Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:48:24 +0000
Subject: [PATCH 07/33] Enable -Wtrampolines by default.
---
gcc/common.opt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/common.opt b/gcc/common.opt
index 64c4277c991..c24839d32bc 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -803,7 +803,7 @@ Common Var(warn_system_headers) Warning
Do not suppress warnings from system headers.
Wtrampolines
-Common Var(warn_trampolines) Warning
+Common Var(warn_trampolines) Init(1) Warning
Warn whenever a trampoline is generated.
Wtrivial-auto-var-init
--
2.41.0
@@ -1,53 +0,0 @@
From eb58983c3d3126caaab8ed174571b142a095c132 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:49:40 +0000
Subject: [PATCH 08/33] Disable ssp on -nostdlib, -nodefaultlibs and
-ffreestanding Change the buffer size.
---
gcc/gcc.cc | 8 +++++++-
gcc/params.opt | 2 +-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index da6417dd0d1..b5a6f200635 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -983,6 +983,12 @@ proper position among the other output files. */
#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}"
#endif
+#ifdef ENABLE_DEFAULT_SSP
+#define NO_SSP_SPEC "%{nostdlib|nodefaultlibs|ffreestanding:-fno-stack-protector} "
+#else
+#define NO_SSP_SPEC ""
+#endif
+
#ifndef LINK_SSP_SPEC
#ifdef TARGET_LIBC_PROVIDES_SSP
#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
@@ -1282,7 +1288,7 @@ static const char *cc1_options =
%{-version:--version}\
%{-help=*:--help=%*}\
%{!fsyntax-only:%{S:%W{o*}%{!o*:-o %w%b.s}}}\
- %{fsyntax-only:-o %j} %{-param*}\
+ %{fsyntax-only:-o %j} %{-param*} " NO_SSP_SPEC "\
%{coverage:-fprofile-arcs -ftest-coverage}\
%{fprofile-arcs|fprofile-generate*|coverage:\
%{!fprofile-update=single:\
diff --git a/gcc/params.opt b/gcc/params.opt
index 823cdb2ff85..5b096899b40 100644
--- a/gcc/params.opt
+++ b/gcc/params.opt
@@ -1006,7 +1006,7 @@ Common Joined UInteger Var(param_ssa_name_def_chain_limit) Init(512) Param Optim
The maximum number of SSA_NAME assignments to follow in determining a value.
-param=ssp-buffer-size=
-Common Joined UInteger Var(param_ssp_buffer_size) Init(8) IntegerRange(1, 65536) Param Optimization
+Common Joined UInteger Var(param_ssp_buffer_size) Init(4) IntegerRange(1, 65536) Param Optimization
The lower bound for a buffer to be considered for stack smashing protection.
-param=stack-clash-protection-guard-size=
--
2.41.0
@@ -1,54 +0,0 @@
From 823afef2053ca4f79ac13f2b0f52b132282ee705 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:50:33 +0000
Subject: [PATCH 09/33] Ensure that msgfmt doesn't encounter problems during
gcc bootstrapping.
Solves error messages like the following:
msgfmt: /var/tmp/portage/sys-devel/gcc-4.1.2/work/build/./gcc/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/libstdc++.so.6)
The libgcc_s.so used during build doesn't satisfy the needs of the
libstdc++.so that msgfmt is linked against. On the other hand, msgfmt
is used as a stand-alone application here, and what library it uses
behind the scenes is of no concern to the gcc build process.
Therefore, simply invoking it "as usual", i.e. without any special
library path, will make it work as expected here.
2011-09-19 Martin von Gagern
References:
https://bugs.gentoo.org/372377
https://bugs.gentoo.org/295480
---
libstdc++-v3/po/Makefile.am | 1 +
libstdc++-v3/po/Makefile.in | 1 +
2 files changed, 2 insertions(+)
diff --git a/libstdc++-v3/po/Makefile.am b/libstdc++-v3/po/Makefile.am
index 12d34910830..61b13762b71 100644
--- a/libstdc++-v3/po/Makefile.am
+++ b/libstdc++-v3/po/Makefile.am
@@ -38,6 +38,7 @@ MSGFMT = msgfmt
EXTRA_DIST = string_literals.cc POTFILES.in $(PACKAGE).pot $(LOCALE_IN)
.po.mo:
+ env --unset=LD_LIBRARY_PATH \
$(MSGFMT) -o $@ $<
all-local: all-local-$(USE_NLS)
diff --git a/libstdc++-v3/po/Makefile.in b/libstdc++-v3/po/Makefile.in
index 8e93445acd2..d6ff06e5ddb 100644
--- a/libstdc++-v3/po/Makefile.in
+++ b/libstdc++-v3/po/Makefile.in
@@ -561,6 +561,7 @@ uninstall-am:
.po.mo:
+ env --unset=LD_LIBRARY_PATH \
$(MSGFMT) -o $@ $<
all-local: all-local-$(USE_NLS)
--
2.41.0
@@ -1,28 +0,0 @@
From 702cbba342eae468e79d9b42e366b9699c158402 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:52:07 +0000
Subject: [PATCH 10/33] Don't declare asprintf if defined as a macro.
---
include/libiberty.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/include/libiberty.h b/include/libiberty.h
index 1d5c779fcff..19e3cb1e31c 100644
--- a/include/libiberty.h
+++ b/include/libiberty.h
@@ -652,8 +652,11 @@ extern void *bsearch_r (const void *, const void *,
/* Like sprintf but provides a pointer to malloc'd storage, which must
be freed by the caller. */
+/* asprintf may be declared as a macro by glibc with __USE_FORTIFY_LEVEL. */
+#ifndef asprintf
extern int asprintf (char **, const char *, ...) ATTRIBUTE_PRINTF_2;
#endif
+#endif
/* Like asprintf but allocates memory without fail. This works like
xmalloc. */
--
2.41.0
@@ -1,24 +0,0 @@
From 18f0ecbdab63b0ee590ef21650ac72879318a8be Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:53:00 +0000
Subject: [PATCH 11/33] libiberty: copy PIC objects during build process
---
libiberty/Makefile.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in
index 72608f3e4a7..58356884728 100644
--- a/libiberty/Makefile.in
+++ b/libiberty/Makefile.in
@@ -265,6 +265,7 @@ $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS)
$(AR) $(AR_FLAGS) $(TARGETLIB) \
$(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \
$(RANLIB) $(TARGETLIB); \
+ cp $(TARGETLIB) ../ ; \
cd ..; \
else true; fi
--
2.41.0
-57
View File
@@ -1,57 +0,0 @@
From e350a47267790a1a624032a645425b4018433e0c Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Sat, 24 Oct 2015 20:09:53 +0000
Subject: [PATCH 12/33] libgcc_s
---
gcc/config/i386/i386-expand.cc | 4 ++--
libgcc/config/i386/cpuinfo.c | 6 +++---
libgcc/config/i386/t-linux | 2 +-
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc
index 0d817fc3f3b..2e99db00db9 100644
--- a/gcc/config/i386/i386-expand.cc
+++ b/gcc/config/i386/i386-expand.cc
@@ -12691,10 +12691,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget,
{
case IX86_BUILTIN_CPU_INIT:
{
- /* Make it call __cpu_indicator_init in libgcc. */
+ /* Make it call __cpu_indicator_init in libgcc.a. */
tree call_expr, fndecl, type;
type = build_function_type_list (integer_type_node, NULL_TREE);
- fndecl = build_fn_decl ("__cpu_indicator_init", type);
+ fndecl = build_fn_decl ("__cpu_indicator_init_local", type);
call_expr = build_call_expr (fndecl, 0);
return expand_expr (call_expr, target, mode, EXPAND_NORMAL);
}
diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c
index 50b6d8248a2..724ced402a1 100644
--- a/libgcc/config/i386/cpuinfo.c
+++ b/libgcc/config/i386/cpuinfo.c
@@ -63,7 +63,7 @@ __cpu_indicator_init (void)
__cpu_features2);
}
-#if defined SHARED && defined USE_ELF_SYMVER
-__asm__ (".symver __cpu_indicator_init, __cpu_indicator_init@GCC_4.8.0");
-__asm__ (".symver __cpu_model, __cpu_model@GCC_4.8.0");
+#ifndef SHARED
+int __cpu_indicator_init_local (void)
+ __attribute__ ((weak, alias ("__cpu_indicator_init")));
#endif
diff --git a/libgcc/config/i386/t-linux b/libgcc/config/i386/t-linux
index 8506a635790..564296f788e 100644
--- a/libgcc/config/i386/t-linux
+++ b/libgcc/config/i386/t-linux
@@ -3,5 +3,5 @@
# t-slibgcc-elf-ver and t-linux
SHLIB_MAPFILES = libgcc-std.ver $(srcdir)/config/i386/libgcc-glibc.ver
-HOST_LIBGCC2_CFLAGS += -mlong-double-80 -DUSE_ELF_SYMVER $(CET_FLAGS)
+HOST_LIBGCC2_CFLAGS += -mlong-double-80 $(CET_FLAGS)
CRTSTUFF_T_CFLAGS += $(CET_FLAGS)
--
2.41.0
-75
View File
@@ -1,75 +0,0 @@
From 6ed790bb2e5bf49d186885cad8fd7efc10d8fd36 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Sat, 7 Nov 2015 02:08:05 +0000
Subject: [PATCH 13/33] nopie
---
gcc/configure | 27 +++++++++++++++++++++++++++
gcc/configure.ac | 13 +++++++++++++
2 files changed, 40 insertions(+)
diff --git a/gcc/configure b/gcc/configure
index 8c46369f73f..e59cbee1767 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -32268,6 +32268,33 @@ fi
$as_echo "$gcc_cv_no_pie" >&6; }
if test "$gcc_cv_no_pie" = "yes"; then
NO_PIE_FLAG="-no-pie"
+else
+ # Check if -nopie works.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -nopie option" >&5
+$as_echo_n "checking for -nopie option... " >&6; }
+if test "${gcc_cv_nopie+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ saved_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -nopie"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int main(void) {return 0;}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ gcc_cv_nopie=yes
+else
+ gcc_cv_nopie=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$saved_LDFLAGS"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_nopie" >&5
+$as_echo "$gcc_cv_nopie" >&6; }
+ if test "$gcc_cv_nopie" = "yes"; then
+ NO_PIE_FLAG="-nopie"
+ fi
fi
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 5504bf6eb01..57268319de1 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -7552,6 +7552,19 @@ AC_CACHE_CHECK([for -no-pie option],
LDFLAGS="$saved_LDFLAGS"])
if test "$gcc_cv_no_pie" = "yes"; then
NO_PIE_FLAG="-no-pie"
+else
+ # Check if -nopie works.
+ AC_CACHE_CHECK([for -nopie option],
+ [gcc_cv_nopie],
+ [saved_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -nopie"
+ AC_LINK_IFELSE([int main(void) {return 0;}],
+ [gcc_cv_nopie=yes],
+ [gcc_cv_nopie=no])
+ LDFLAGS="$saved_LDFLAGS"])
+ if test "$gcc_cv_nopie" = "yes"; then
+ NO_PIE_FLAG="-nopie"
+ fi
fi
AC_SUBST([NO_PIE_FLAG])
--
2.41.0
@@ -1,42 +0,0 @@
From c7398885b5c2cd91a3ad1a56fde272b719d17ff5 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:59:16 +0000
Subject: [PATCH 14/33] ada: fix shared linking
---
gcc/ada/link.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/gcc/ada/link.c b/gcc/ada/link.c
index f2126441208..22cfa9c641f 100644
--- a/gcc/ada/link.c
+++ b/gcc/ada/link.c
@@ -107,9 +107,9 @@ const char *__gnat_default_libgcc_subdir = "lib";
|| defined (__NetBSD__) || defined (__OpenBSD__) \
|| defined (__QNX__)
const char *__gnat_object_file_option = "-Wl,@";
-const char *__gnat_run_path_option = "-Wl,-rpath,";
-char __gnat_shared_libgnat_default = STATIC;
-char __gnat_shared_libgcc_default = STATIC;
+const char *__gnat_run_path_option = "";
+char __gnat_shared_libgnat_default = SHARED;
+char __gnat_shared_libgcc_default = SHARED;
int __gnat_link_max = 8192;
unsigned char __gnat_objlist_file_supported = 1;
const char *__gnat_object_library_extension = ".a";
@@ -129,9 +129,9 @@ const char *__gnat_default_libgcc_subdir = "lib";
#elif defined (__linux__) || defined (__GLIBC__)
const char *__gnat_object_file_option = "-Wl,@";
-const char *__gnat_run_path_option = "-Wl,-rpath,";
-char __gnat_shared_libgnat_default = STATIC;
-char __gnat_shared_libgcc_default = STATIC;
+const char *__gnat_run_path_option = "";
+char __gnat_shared_libgnat_default = SHARED;
+char __gnat_shared_libgcc_default = SHARED;
int __gnat_link_max = 8192;
unsigned char __gnat_objlist_file_supported = 1;
const char *__gnat_object_library_extension = ".a";
--
2.41.0
@@ -1,24 +0,0 @@
From c2861147eacede8c97dbb8d251f7d30ac2116481 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:59:43 +0000
Subject: [PATCH 15/33] build: fix CXXFLAGS_FOR_BUILD passing
---
Makefile.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/Makefile.in b/Makefile.in
index 06a9398e172..6ff2b3f9925 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -178,6 +178,7 @@ BUILD_EXPORTS = \
# built for the build system to override those in BASE_FLAGS_TO_PASS.
EXTRA_BUILD_FLAGS = \
CFLAGS="$(CFLAGS_FOR_BUILD)" \
+ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \
LDFLAGS="$(LDFLAGS_FOR_BUILD)"
# This is the list of directories to built for the host system.
--
2.41.0
@@ -1,25 +0,0 @@
From 736fd338aaa6d0686b15beabac687a20cfb29c27 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 07:01:06 +0000
Subject: [PATCH 16/33] add fortify-headers paths
---
gcc/config/linux.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
index e3aca79cccc..b3537b8fbeb 100644
--- a/gcc/config/linux.h
+++ b/gcc/config/linux.h
@@ -159,6 +159,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#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
--
2.41.0
@@ -1,31 +0,0 @@
From f71fef0a3d527ba84faaf63cee2a5ecb2322412e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
Date: Fri, 21 Aug 2020 07:03:00 +0000
Subject: [PATCH 17/33] Alpine musl package provides libssp_nonshared.a. We
link to it unconditionally, as otherwise we get link failures if some objects
are -fstack-protector built and final link happens with -fno-stack-protector.
This seems to be the common case when bootstrapping gcc, the piepatches do
not seem to fully fix the crosstoolchain and bootstrap sequence wrt.
stack-protector flag usage.
---
gcc/gcc.cc | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index b5a6f200635..6cbb726599b 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -991,8 +991,7 @@ proper position among the other output files. */
#ifndef LINK_SSP_SPEC
#ifdef TARGET_LIBC_PROVIDES_SSP
-#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
- "|fstack-protector-strong|fstack-protector-explicit:}"
+#define LINK_SSP_SPEC "-lssp_nonshared"
#else
#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
"|fstack-protector-strong|fstack-protector-explicit" \
--
2.41.0
@@ -1,69 +0,0 @@
From 06624ddc7dfd4dcfb4e41f4549ffcacfbc43b315 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 07:03:42 +0000
Subject: [PATCH 18/33] DP: Use --push-state/--pop-state for gold as well when
linking libtsan.
---
gcc/gcc.cc | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index 6cbb726599b..59390fd39d6 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -755,10 +755,10 @@ proper position among the other output files. */
#define LIBASAN_SPEC STATIC_LIBASAN_LIBS
#elif defined(HAVE_LD_STATIC_DYNAMIC)
#define LIBASAN_SPEC "%{static-libasan:" LD_STATIC_OPTION "}" \
- " %{!static-libasan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " %{!static-libasan:--push-state --no-as-needed}" \
" -lasan " \
" %{static-libasan:" LD_DYNAMIC_OPTION "}" \
- " %{!static-libasan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
+ " %{!static-libasan:--pop-state}" \
STATIC_LIBASAN_LIBS
#else
#define LIBASAN_SPEC "-lasan" STATIC_LIBASAN_LIBS
@@ -794,10 +794,10 @@ proper position among the other output files. */
#define LIBTSAN_SPEC STATIC_LIBTSAN_LIBS
#elif defined(HAVE_LD_STATIC_DYNAMIC)
#define LIBTSAN_SPEC "%{static-libtsan:" LD_STATIC_OPTION "}" \
- " %{!static-libtsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " %{!static-libtsan:--push-state --no-as-needed}" \
" -ltsan " \
" %{static-libtsan:" LD_DYNAMIC_OPTION "}" \
- " %{!static-libtsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
+ " %{!static-libtsan:--pop-state}" \
STATIC_LIBTSAN_LIBS
#else
#define LIBTSAN_SPEC "-ltsan" STATIC_LIBTSAN_LIBS
@@ -815,10 +815,10 @@ proper position among the other output files. */
#define LIBLSAN_SPEC STATIC_LIBLSAN_LIBS
#elif defined(HAVE_LD_STATIC_DYNAMIC)
#define LIBLSAN_SPEC "%{static-liblsan:" LD_STATIC_OPTION "}" \
- " %{!static-liblsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " %{!static-liblsan:--push-state --no-as-needed}" \
" -llsan " \
" %{static-liblsan:" LD_DYNAMIC_OPTION "}" \
- " %{!static-liblsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
+ " %{!static-liblsan:--pop-state}" \
STATIC_LIBLSAN_LIBS
#else
#define LIBLSAN_SPEC "-llsan" STATIC_LIBLSAN_LIBS
@@ -834,10 +834,10 @@ proper position among the other output files. */
" %{static-libubsan|static:%:include(libsanitizer.spec)%(link_libubsan)}"
#ifdef HAVE_LD_STATIC_DYNAMIC
#define LIBUBSAN_SPEC "%{static-libubsan:" LD_STATIC_OPTION "}" \
- " %{!static-libubsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " %{!static-libubsan:--push-state --no-as-needed}" \
" -lubsan " \
" %{static-libubsan:" LD_DYNAMIC_OPTION "}" \
- " %{!static-libubsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
+ " %{!static-libubsan:--pop-state}" \
STATIC_LIBUBSAN_LIBS
#else
#define LIBUBSAN_SPEC "-lubsan" STATIC_LIBUBSAN_LIBS
--
2.41.0
@@ -1,26 +0,0 @@
From cbc762f2d4c8ae714f7a0c762d90453607a5c2e5 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Thu, 6 Jan 2022 03:12:55 +0000
Subject: [PATCH 19/33] aarch64: disable multilib support
multilib is unsupported on Alpine GCC
---
gcc/config/aarch64/t-aarch64-linux | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux
index 57bf4100fcd..172894b57ef 100644
--- a/gcc/config/aarch64/t-aarch64-linux
+++ b/gcc/config/aarch64/t-aarch64-linux
@@ -22,7 +22,7 @@ LIB1ASMSRC = aarch64/lib1funcs.asm
LIB1ASMFUNCS = _aarch64_sync_cache_range
AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be)
-MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
+MULTILIB_OSDIRNAMES = mabi.lp64=../lib
MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
--
2.41.0
@@ -1,25 +0,0 @@
From f820b730e48421ab03e5742dc06e83570690078e Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Thu, 6 Jan 2022 03:13:59 +0000
Subject: [PATCH 20/33] s390x: disable multilib support
multilib is not supported on Alpine GCC at present
---
gcc/config/s390/t-linux64 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gcc/config/s390/t-linux64 b/gcc/config/s390/t-linux64
index cc6ab367072..7f498ee1cdc 100644
--- a/gcc/config/s390/t-linux64
+++ b/gcc/config/s390/t-linux64
@@ -7,5 +7,5 @@
MULTILIB_OPTIONS = m64/m31
MULTILIB_DIRNAMES = 64 32
-MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:s390x-linux-gnu)
-MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:s390-linux-gnu)
+MULTILIB_OSDIRNAMES = m64=../lib
+MULTILIB_OSDIRNAMES+= m32=../lib32
--
2.41.0
@@ -1,81 +0,0 @@
From 40c3d28f4d090fcd3486ca2a88d0c7618fdb03ed Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Thu, 6 Jan 2022 03:14:33 +0000
Subject: [PATCH 21/33] ppc64[le]: disable multilib support
multilib is not presently supported on Alpine GCC
---
gcc/config/rs6000/t-linux | 6 ++++--
gcc/config/rs6000/t-linux64 | 4 ++--
gcc/config/rs6000/t-linux64bele | 4 ++--
gcc/config/rs6000/t-linux64lebe | 4 ++--
4 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/gcc/config/rs6000/t-linux b/gcc/config/rs6000/t-linux
index 4e371255533..128c75c7d39 100644
--- a/gcc/config/rs6000/t-linux
+++ b/gcc/config/rs6000/t-linux
@@ -2,7 +2,8 @@
# or soft-float.
ifeq (,$(filter $(with_cpu),$(SOFT_FLOAT_CPUS))$(findstring soft,$(with_float)))
ifneq (,$(findstring powerpc64,$(target)))
-MULTILIB_OSDIRNAMES := .=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
+MULTILIB_OSDIRNAMES := m64=../lib
+MULTILIB_OSDIRNAMES += m32=../lib32
else
MULTIARCH_DIRNAME := $(call if_multiarch,powerpc-linux-gnu)
endif
@@ -10,7 +11,8 @@ ifneq (,$(findstring powerpcle,$(target)))
MULTIARCH_DIRNAME := $(subst -linux,le-linux,$(MULTIARCH_DIRNAME))
endif
ifneq (,$(findstring powerpc64le,$(target)))
-MULTILIB_OSDIRNAMES := $(subst -linux,le-linux,$(MULTILIB_OSDIRNAMES))
+MULTILIB_OSDIRNAMES := m64=../lib
+MULTILIB_OSDIRNAMES += m32=../lib32
endif
endif
diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
index 01a94242308..b3a76379c03 100644
--- a/gcc/config/rs6000/t-linux64
+++ b/gcc/config/rs6000/t-linux64
@@ -28,8 +28,8 @@
MULTILIB_OPTIONS := m64/m32
MULTILIB_DIRNAMES := 64 32
MULTILIB_EXTRA_OPTS :=
-MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
-MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
+MULTILIB_OSDIRNAMES := m64=../lib
+MULTILIB_OSDIRNAMES += m32=../lib32
rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.cc
$(COMPILE) $<
diff --git a/gcc/config/rs6000/t-linux64bele b/gcc/config/rs6000/t-linux64bele
index 97c1ee6fb4d..08d72639cb6 100644
--- a/gcc/config/rs6000/t-linux64bele
+++ b/gcc/config/rs6000/t-linux64bele
@@ -2,6 +2,6 @@
MULTILIB_OPTIONS += mlittle
MULTILIB_DIRNAMES += le
-MULTILIB_OSDIRNAMES += $(subst =,.mlittle=,$(subst lible32,lib32le,$(subst lible64,lib64le,$(subst lib,lible,$(subst -linux,le-linux,$(MULTILIB_OSDIRNAMES))))))
-MULTILIB_OSDIRNAMES += $(subst $(if $(findstring 64,$(target)),m64,m32).,,$(filter $(if $(findstring 64,$(target)),m64,m32).mlittle%,$(MULTILIB_OSDIRNAMES)))
+MULTILIB_OSDIRNAMES = m64=../lib
+MULTILIB_OSDIRNAMES+= m32=../lib32
MULTILIB_MATCHES := ${MULTILIB_MATCHES_ENDIAN}
diff --git a/gcc/config/rs6000/t-linux64lebe b/gcc/config/rs6000/t-linux64lebe
index 2e63bdb9fc9..c6e1c5db65d 100644
--- a/gcc/config/rs6000/t-linux64lebe
+++ b/gcc/config/rs6000/t-linux64lebe
@@ -2,6 +2,6 @@
MULTILIB_OPTIONS += mbig
MULTILIB_DIRNAMES += be
-MULTILIB_OSDIRNAMES += $(subst =,.mbig=,$(subst libbe32,lib32be,$(subst libbe64,lib64be,$(subst lib,libbe,$(subst le-linux,-linux,$(MULTILIB_OSDIRNAMES))))))
-MULTILIB_OSDIRNAMES += $(subst $(if $(findstring 64,$(target)),m64,m32).,,$(filter $(if $(findstring 64,$(target)),m64,m32).mbig%,$(MULTILIB_OSDIRNAMES)))
+MULTILIB_OSDIRNAMES := m64=../lib
+MULTILIB_OSDIRNAMES += m32=../lib32
MULTILIB_MATCHES := ${MULTILIB_MATCHES_ENDIAN}
--
2.41.0
@@ -1,26 +0,0 @@
From 05cf20eb11b3013c2fbb26c841485f675811058c Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Thu, 6 Jan 2022 03:14:54 +0000
Subject: [PATCH 22/33] x86_64: disable multilib support
multilib is not presently supported on Alpine GCC
---
gcc/config/i386/t-linux64 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64
index 138956b0962..bc03dab874f 100644
--- a/gcc/config/i386/t-linux64
+++ b/gcc/config/i386/t-linux64
@@ -33,6 +33,6 @@
comma=,
MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG))
MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
-MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu)
-MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu)
+MULTILIB_OSDIRNAMES = m64=../lib
+MULTILIB_OSDIRNAMES+= m32=../lib32
MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
--
2.41.0
@@ -1,76 +0,0 @@
From 0920d23e3a345bc17675b9bebc52644c238123e2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Mon, 3 Jan 2022 07:14:48 +0100
Subject: [PATCH 23/33] riscv: disable multilib support
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
From the musl wiki [1]:
musl does not support sharing an include directory between archs
[…], and thus is not compatible with GCC-style multilib. It is
recommended that distributions build GCC with multilib disabled,
and use library directories named lib, not lib64 or lib32.
For this reason, we patch existing GCC configuration files (gcc/config)
to pin MULTILIB_OSDIRNAMES to lib, there is also a corresponding GCC
upstream bug about this issue [2]. Avoiding the use of lib64 and lib32
directories is a bit more difficult on the RISC-V architecture. This is
due to the fact that the default RISC-V configuration does not only use
the lib64 and lib32 directories but also subdirectories within these
directories for different RISC-V ABIs (e.g. lp64d, lp64, …) [3].
This patch aligns the RISC-V configuration with other architectures by
pinning MULTILIB_OSDIRNAMES to lib for rv64gc (our default RISC-V
-march). Furthermore, this patch removes the ABI-specific startfile
prefix spec. Since both of these impact the default LIBRARY_PATH [4]
this patch thereby aligns the default RISC-V LIBRARY_PATH with that from
other Alpine architectures and thereby fixes #13369 [5].
Incidentally, this also fixes gccgo on riscv64, as without this patch
gccgo is otherwise not able to find the *.gox files for the Go standard
library.
[1]: https://wiki.musl-libc.org/guidelines-for-distributions.html#Multilib/multi_arch
[2]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90077
[3]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103889#c14
[4]: https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/gcc.c;h=d4c8746b0aa322286decf92aa72a12f0a393b655;hb=HEAD#l9122
[5]: https://gitlab.alpinelinux.org/alpine/aports/-/issues/13369
---
gcc/config/riscv/linux.h | 8 --------
gcc/config/riscv/t-linux | 7 +++++--
2 files changed, 5 insertions(+), 10 deletions(-)
diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h
index f8c2c351e5a..8d9881eadeb 100644
--- a/gcc/config/riscv/linux.h
+++ b/gcc/config/riscv/linux.h
@@ -61,11 +61,3 @@ along with GCC; see the file COPYING3. If not see
%{static:-static}}"
#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
-
-#define STARTFILE_PREFIX_SPEC \
- "/lib" XLEN_SPEC "/" ABI_SPEC "/ " \
- "/usr/lib" XLEN_SPEC "/" ABI_SPEC "/ " \
- "/lib/ " \
- "/usr/lib/ "
-
-#define RISCV_USE_CUSTOMISED_MULTI_LIB select_by_abi
diff --git a/gcc/config/riscv/t-linux b/gcc/config/riscv/t-linux
index 216d2776a18..1a8a863853e 100644
--- a/gcc/config/riscv/t-linux
+++ b/gcc/config/riscv/t-linux
@@ -1,3 +1,6 @@
-# Only XLEN and ABI affect Linux multilib dir names, e.g. /lib32/ilp32d/
-MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES)))
+MULTILIB_OPTIONS := march=rv64gc
+MULTILIB_DIRNAMES := rv64gc
+
+MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib,$(MULTILIB_DIRNAMES)))
MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES))
+MULTILIB_MATCHES := march?rv64gc=march?rv64imafdc
--
2.41.0
@@ -1,51 +0,0 @@
From 5c955776d65f5a018375652904b088a37203899d Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 07:05:41 +0000
Subject: [PATCH 24/33] always build libgcc_eh.a
highly inspired by:
http://landley.net/hg/aboriginal/file/7e0747a665ab/sources/patches/gcc-core-libgcceh.patch
---
libgcc/Makefile.in | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in
index 6c4dc79ab71..023cede18a7 100644
--- a/libgcc/Makefile.in
+++ b/libgcc/Makefile.in
@@ -960,8 +960,9 @@ ifneq ($(LIBUNWIND),)
all: libunwind.a
endif
+all: libgcc_eh.a
ifeq ($(enable_shared),yes)
-all: libgcc_eh.a libgcc_s$(SHLIB_EXT)
+all: libgcc_s$(SHLIB_EXT)
ifneq ($(LIBUNWIND),)
all: libunwind$(SHLIB_EXT)
libgcc_s$(SHLIB_EXT): libunwind$(SHLIB_EXT)
@@ -1163,10 +1164,6 @@ install-libunwind:
install-shared:
$(mkinstalldirs) $(DESTDIR)$(inst_libdir)
- $(INSTALL_DATA) libgcc_eh.a $(DESTDIR)$(inst_libdir)/
- chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_eh.a
- $(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_eh.a
-
$(subst @multilib_dir@,$(MULTIDIR),$(subst \
@shlib_base_name@,libgcc_s,$(subst \
@shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(SHLIB_INSTALL))))
@@ -1183,6 +1180,10 @@ ifeq ($(enable_gcov),yes)
$(RANLIB) $(DESTDIR)$(inst_libdir)/libgcov.a
endif
+ $(INSTALL_DATA) libgcc_eh.a $(DESTDIR)$(inst_libdir)/
+ chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_eh.a
+ $(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_eh.a
+
parts="$(INSTALL_PARTS)"; \
for file in $$parts; do \
rm -f $(DESTDIR)$(inst_libdir)/$$file; \
--
2.41.0
@@ -1,135 +0,0 @@
From ac6202d063308fbf67e4b617b768536e66a44519 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 07:06:30 +0000
Subject: [PATCH 25/33] ada: libgnarl compatibility for musl
---
gcc/ada/libgnarl/s-osinte__linux.ads | 11 ------
gcc/ada/libgnarl/s-taprop__linux.adb | 53 ++--------------------------
2 files changed, 3 insertions(+), 61 deletions(-)
diff --git a/gcc/ada/libgnarl/s-osinte__linux.ads b/gcc/ada/libgnarl/s-osinte__linux.ads
index a5e645d334d..32165347071 100644
--- a/gcc/ada/libgnarl/s-osinte__linux.ads
+++ b/gcc/ada/libgnarl/s-osinte__linux.ads
@@ -403,12 +403,6 @@ package System.OS_Interface is
PTHREAD_RWLOCK_PREFER_WRITER_NP : constant := 1;
PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP : constant := 2;
- function pthread_rwlockattr_setkind_np
- (attr : access pthread_rwlockattr_t;
- pref : int) return int;
- pragma Import
- (C, pthread_rwlockattr_setkind_np, "pthread_rwlockattr_setkind_np");
-
function pthread_rwlock_init
(mutex : access pthread_rwlock_t;
attr : access pthread_rwlockattr_t) return int;
@@ -470,11 +464,6 @@ package System.OS_Interface is
protocol : int) return int;
pragma Import (C, pthread_mutexattr_setprotocol);
- function pthread_mutexattr_setprioceiling
- (attr : access pthread_mutexattr_t;
- prioceiling : int) return int;
- pragma Import (C, pthread_mutexattr_setprioceiling);
-
type struct_sched_param is record
sched_priority : int; -- scheduling priority
end record;
diff --git a/gcc/ada/libgnarl/s-taprop__linux.adb b/gcc/ada/libgnarl/s-taprop__linux.adb
index 821ceef30e4..ae95b58e01e 100644
--- a/gcc/ada/libgnarl/s-taprop__linux.adb
+++ b/gcc/ada/libgnarl/s-taprop__linux.adb
@@ -198,9 +198,6 @@ package body System.Task_Primitives.Operations is
pragma Import
(C, GNAT_pthread_condattr_setup, "__gnat_pthread_condattr_setup");
- function GNAT_has_cap_sys_nice return C.int;
- pragma Import
- (C, GNAT_has_cap_sys_nice, "__gnat_has_cap_sys_nice");
-- We do not have pragma Linker_Options ("-lcap"); here, because this
-- library is not present on many Linux systems. 'libcap' is the Linux
-- "capabilities" library, called by __gnat_has_cap_sys_nice.
@@ -210,38 +207,6 @@ package body System.Task_Primitives.Operations is
-- Convert Ada priority to Linux priority. Priorities are 1 .. 99 on
-- GNU/Linux, so we map 0 .. 98 to 1 .. 99.
- function Get_Ceiling_Support return Boolean;
- -- Get the value of the Ceiling_Support constant (see below).
- -- Note well: If this function or related code is modified, it should be
- -- tested by hand, because automated testing doesn't exercise it.
-
- -------------------------
- -- Get_Ceiling_Support --
- -------------------------
-
- function Get_Ceiling_Support return Boolean is
- Ceiling_Support : Boolean := False;
- begin
- if Locking_Policy /= 'C' then
- return False;
- end if;
-
- declare
- function geteuid return Integer;
- pragma Import (C, geteuid, "geteuid");
- Superuser : constant Boolean := geteuid = 0;
- Has_Cap : constant C.int := GNAT_has_cap_sys_nice;
- pragma Assert (Has_Cap in 0 | 1);
- begin
- Ceiling_Support := Superuser or else Has_Cap = 1;
- end;
-
- return Ceiling_Support;
- end Get_Ceiling_Support;
-
- pragma Warnings (Off, "non-preelaborable call not allowed*");
- Ceiling_Support : constant Boolean := Get_Ceiling_Support;
- pragma Warnings (On, "non-preelaborable call not allowed*");
-- True if the locking policy is Ceiling_Locking, and the current process
-- has permission to use this policy. The process has permission if it is
-- running as 'root', or if the capability was set by the setcap command,
@@ -344,7 +309,9 @@ package body System.Task_Primitives.Operations is
-- Init_Mutex --
----------------
+ pragma Warnings (Off, "formal parameter * is not referenced");
function Init_Mutex (L : RTS_Lock_Ptr; Prio : Any_Priority) return C.int is
+ pragma Warnings (On, "formal parameter * is not referenced");
Mutex_Attr : aliased pthread_mutexattr_t;
Result, Result_2 : C.int;
@@ -356,16 +323,7 @@ package body System.Task_Primitives.Operations is
return Result;
end if;
- if Ceiling_Support then
- Result := pthread_mutexattr_setprotocol
- (Mutex_Attr'Access, PTHREAD_PRIO_PROTECT);
- pragma Assert (Result = 0);
-
- Result := pthread_mutexattr_setprioceiling
- (Mutex_Attr'Access, Prio_To_Linux_Prio (Prio));
- pragma Assert (Result = 0);
-
- elsif Locking_Policy = 'I' then
+ if Locking_Policy = 'I' then
Result := pthread_mutexattr_setprotocol
(Mutex_Attr'Access, PTHREAD_PRIO_INHERIT);
pragma Assert (Result = 0);
@@ -405,11 +363,6 @@ package body System.Task_Primitives.Operations is
Result := pthread_rwlockattr_init (RWlock_Attr'Access);
pragma Assert (Result = 0);
- Result := pthread_rwlockattr_setkind_np
- (RWlock_Attr'Access,
- PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
- pragma Assert (Result = 0);
-
Result := pthread_rwlock_init (L.RW'Access, RWlock_Attr'Access);
pragma Assert (Result in 0 | ENOMEM);
--
2.41.0
@@ -1,223 +0,0 @@
From b7404c39a6a76ebe382caa2b9da16006413b21b9 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 07:07:48 +0000
Subject: [PATCH 26/33] ada: musl support fixes
---
gcc/ada/Makefile.rtl | 10 +++++-----
gcc/ada/adaint.c | 34 +++++++++++++++++++---------------
gcc/ada/adaint.h | 10 ++++------
gcc/ada/terminals.c | 8 ++++----
4 files changed, 32 insertions(+), 30 deletions(-)
diff --git a/gcc/ada/Makefile.rtl b/gcc/ada/Makefile.rtl
index 96306f8cc9a..090b6770ae5 100644
--- a/gcc/ada/Makefile.rtl
+++ b/gcc/ada/Makefile.rtl
@@ -1549,7 +1549,7 @@ ifeq ($(strip $(filter-out %86 linux%,$(target_cpu) $(target_os))),)
s-intman.adb<libgnarl/s-intman__posix.adb \
s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
a-exetim.adb<libgnarl/a-exetim__posix.adb \
a-exetim.ads<libgnarl/a-exetim__default.ads \
s-linux.ads<libgnarl/s-linux.ads \
@@ -2174,7 +2174,7 @@ ifeq ($(strip $(filter-out powerpc% linux%,$(target_cpu) $(target_os))),)
s-tasinf.adb<libgnarl/s-tasinf__linux.adb \
s-taspri.ads<libgnarl/s-taspri__posix.ads \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
$(ATOMICS_TARGET_PAIRS) \
$(ATOMICS_BUILTINS_TARGET_PAIRS) \
system.ads<libgnat/system-linux-ppc.ads
@@ -2205,7 +2205,7 @@ ifeq ($(strip $(filter-out powerpc% linux%,$(target_cpu) $(target_os))),)
endif
# ARM linux, GNU eabi
-ifeq ($(strip $(filter-out arm% linux-gnueabi%,$(target_cpu) $(target_os))),)
+ifeq ($(strip $(filter-out arm% linux-gnueabi% linux-musleabi% linux-muslgnueabi%,$(target_cpu) $(target_os))),)
LIBGNAT_TARGET_PAIRS = \
a-intnam.ads<libgnarl/a-intnam__linux.ads \
s-inmaop.adb<libgnarl/s-inmaop__posix.adb \
@@ -2420,7 +2420,7 @@ ifeq ($(strip $(filter-out %ia64 linux%,$(target_cpu) $(target_os))),)
s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \
s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
$(ATOMICS_TARGET_PAIRS) \
$(ATOMICS_BUILTINS_TARGET_PAIRS) \
$(GNATRTL_128BIT_PAIRS) \
@@ -2524,7 +2524,7 @@ ifeq ($(strip $(filter-out %x86_64 linux%,$(target_cpu) $(target_os))),)
s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \
s-taspri.ads<libgnarl/s-taspri__posix.ads \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
$(ATOMICS_TARGET_PAIRS) \
$(X86_64_TARGET_PAIRS) \
$(SIMD_PATH_TARGET_PAIRS) \
diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c
index 8522094164e..92b230a462b 100644
--- a/gcc/ada/adaint.c
+++ b/gcc/ada/adaint.c
@@ -91,6 +91,11 @@
#include <sys/param.h>
#include <sys/pstat.h>
#endif
+
+#if defined (linux) || defined(__linux__)
+#define _GNU_SOURCE 1
+#include <sched.h>
+#endif
#ifdef __PikeOS__
#define __BSD_VISIBLE 1
@@ -3438,7 +3443,6 @@ __gnat_lwp_self (void)
#endif
#if defined (__linux__)
-#include <sched.h>
/* glibc versions earlier than 2.7 do not define the routines to handle
dynamically allocated CPU sets. For these targets, we use the static
@@ -3448,7 +3452,7 @@ __gnat_lwp_self (void)
/* Dynamic cpu sets */
-cpu_set_t *
+void *
__gnat_cpu_alloc (size_t count)
{
return CPU_ALLOC (count);
@@ -3461,33 +3465,33 @@ __gnat_cpu_alloc_size (size_t count)
}
void
-__gnat_cpu_free (cpu_set_t *set)
+__gnat_cpu_free (void *set)
{
- CPU_FREE (set);
+ CPU_FREE ((cpu_set_t *) set);
}
void
-__gnat_cpu_zero (size_t count, cpu_set_t *set)
+__gnat_cpu_zero (size_t count, void *set)
{
- CPU_ZERO_S (count, set);
+ CPU_ZERO_S (count, (cpu_set_t *) set);
}
void
-__gnat_cpu_set (int cpu, size_t count, cpu_set_t *set)
+__gnat_cpu_set (int cpu, size_t count, void *set)
{
/* Ada handles CPU numbers starting from 1, while C identifies the first
CPU by a 0, so we need to adjust. */
- CPU_SET_S (cpu - 1, count, set);
+ CPU_SET_S (cpu - 1, count, (cpu_set_t *) set);
}
#else /* !CPU_ALLOC */
/* Static cpu sets */
-cpu_set_t *
+void *
__gnat_cpu_alloc (size_t count ATTRIBUTE_UNUSED)
{
- return (cpu_set_t *) xmalloc (sizeof (cpu_set_t));
+ return xmalloc (sizeof (cpu_set_t));
}
size_t
@@ -3497,23 +3501,23 @@ __gnat_cpu_alloc_size (size_t count ATTRIBUTE_UNUSED)
}
void
-__gnat_cpu_free (cpu_set_t *set)
+__gnat_cpu_free (void *set)
{
free (set);
}
void
-__gnat_cpu_zero (size_t count ATTRIBUTE_UNUSED, cpu_set_t *set)
+__gnat_cpu_zero (size_t count ATTRIBUTE_UNUSED, void *set)
{
- CPU_ZERO (set);
+ CPU_ZERO ((cpu_set_t *) set);
}
void
-__gnat_cpu_set (int cpu, size_t count ATTRIBUTE_UNUSED, cpu_set_t *set)
+__gnat_cpu_set (int cpu, size_t count ATTRIBUTE_UNUSED, void *set)
{
/* Ada handles CPU numbers starting from 1, while C identifies the first
CPU by a 0, so we need to adjust. */
- CPU_SET (cpu - 1, set);
+ CPU_SET (cpu - 1, (cpu_set_t *) set);
}
#endif /* !CPU_ALLOC */
#endif /* __linux__ */
diff --git a/gcc/ada/adaint.h b/gcc/ada/adaint.h
index 987432c9307..4d782f07de9 100644
--- a/gcc/ada/adaint.h
+++ b/gcc/ada/adaint.h
@@ -319,13 +319,11 @@ extern void *__gnat_lwp_self (void);
/* Routines for interface to required CPU set primitives */
-#include <sched.h>
-
-extern cpu_set_t *__gnat_cpu_alloc (size_t);
+extern void * __gnat_cpu_alloc (size_t);
extern size_t __gnat_cpu_alloc_size (size_t);
-extern void __gnat_cpu_free (cpu_set_t *);
-extern void __gnat_cpu_zero (size_t, cpu_set_t *);
-extern void __gnat_cpu_set (int, size_t, cpu_set_t *);
+extern void __gnat_cpu_free (void *);
+extern void __gnat_cpu_zero (size_t, void *);
+extern void __gnat_cpu_set (int, size_t, void *);
#endif
#if defined (_WIN32)
diff --git a/gcc/ada/terminals.c b/gcc/ada/terminals.c
index c0ee4a16bb1..ed796a48c1b 100644
--- a/gcc/ada/terminals.c
+++ b/gcc/ada/terminals.c
@@ -1127,7 +1127,7 @@ __gnat_setup_winsize (void *desc ATTRIBUTE_UNUSED,
/* POSIX does not specify how to open the master side of a terminal.Several
methods are available (system specific):
1- using a cloning device (USE_CLONE_DEVICE)
- 2- getpt (USE_GETPT)
+ 2- posix_openpt (USE_POSIX_OPENPT)
3- openpty (USE_OPENPTY)
When using the cloning device method, the macro USE_CLONE_DEVICE should
@@ -1141,7 +1141,7 @@ __gnat_setup_winsize (void *desc ATTRIBUTE_UNUSED,
#if defined (__APPLE__) || defined (BSD)
#define USE_OPENPTY
#elif defined (__linux__)
-#define USE_GETPT
+#define USE_POSIX_OPENPT
#elif defined (__sun__)
#define USE_CLONE_DEVICE "/dev/ptmx"
#elif defined (_AIX)
@@ -1190,8 +1190,8 @@ allocate_pty_desc (pty_desc **desc) {
int master_fd = -1;
char *slave_name = NULL;
-#ifdef USE_GETPT
- master_fd = getpt ();
+#if defined(USE_POSIX_OPENPT)
+ master_fd = posix_openpt(O_RDWR | O_NOCTTY);
#elif defined (USE_OPENPTY)
status = openpty (&master_fd, &slave_fd, NULL, NULL, NULL);
#elif defined (USE_CLONE_DEVICE)
--
2.41.0
@@ -1,256 +0,0 @@
From 401ac3feeea049a8035bf916f550ce6f4e859cba Mon Sep 17 00:00:00 2001
From: Drew DeVault <sir@cmpwn.com>
Date: Wed, 9 Dec 2020 07:42:06 +0000
Subject: [PATCH 27/33] configure: Add --enable-autolink-libatomic, use in
LINK_GCC_C_SEQUENCE_SPEC [PR81358]
This fixes issues with RISC-V.
---
Makefile.in | 1 +
gcc/config.in | 6 ++++++
gcc/config/gnu-user.h | 12 +++++++++++-
gcc/configure | 31 ++++++++++++++++++++++++++++++-
gcc/configure.ac | 21 +++++++++++++++++++++
gcc/doc/install.texi | 8 ++++++++
gcc/doc/tm.texi | 8 +++++++-
gcc/doc/tm.texi.in | 8 +++++++-
gcc/gcc.cc | 12 +++++++++++-
9 files changed, 102 insertions(+), 5 deletions(-)
diff --git a/Makefile.in b/Makefile.in
index 6ff2b3f9925..394b105b271 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -235,6 +235,7 @@ HOST_EXPORTS = \
RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \
READELF_FOR_TARGET="$(READELF_FOR_TARGET)"; export READELF_FOR_TARGET; \
TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
+ TARGET_CONFIGDIRS="$(TARGET_CONFIGDIRS)"; export TARGET_CONFIGDIRS; \
HOST_LIBS="$(STAGE1_LIBS)"; export HOST_LIBS; \
GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \
GMPINC="$(HOST_GMPINC)"; export GMPINC; \
diff --git a/gcc/config.in b/gcc/config.in
index 0679fbbf4c6..ee81139b385 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -118,6 +118,12 @@
#endif
+/* Define if libatomic should always be linked. */
+#ifndef USED_FOR_TARGET
+#undef ENABLE_AUTOLINK_LIBATOMIC
+#endif
+
+
/* Define to 1 to specify that we are using the BID decimal floating point
format instead of DPD */
#ifndef USED_FOR_TARGET
diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h
index b26b17f2f2a..3f64ea46180 100644
--- a/gcc/config/gnu-user.h
+++ b/gcc/config/gnu-user.h
@@ -109,8 +109,18 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
#endif
+#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
+# ifdef LD_AS_NEEDED_OPTION
+# define LINK_LIBATOMIC_SPEC LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION
+# else
+# define LINK_LIBATOMIC_SPEC "-latomic"
+# endif
+#elif !defined(LINK_LIBATOMIC_SPEC)
+# define LINK_LIBATOMIC_SPEC ""
+#endif
+
#define GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC \
- "%{static|static-pie:--start-group} %G %{!nolibc:%L} \
+ "%{static|static-pie:--start-group} %G %{!nolibc:" LINK_LIBATOMIC_SPEC " %L} \
%{static|static-pie:--end-group}%{!static:%{!static-pie:%G}}"
#undef LINK_GCC_C_SEQUENCE_SPEC
diff --git a/gcc/configure b/gcc/configure
index e59cbee1767..787c35d4e25 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -984,6 +984,7 @@ with_changes_root_url
enable_languages
with_multilib_list
with_multilib_generator
+enable_autolink_libatomic
with_zstd
with_zstd_include
with_zstd_lib
@@ -1713,6 +1714,9 @@ Optional Features:
--disable-shared don't provide a shared libgcc
--disable-gcov don't provide libgcov and related host tools
--enable-languages=LIST specify which front-ends to build
+ --enable-autolink-libatomic
+ enable automatic linking of libatomic (ignored if
+ not built)
--disable-rpath do not hardcode runtime library paths
--enable-sjlj-exceptions
arrange to use setjmp/longjmp exception handling
@@ -8329,7 +8333,6 @@ else
fi
-
# Check whether --with-multilib-generator was given.
if test "${with_multilib_generator+set}" = set; then :
withval=$with_multilib_generator; :
@@ -8337,6 +8340,32 @@ else
with_multilib_generator=default
fi
+# If libatomic is available, whether it should be linked automatically
+# Check whether --enable-autolink-libatomic was given.
+if test "${enable_autolink_libatomic+set}" = set; then :
+ enableval=$enable_autolink_libatomic;
+ case $enable_autolink_libatomic in
+ yes | no) ;;
+ *) as_fn_error $? "'$enable_autolink_libatomic' is an invalid value for
+--enable-autolink-libatomic. Valid choices are 'yes' and 'no'." "$LINENO" 5 ;;
+ esac
+
+else
+ enable_autolink_libatomic=''
+fi
+
+
+if test x$enable_autolink_libatomic = xyes; then
+ if echo " ${TARGET_CONFIGDIRS} " | grep " libatomic " > /dev/null 2>&1 ; then
+
+$as_echo "#define ENABLE_AUTOLINK_LIBATOMIC 1" >>confdefs.h
+
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libatomic is not build for this target, --enable-autolink-libatomic ignored" >&5
+$as_echo "$as_me: WARNING: libatomic is not build for this target, --enable-autolink-libatomic ignored" >&2;}
+ fi
+fi
+
# -------------------------
# Checks for other programs
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 57268319de1..56bcaa87620 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -1199,6 +1199,27 @@ AC_ARG_WITH(multilib-generator,
:,
with_multilib_generator=default)
+# If libatomic is available, whether it should be linked automatically
+AC_ARG_ENABLE(autolink-libatomic,
+[AS_HELP_STRING([--enable-autolink-libatomic],
+ [enable automatic linking of libatomic (ignored if not built)])],
+[
+ case $enable_autolink_libatomic in
+ yes | no) ;;
+ *) AC_MSG_ERROR(['$enable_autolink_libatomic' is an invalid value for
+--enable-autolink-libatomic. Valid choices are 'yes' and 'no'.]) ;;
+ esac
+], [enable_autolink_libatomic=''])
+
+if test x$enable_autolink_libatomic = xyes; then
+ if echo " ${TARGET_CONFIGDIRS} " | grep " libatomic " > /dev/null 2>&1 ; then
+ AC_DEFINE(ENABLE_AUTOLINK_LIBATOMIC, 1,
+ [Define if libatomic should always be linked.])
+ else
+ AC_MSG_WARN([libatomic is not build for this target, --enable-autolink-libatomic ignored])
+ fi
+fi
+
# -------------------------
# Checks for other programs
# -------------------------
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index 928fc6b6d4b..81a677014df 100644
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -2374,6 +2374,14 @@ files, but these changed header paths may conflict with some compilation
environments. Enabled by default, and may be disabled using
@option{--disable-canonical-system-headers}.
+@item --enable-autolink-libatomic
+@itemx --disable-autolink-libatomic
+Tell GCC that it should automatically link libatomic; if supported by
+the linker, the file is only linked as needed. This flag is ignored
+when libatomic is not built. Note that this conigure flag is in particular
+useful when building an offloading-target compiler; as for those, a
+user had to specify @code{-foffload=target=-latomic} otherwise.
+
@item --with-glibc-version=@var{major}.@var{minor}
Tell GCC that when the GNU C Library (glibc) is used on the target it
will be version @var{major}.@var{minor} or later. Normally this can
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index a660e33739b..6183c407a2b 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -381,7 +381,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
@defmac LINK_GCC_C_SEQUENCE_SPEC
The sequence in which libgcc and libc are specified to the linker.
-By default this is @code{%G %L %G}.
+By default this is @code{%G LINK_LIBATOMIC_SPEC %L %G}.
+@end defmac
+
+@defmac LINK_LIBATOMIC_SPEC
+This macro is used in the default @code{LINK_GCC_C_SEQUENCE_SPEC} to link
+libatomic. By default, it is unset unless @code{ENABLE_AUTOLINK_LIBATOMIC}
+is set.
@end defmac
@defmac POST_LINK_SPEC
diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in
index f7ab5d48a63..281540aba68 100644
--- a/gcc/doc/tm.texi.in
+++ b/gcc/doc/tm.texi.in
@@ -381,7 +381,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
@defmac LINK_GCC_C_SEQUENCE_SPEC
The sequence in which libgcc and libc are specified to the linker.
-By default this is @code{%G %L %G}.
+By default this is @code{%G LINK_LIBATOMIC_SPEC %L %G}.
+@end defmac
+
+@defmac LINK_LIBATOMIC_SPEC
+This macro is used in the default @code{LINK_GCC_C_SEQUENCE_SPEC} to link
+libatomic. By default, it is unset unless @code{ENABLE_AUTOLINK_LIBATOMIC}
+is set.
@end defmac
@defmac POST_LINK_SPEC
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index 59390fd39d6..dae1dd4cf79 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -974,13 +974,23 @@ proper position among the other output files. */
# define ASM_DEBUG_OPTION_SPEC ""
#endif
+#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
+# ifdef LD_AS_NEEDED_OPTION
+# define LINK_LIBATOMIC_SPEC LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION
+# else
+# define LINK_LIBATOMIC_SPEC "-latomic"
+# endif
+#elif !defined(LINK_LIBATOMIC_SPEC)
+# define LINK_LIBATOMIC_SPEC ""
+#endif
+
/* Here is the spec for running the linker, after compiling all files. */
/* This is overridable by the target in case they need to specify the
-lgcc and -lc order specially, yet not require them to override all
of LINK_COMMAND_SPEC. */
#ifndef LINK_GCC_C_SEQUENCE_SPEC
-#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}"
+#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:" LINK_LIBATOMIC_SPEC " %L %G}"
#endif
#ifdef ENABLE_DEFAULT_SSP
--
2.41.0
@@ -1,57 +0,0 @@
From cd46156af13743fe93c48d00b0661add2c319226 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Sun, 29 Aug 2021 12:23:34 +0200
Subject: [PATCH 28/33] configure: fix detection of atomic builtins in
libatomic configure script
Alpine's --enable-autolink-libatomic (which is enabled for riscv64 by
default) causes the libatomic configure script to incorrectly detect
which builtins are available on riscv64. This then causes incorrect code
generation for libatomic since it assumes compiler builtins to be
available which are not actually available on riscv64.
This commit fixes this issue by disabling linking of libatomic configure
test code entirely, thereby preventing linking against libatomic.
See:
* https://gitlab.alpinelinux.org/alpine/aports/-/issues/12948
* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101996#c6
---
libatomic/configure.tgt | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt
index a92ae9e8309..90b579ca4d8 100644
--- a/libatomic/configure.tgt
+++ b/libatomic/configure.tgt
@@ -30,6 +30,26 @@
# on ${target_cpu}. For example to allow proper use of multilibs.
configure_tgt_pre_target_cpu_XCFLAGS="${XCFLAGS}"
+# The libatomic configure script performs several checks to determine
+# whether builtins for atomic operations are available. When compiling
+# with --enable-autolink-libatomic the test code compiled by the
+# configure script is also linked against libatomic. This causes it
+# to think that builtins are available, even if there are not, since
+# the tested symbols are provided by libatomic.
+#
+# This is a hack to ensure that we don't link against libatomic by not
+# linking any configure test code at all when --enable-autolink-libatomic
+# is given.
+#
+# See:
+#
+# * https://gitlab.alpinelinux.org/alpine/aports/-/issues/12817
+# * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101996#c4
+#
+if test x$enable_autolink_libatomic = xyes; then
+ gcc_no_link=yes
+fi
+
case "${target_cpu}" in
alpha*)
# fenv.c needs this option to generate inexact exceptions.
--
2.41.0
Loaded 100 of 5140 files, more files were not shown because too many files have changed in this diff. Show more