Compare commits

..
Author SHA1 Message Date
Luca Weiss a58e8dc160 testing/linux-next: drop
The package doesn't build right now and is blocking package publishing.
Re-introduce it once we get it building again.

  drivers/tty/vt/conmakehash.c:15:10: fatal error: linux/limits.h: No such file or directory
     15 | #include <linux/limits.h>
        |          ^~~~~~~~~~~~~~~~
  compilation terminated.
2024-08-08 08:58:13 +02:00
postmarketOS CI 55ce906b5e linux-next: upgrade to next-20240808 2024-08-08 04:31:49 +00:00
postmarketOS CI 97518d09ce linux-next: upgrade to next-20240807 2024-08-07 18:31:51 +00:00
Arnav Singh 553deb6c91 device-pine64-pinephone: reduce diff between upstream alsa ucm conf and ours (MR 5462)
Upstream ALSA UCM conf still does not work exactly for us, but parts of it do.
This commit incorporates those parts to reduce the diff between the two.

One of the changes is to move /usr/share/alsa/ucm2/PinePhone/* to
.../ucm2/Allwinner/A64/PinePhone/* to match upstream, and to
stop creating the symlink .../ucm2/conf.d/simple-card/PinePhone.conf
since upstream already provides it. However this means that just upgrading
device-pine64-pinephone will remove the symlink and not replace the symlink
from upstream package. Users will need to run
`apk fix --reinstall alsa-ucm-conf` to recreate it, and will not have sound
until they do.

Ref: #2115
2024-08-07 10:46:19 -07:00
postmarketOS CI 1f36962369 linux-next: upgrade to next-20240806 2024-08-06 18:31:51 +00:00
adamthiede bcf95d86de linux-postmarketos-mediatek-mt8173: upgrade to 6.10.3 (MR 5460)
[ci:skip-build]: already built successfully in CI
2024-08-06 11:05:02 -07:00
Luca Weiss 206a5715af linux-postmarketos-qcom-sc7280: upgrade to 6.10.3 (MR 5464)
[ci:skip-build]: already built successfully in CI
2024-08-06 10:49:19 -07:00
Luca Weiss 602b105468 linux-postmarketos-qcom-sm6350: upgrade to 6.10.3 (MR 5463)
[ci:skip-build]: already built successfully in CI
2024-08-06 10:46:00 -07:00
Clayton Craft 488ed10dac device-lenovo-21bx: add modules to fix booting from usb (MR 5465)
fixes #3069

[ci:skip-build] already built successfully in CI
2024-08-06 09:56:59 -07:00
Clayton Craft 5c4e80a5fa device-generic-x86_64: add oem-nvidia to pmb_recommends (MR 5332)
[ci:skip-vercheck]
[ci:skip-build] already built successfully in CI
2024-08-06 09:53:43 -07:00
Clayton Craft 18a367600e device/oem-nvidia: new aport (MR 5332)
For adding nvidia gpu support to images, using nouveau.
2024-08-06 09:53:26 -07:00
postmarketOS CI 0cd24d14e4 linux-next: revert to next-20240730 2024-08-06 14:54:04 +02:00
postmarketOS CI 351a1fc50a linux-next: upgrade to next-20240805 2024-08-05 18:31:50 +00:00
Oliver Smith 42fefe87a3 linux-postmarketos-qcom-sm6125: V=1 workaround (MR 5461)
Until this kernel is upgraded to >= 6.2, we need V=1 to work around
silent make output leading to failing builds.

[ci:skip-build]: already built successfully in CI
2024-08-04 17:05:56 +02:00
Oliver Smith 36b3942c47 linux-postmarketos-qcom-msm8998: V=1 workaround (MR 5461)
Until this kernel is upgraded to >= 6.2, we need V=1 to work around
silent make output leading to failing builds.
2024-08-04 17:05:51 +02:00
Anton Bambura ede578e8bf device-google-corsola: add audio support (MR 5456)
Add ucm configs and symlink for SOF firmware. Doing it in the firmware
subpackage because it doesn't work without linux-firmware-mediatek.

[ci:skip-build]: already built successfully in CI
2024-08-04 16:56:06 +02:00
Øyvind Kolås 6454355227 linux-postmarketos-mediatek-mt81xx: update ADSP reserved memory region (MR 5456)
Together with MR !4834 and audio playback is working on corsola.
2024-08-04 16:56:01 +02:00
Oliver Smith 5d1d7214a7 cross/grub-efi-x86: upgrade to 2.12-r6 2024-08-04 16:39:22 +02:00
Richard Acayan 75f44b9b20 linux-postmarketos-qcom-sdm670: upgrade to v6.10.2
The Freedreno driver requires python3 to build in the new version.

Deviations from the upstream config fragments:
 - set CONFIG_CMA_SIZE_MBYTES to 256, from [1] and Matrix advice

[1] https://gitlab.com/sdm845-mainline/linux/-/merge_requests/100

[ci:skip-build] already built successfully in CI
2024-08-03 10:26:43 -07:00
Richard Acayan ac3e34f1eb alsa-ucm-conf-qcom-sdm670: upgrade to 1.2.9_git20240801
Upgrade the audio configuration to the one with the built-in microphone
and unified audio devices.
2024-08-03 10:26:43 -07:00
Richard Acayan 18d5eba77d google-bonito: make room for MultiMedia4 device in q6voice.conf
Apply the same audio-related change made for the Pixel 3a non-XL.
2024-08-03 10:26:43 -07:00
Richard Acayan 8f108eb40d google-sargo: make necessary userspace changes for kernel v6.10.2
Make room for MultiMedia4 (built-in microphone) device in q6voice.conf:

    In the 6.9.3 kernel, there were four CPU endpoints in Q6ASM enabled
    for audio:

    0. MultiMedia1 - Built-in Earpiece and Speaker
    1. MultiMedia2 - Headphones Playback (3.5 mm jack)
    2. MultiMedia3 - Headset Capture (3.5 mm jack)
    3. VoiceMMode1 - fake endpoint to route voice calls

    In 6.10.2, an extra endpoint is added to support the built-in
    microphone:

    0. MultiMedia1 - Built-in Earpiece and Speaker
    1. MultiMedia2 - Headphones Playback (3.5 mm jack)
    2. MultiMedia3 - Headset Capture (3.5 mm jack)
    3. MultiMedia4 - Built-in Microphone
    4. VoiceMMode1 - fake endpoint to route voice calls

    Since the device ID of VoiceMMode1 has changed, and q6voiced does
    not automatically detect this by name, update the VoiceMMode1 device
    ID so voice calls still work.

Be compatible with the secure name for the FastRPC device node:

    There has been a security vulnerability issued at the FastRPC kernel
    driver for allowing sensorspd and rootpd to be accessed on device
    nodes not labelled "-secure". Be compatible with the FastRPC ADSP
    device named "fastrpc-adsp-secure".
2024-08-03 10:26:42 -07:00
Caleb Connolly a788d0ca9d issue template: explain how to upload log dump
When failing to boot, phones show up as a removable storage device with
lots of very useful debug info. Let's encourage folks to upload it.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>

[ci:skip-build] already built successfully in CI
2024-08-03 10:24:27 -07:00
Ferass El Hafidi ca78dc945b main/postmarketos-ui-fbkeyboard: remove fbkeyboard-openrc from openrc subpkg depends
That package doesn't exist.

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>

[ci:skip-build] already built successfully in CI
2024-08-03 10:22:26 -07:00
Arnav Singh cebadbcf4c cross/gcc-*: upgrade to 14.2.0-r0 (MR 5455)
[ci:skip-build] CI fails because of an issue with pmb fetching build
deps on subsequent packages in the aggregated list of packages to build,
but bpo is expected to pass because it builds packages one at a time
2024-08-03 09:54:18 -07:00
Stefan Hansson b464f1bd91 kconfigcheck: add FW_LOADER_COMPRESS_ZSTD = true to defaults (MR 5380)
This will be needed to load firmware from linux-firmware packages after
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/60282 has
been merged.
2024-08-02 22:44:12 +02:00
Stefan Hansson 6d12c7464f linux-postmarketos-qcom-msm8998: enable zstd firmware compression support (MR 5438)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-08-02 22:42:01 +02:00
Stefan Hansson c41d8f23ea linux-postmarketos-qcom-msm8996: enable zstd firmware compression support (MR 5437)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-08-02 22:39:59 +02:00
Stefan Hansson 6068efb5c0 linux-postmarketos-mediatek-mt6763: enable zstd firmware compression support (MR 5427)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-08-02 22:37:51 +02:00
Stefan Hansson ba5fba5b1f linux-postmarketos-mediatek-mt6735: enable zstd firmware compression support (MR 5426)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-08-02 22:33:06 +02:00
Stefan Hansson 64443e58e7 linux-postmarketos-rockchip: enable zstd firmware compression support (MR 5452)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-08-02 22:30:31 +02:00
Stefan Hansson 7cc16455ed linux-postmarketos-qcom-sm6125: enable zstd firmware compression support (MR 5443)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-08-02 22:24:43 +02:00
Stefan Hansson ecba4b9d19 linux-epson-embt2ws: enable zstd firmware compression support (MR 5425)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-08-02 22:20:18 +02:00
Stefan Hansson 2339eb3716 linux-clockworkpi-uconsole-cm4: enable zstd firmware compression support (MR 5424)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-08-02 22:17:29 +02:00
Stefan Hansson 190ee831d4 linux-postmarketos-qcom-sc7280: enable zstd firmware compression support (MR 5439)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-08-02 22:13:41 +02:00
Stefan Hansson e697690920 linux-postmarketos-qcom-msm8974: enable zstd firmware compression support (MR 5435)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-08-02 22:10:07 +02:00
Stefan Hansson 1b56b3a895 linux-postmarketos-qcom-sm6225: enable zstd firmware compression support (MR 5444)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-08-02 22:06:09 +02:00
Stefan Hansson 609d007d1d linux-postmarketos-qcom-sm8350: enable zstd firmware compression support (MR 5451)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-08-02 22:00:25 +02:00
Stefan Hansson f2acc8c5b7 linux-postmarketos-qcom-sm8150: enable zstd firmware compression support (MR 5448)
Sent "upstream": https://gitlab.com/sm8150-mainline/linux/-/merge_requests/8

See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-08-02 21:58:09 +02:00
Stefan Hansson 73149858c4 linux-postmarketos-qcom-sdm845: enable zstd firmware compression support (MR 5441)
Submitted "upstream": https://gitlab.com/sdm845-mainline/linux/-/merge_requests/101

See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-08-02 21:27:29 +02:00
Stefan Hansson 890256c201 linux-postmarketos-qcom-msm8960: enable zstd firmware compression support (MR 5434)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-08-02 14:28:51 +02:00
Stefan Hansson 00b878e47f linux-postmarketos-qcom-msm8226: enable zstd firmware compression support (MR 5431)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-08-02 09:38:06 +02:00
Stefan Hansson 197eb13ef1 linux-postmarketos-qcom-msm8994: enable zstd firmware compression support (MR 5436)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-08-02 09:09:24 +02:00
Arnav Singh 0b48bdbaa5 linux-postmarketos-allwinner: increase RCU stall timeouts (MR 5422)
This raises CONFIG_RCU_CPU_STALL_TIMEOUT from 21s to 60s and
CONFIG_RCU_EXP_CPU_STALL_TIMEOUT from 20ms to 60ms (the value `0` means
that it is set to the regular stall timeout divided by 1000).
The original values caused frequent kernel logs of
"rcu_preempt detected expedited stalls" while running CPU-intensive stuff
like waydroid and caused such processes or others like Phosh to crash.

The kernel defaults are 21 / 0 (21s / 21ms), though the config docs note that
the latter is "normally 20ms on Android devices". For what it's worth,
Debian 12's amd64 kernel uses the kernel defaults of 21 / 0 (21s / 21ms),
while OpenSUSE TW's amd64 kernel uses 60 / 0 (60s / 60ms) just like
this commit.

Ref: #2980
2024-08-01 23:23:29 -07:00
postmarketOS CI e762e7a8a5 linux-next: upgrade to next-20240802 2024-08-02 04:31:49 +00:00
postmarketOS CI 93066439fa linux-next: upgrade to next-20240801 2024-08-01 18:31:49 +00:00
Stefan Hansson 60ef311fa9 linux-postmarketos-qcom-sm6350: enable zstd firmware compression support (MR 5445)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-08-01 10:37:45 +02:00
Stefan Hansson 9780c658bf linux-postmarketos-mediatek-mt6768: enable zstd firmware compression support (MR 5428)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-08-01 10:34:16 +02:00
Stefan Hansson 404934721c linux-postmarketos-qcom-sm6115: enable zstd firmware compression support (MR 5442)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-08-01 10:31:33 +02:00
Vitaliy Ognev 38eab7220a testing/powkiddy-x55-mapper: split openrc subpackage (MR 5412)
[ci:skip-build]: already built successfully in CI
2024-08-01 10:25:50 +02:00
Stefan Hansson 61e4a820db linux-postmarketos-qcom-msm8917: enable zstd firmware compression support (MR 5432)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-08-01 10:10:58 +02:00
Stefan Hansson b9021800d9 linux-postmarketos-qcom-sm8250: enable zstd firmware compression support (MR 5450)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-08-01 09:54:06 +02:00
Stefan Hansson 2eecea1f7d linux-postmarketos-qcom-sc8180x: enable zstd firmware compression support (MR 5440)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-08-01 07:50:47 +02:00
Stefan Hansson e529363257 linux-postmarketos-mediatek-mt8183: enable zstd firmware compression support (MR 5430)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-08-01 07:48:33 +02:00
Stefan Hansson ee9ac49fe9 linux-postmarketos-mediatek-mt8173: enable zstd firmware compression support (MR 5429)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-07-31 23:12:35 +02:00
Stefan Hansson 87ca222334 linux-postmarketos-qcom-sm7125: enable zstd firmware compression support (MR 5446)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-07-31 23:05:06 +02:00
Stefan Hansson 0287d8c56b linux-postmarketos-exynos4: add new co-maintainers (MR 5433)
Based on
https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5433#note_2024722062,
assuming knuxify's upvote is in agreement with Henrik's statement.

[ci:skip-build]: already built successfully in CI
2024-07-31 22:53:15 +02:00
Stefan Hansson d99238bc47 linux-postmarketos-exynos4: remove inactive maintainer (MR 5433)
Thiago Foganholi (@ThiagaoPlusPlus on GitLab.com) hasn't been active
for over three years by now. Remove his maintainership as such.
2024-07-31 22:53:15 +02:00
Stefan Hansson 5664c3237c linux-postmarketos-qcom-sm7150: enable zstd firmware compression support (MR 5447)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-07-31 22:44:39 +02:00
Oliver Smith 038d8a888d channels.cfg: mark v23.12 as unsupported 2024-07-31 22:00:52 +02:00
Stefan Hansson 90e1f42ffb linux-postmarketos-qcom-msm8916: enable zstd firmware compression support (MR 5423)
This is already enabled in the pmos.config configuration file upstream,
but hasn't made its way to pmaports yet as there hasn't been an update
since that happened.

See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380
[ci:skip-build]: already built successfully in CI
2024-07-31 17:57:17 +02:00
Stefan Hansson 086c8c684e linux-lenovo-q706f: enable libcamera options
These are now mandatory for devices with kconfigcheck-community.
2024-07-31 10:43:49 +02:00
Stefan Hansson 4aca409b8b linux-lenovo-q706f: enable zstd firmware compression support
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380
2024-07-31 10:30:26 +02:00
chalkin 218f8d1251 lenovo-q706f: new device (Lenovo Xiaoxin Pad Pro 12.6) (MR 5398)
[ci:skip-build]: already built successfully in CI
2024-07-31 10:14:20 +02:00
Alistair Francis bb96fdc480 soc-qcom-sdm845: depend on 81voltd (MR 5387)
Signed-off-by: Alistair Francis <alistair@alistair23.me>

[ci:skip-build]: already built successfully in CI
2024-07-31 10:02:53 +02:00
Alistair Francis 5f68d24452 temp/81voltd: new aport (MR 5387)
Add version 1.0.0 of 81voltd [1].

This is based on discussions at [2]. 81voltd gets VoLTE working on
some SDM845 based devices. I tested this on my Pixel 3a and it works
with Optus but not Telstra (a more complicated VoLTE network).

I'm putting this for pmOS temp as hopefully the long term solution is to
upstream this to ModemManager. For now though this gets things working.

1: https://gitlab.com/flamingradian/81voltd/
2: https://gitlab.com/postmarketOS/pmaports/-/issues/1878#note_1826692945

Signed-off-by: Alistair Francis <alistair@alistair23.me>
2024-07-31 10:02:52 +02:00
Stefan Hansson a3f469d21f linux-pine64-pinephonepro: enable zstd firmware compression support (MR 5416)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-07-31 09:00:33 +02:00
Stefan Hansson c44578dcfb linux-postmarketos-exynos7870: enable zstd firmware compression support (MR 5415)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-07-31 08:51:15 +02:00
Robert Eckelmann a72d83681b linux-postmarketos-grate: set CONFIG_FW_COMPRESS_ZSTD (MR 5411)
lets get grate inline with pma!5380

[ci:skip-build]: already built successfully in CI
2024-07-31 08:47:39 +02:00
Stefan Hansson 18cea456a9 linux-htc-flounder: enable zstd firmware compression support (MR 5413)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-07-31 08:19:05 +02:00
Stefan Hansson 69d261b198 linux-google-smaug: enable zstd firmware compression support (MR 5420)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-07-31 08:15:16 +02:00
Stefan Hansson 42f6d11daa linux-postmarketos-intel-medfield: enable zstd firmware compression support (MR 5418)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-07-31 08:12:56 +02:00
Stefan Hansson 988c43bc64 linux-ayn-odin: enable zstd firmware compression support (MR 5419)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-07-31 08:06:45 +02:00
Stefan Hansson bb5d9920e1 linux-postmarketos-bflb: enable zstd firmware compression support (MR 5417)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-07-31 08:00:11 +02:00
Stefan Hansson ffb1f84e47 linux-samsung-coreprimevelte: enable zstd firmware compression support (MR 5414)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-07-31 07:53:48 +02:00
Richard Acayan fe00027849 google-sargo: stop HexagonRPCD on suspend (MR 5400)
There is a bug in FastRPC when waking from suspend. Since HexagonRPCD is
currently only useful for a few moments when the ADSP is requesting the
sensor registry, it can just be stopped without affecting sensor
support. Add a pre-suspend hook to stop HexagonRPCD so it doesn't crash
the ADSP when the device wakes up.

[ci:skip-build]: already built successfully in CI
2024-07-30 17:10:42 -04:00
Richard Acayan 143efc60f2 google-sargo: do not enable HexagonRPCD on every upgrade (MR 5400)
There is an issue where resuming from suspend crashes the ADSP, and
rebooting the ADSP makes the entire device hang. Autosuspend has other
issues affecting higher category devices (namely, wake on modem events),
but it was still possible to resume before adding HexagonRPCD. For now,
remove the user's maintenance burden in keeping HexagonRPCD disabled.
2024-07-30 17:10:42 -04:00
Stefan Hansson 508ed4b4cf linux-postmarketos-omap: enable zstd firmware compression support (MR 5405)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-07-30 22:14:12 +02:00
Stefan Hansson f9c33329da linux-google-nyan: enable zstd firmware compression support (MR 5408)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-07-30 21:59:41 +02:00
Stefan Hansson 20cfd88cb8 linux-google-veyron: enable zstd firmware compression support (MR 5409)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-07-30 21:53:04 +02:00
Stefan Hansson ee8fa00728 linux-powkiddy-x55: enable zstd firmware compression support (MR 5407)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-07-30 21:41:35 +02:00
Stefan Hansson 49ae695482 linux-purism-librem5: enable zstd firmware compression support (MR 5402)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-07-30 21:36:44 +02:00
Stefan Hansson 92fb781902 linux-pine64-pinenote: enable zstd firmware compression support (MR 5403)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-07-30 21:30:30 +02:00
Stefan Hansson 561cbc8969 linux-postmarketos-apple: enable zstd firmware compression support (MR 5404)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-07-30 21:22:12 +02:00
Stefan Hansson a717748133 linux-postmarketos-allwinner-d1: enable zstd firmware compression support (MR 5406)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-07-30 21:15:31 +02:00
Stefan Hansson e1b3005f55 linux-postmarketos-stericsson: enable zstd firmware compression support (MR 5401)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5380

[ci:skip-build]: already built successfully in CI
2024-07-30 21:12:55 +02:00
postmarketOS CI a00e4cc179 linux-next: upgrade to next-20240730 2024-07-30 18:31:47 +00:00
Stefan Hansson 27e8b6a82a linux-postmarketos-imx-ereader: enable zstd firmware compression support (MR 5382)
Needed for
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/60282 as
kobo-clara2e uses linux-firmware.

[ci:skip-build] already built successfully in CI
2024-07-29 15:51:46 -07:00
dartvader316 1805f91558 main/postmarketos-base-ui: don't force dbus for wpa_supplicant (MR 5388)
[ci:skip-build] already built successfully in CI
2024-07-29 15:34:53 -07:00
Stefan Hansson aa342c94fe linux-purism-librem5: upgrade to 6.6.40 (MR 5395) 2024-07-30 07:10:51 +09:00
Arnav Singh bc80e34b61 device-pine64-pinephone: force pipewire for audio (MR 5392)
PulseAudio crashes on startup and the fix [^1] has been sitting unmerged for
many weeks despite pings. PipeWire works fine, so this change forces it to
be used.

PW works fine for Phosh and SXMO at least (with one exception [^2]),
and long term we want to switch from PA to PW anyway, so this just
hastens that switch.

Fixes #2968

---

[^1]: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/68586

[^2]: On Phosh, using pw-pulse causes the volume slider in
the top pulldown panel to not work sometimes. This will likely be fixed in
the systemd branch once pw-pulse is started via socket activation,
since it is likely a race between phosh connecting to the pw-pulse socket
and pw-pulse binding it.
2024-07-29 15:08:05 -07:00
jane400 4321b29b99 temp/gnome-shell-mobile: upgrade to 46-mobile-0 (MR 5396)
[ci:skip-build]: already built successfully in CI
2024-07-29 21:53:44 +02:00
jane400 c8fa59f985 temp/mutter-mobile: upgrade to 46-mobile-0 (MR 5396) 2024-07-29 21:53:44 +02:00
jane400 d2bc34a5e6 temp/gnome-settings-daemon-mobile: new aport (MR 5396)
GNOME Mobile moved various elogind-dbus things from gnome-settings-daemon
into gnome-shell-mobile. Hence needs this fork now.
2024-07-29 21:53:44 +02:00
Alistair Francis a7099ed8e3 kconfigcheck.toml: Add libcamera checks (MR 5391)
To avoid something like
https://gitlab.com/postmarketOS/pmaports/-/issues/3050 we should make
sure the libcamera configs are enabled.

This also addresses: https://gitlab.com/postmarketOS/pmbootstrap/-/issues/2174#note_1884069175

Signed-off-by: Alistair Francis <alistair@alistair23.me>
Tweaked-By: Oliver Smith <ollieparanoid@postmarketos.org>
[ci:skip-vercheck]: don't need to bump the version for kernel packages
in this patchset where we only removed pmb:kconfigcheck-community.
[ci:skip-build]: too many kernels changed
2024-07-29 19:57:04 +02:00
Oliver Smith 2dc6b94ec7 linux-powkiddy-x55: enable libcamera opts (MR 5391) 2024-07-29 19:57:04 +02:00
Oliver Smith bb39a4b436 linux-postmarketos-rockchip-rk3588: enable libcamera opts (MR 5391) 2024-07-29 19:57:04 +02:00
Oliver Smith 2bd28301b7 linux-postmarketos-rockchip: enable libcamera opts (MR 5391) 2024-07-29 19:57:04 +02:00
Oliver Smith 7118a76368 linux-postmarketos-qcom-sm8250: enable libcamera opts (MR 5391) 2024-07-29 19:57:04 +02:00
Oliver Smith 5127aae777 linux-postmarketos-qcom-sm6350: enable libcamera opts (MR 5391) 2024-07-29 19:57:04 +02:00
Oliver Smith 981cc8a3e7 linux-postmarketos-qcom-sm6115: enable libcamera opts (MR 5391) 2024-07-29 19:57:04 +02:00
Oliver Smith 225a3dcaf4 linux-postmarketos-qcom-sdm660: enable libcamera opts (MR 5391) 2024-07-29 19:57:04 +02:00
Oliver Smith 74f60741f3 linux-postmarketos-qcom-sc7280: enable libcamera opts (MR 5391) 2024-07-29 19:57:03 +02:00
Oliver Smith 434946fc52 linux-postmarketos-qcom-sc7180: enable libcamera opts (MR 5391) 2024-07-29 19:57:03 +02:00
Oliver Smith 0b75f41b60 linux-postmarketos-qcom-msm8996: enable libcamera opts (MR 5391) 2024-07-29 19:57:03 +02:00
Oliver Smith 983996b8ec linux-postmarketos-qcom-msm8916: enable libcamera opts (MR 5391) 2024-07-29 19:57:03 +02:00
Oliver Smith e908aa8b76 linux-postmarketos-mediatek-mt81xx: enable libcamera opts (MR 5391) 2024-07-29 19:57:03 +02:00
Oliver Smith b94af73c44 linux-postmarketos-mediatek-mt8183: enable libcamera opts (MR 5391) 2024-07-29 19:57:03 +02:00
Oliver Smith 2e2c9e1e58 linux-postmarketos-mediatek-mt8173: enable libcamera opts (MR 5391) 2024-07-29 19:57:03 +02:00
Oliver Smith f9ef1ba850 CI: kconfigcheck.toml change: check all kernels (MR 5391)
When the kconfigcheck.toml file changes, let CI check all kernels
against the modified kconfigcheck.toml file.
2024-07-29 19:57:03 +02:00
Oliver Smith 81b142ba64 linux-* (not all): no pmb:kconfigcheck-community (MR 5391)
Too many kconfig checks fail for these. The kconfig check is more strict
now, it will not pass anymore if a kernel claims to support everything
for the "community" category but doesn't actually satisfy the
requirements. Previously it did pass and only printed warnings.

The "pmb:kconfigcheck-community" option may be added back to these
kernels after the configs are adjusted.
2024-07-29 19:57:03 +02:00
Oliver Smith e7a9db04aa linux-samsung-jxelte: enable CONFIG_SWAP (MR 5391)
Fix for:
  CONFIG_SWAP should be set (category:zram)
2024-07-29 19:57:03 +02:00
Oliver Smith 4878df3694 linux-powkiddy-x55: disable CONFIG_RT_GROUP_SCHED (MR 5391) 2024-07-29 19:57:03 +02:00
Oliver Smith 721187f39d linux-htc-flounder: enable CONFIG_NFT_COMPAT (MR 5391)
Fix for:
  config-htc-flounder.aarch64: CONFIG_NFT_COMPAT should be set (category:containers)
2024-07-29 19:57:03 +02:00
Oliver Smith 962e80309b linux-google-nyan: disable CONFIG_RT_GROUP_SCHED (MR 5391) 2024-07-29 19:57:03 +02:00
Oliver Smith 7b48c9944c linux-ayn-odin: disable CONFIG_RT_GROUP_SCHED (MR 5391)
Fix for:
  CONFIG_RT_GROUP_SCHED should *not* be set (category:community_various)
2024-07-29 19:56:58 +02:00
Craft f4a162439b google-sargo: add gpi to modules-initfs to fix fde (MR 5347)
Fixes #3001
2024-07-29 23:30:45 +09:00
postmarketOS CI 76f0941937 linux-next: upgrade to next-20240729 2024-07-29 04:31:44 +00:00
Oliver Smith 32be2978f8 main/postmarketos-ui-sway: fix missing subpkg (MR 5397)
Fix the missing postmarketos-ui-sway-logo-key-alt subpackage. This was
caused by having two subpackages variables.

Fixes: 244847 ("main/postmarketos-ui-sway: add -openrc subpackage (MR 5374)")
[ci:skip-build]: already built successfully in CI
2024-07-28 18:59:32 +02:00
Alistair Francis f788a4be3d linux-purism-librem5: re-enable options for libcamera (MR 5390)
https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5310 unfortunately disabled some configs needed for libcamera:
1. `CONFIG_DMABUF_HEAPS`
2. `CONFIG_DMABUF_HEAPS_CMA`

Resolves: https://gitlab.com/postmarketOS/pmaports/-/issues/3050
Signed-off-by: Alistair Francis <alistair@alistair23.me>
[ci:skip-build]: already built successfully in CI
2024-07-28 11:56:05 +02:00
Stefan Hansson 9f95fab9e2 linux-postmarketos-exynos5: enable zstd firmware compression support (MR 5384)
Needed for
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/60282
as odroid-xu4 uses linux-firmware.
2024-07-27 22:08:57 +02:00
Adam Mizerski 20b7c06acf jolla-sbj: update downstream kernel (MR 5311) 2024-07-28 00:29:48 +09:00
Barnabás Czémán ff445bb32e linux-postmarketos-qcom-msm8953: upgrade to 6.10 (MR 5385) 2024-07-28 00:12:16 +09:00
Stefan Hansson 43d3b604c4 linux-postmarketos-exynos4: enable zstd firmware compression support (MR 5383)
Needed for
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/60282
as samsung-m0 uses linux-firmware.
2024-07-27 14:56:52 +09:00
Stefan Hansson 8290a838df linux-postmarketos-qcom-sc7180: enable zstd firmware compression support (MR 5379)
Needed for
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/60282 as
acer-aspire1 uses linux-firmware.
2024-07-27 14:15:49 +09:00
Clayton Craft 5252ae1f32 main/boot-deploy: upgrade to 0.17
Features:

   - Add support for prepending DHTB to boot.img (MR 67) <19atlas>
   - Add support for generating compressed depthcharge images (MR 65) <WeirdTreeThing>

Fixes:

   - Flash android boot image with fastboot-bootpart if not EFI booting (MR 68) <Caleb Connolly>

Other:

   - Improve contributing documentation (MR 62) <Clayton Craft>
2024-07-26 22:16:20 +02:00
postmarketOS CI 005ca842d5 linux-next: upgrade to next-20240726 2024-07-26 04:31:51 +00:00
Oliver Smith 13c26558de main/postmarketos-ui-framebufferphone: fix openrc subpkg (MR 5386)
Don't depend on fbp-openrc, as this package does not exist.

Fixes: 250b96f ("main/postmarketos-ui-framebufferphone: add -openrc subpackage (MR 5374)")

[ci:skip-build] already built successfully in CI
2024-07-25 14:29:14 -07:00
Oliver Smith 388f108a7f main/postmarketos-ui-bananui: fix openrc subpkg (MR 5386)
Looks like the dependencies on seatd-dev and wroomd-dev have been added
by mistake, these packages do not exist. Instead move seatd-openrc and
wroomd-openrc to the openrc subpackage.

Fixes: 7a5970f6 (" main/postmarketos-ui-bananui: add -openrc subpackage (MR 5374)")
2024-07-25 22:40:51 +02:00
Robert Mader c54777db04 temp/libcamera: upgrade to 0.3.1 (MR 5381)
Rebase our downstream patches and drop the one included in the release.

See https://gitlab.freedesktop.org/camera/libcamera/-/releases/v0.3.1

Notes:
 - The abi-compliance checker reports 100% binary and source compatibility,
   so this release does not change the SONAME.
 - qcam has been ported to QT6.
 - This release has some notable improvements to the PPP/rkisp1, however
   lower frame rates might be encountered sometimes. This will hopefully
   get fixed in the imx258 driver in Linux 6.11.
 - The swISP got some fixes but nothing major apart from the patch we
   were already carrying.

[ci:skip-build]: already built successfully in CI
2024-07-25 22:32:58 +02:00
Stefan Hansson 343c982087 modem/tqftpserv: upgrade to 1.1 (MR 5370)
Includes support for compressed firmware, among other nice things.

[ci:skip-build]: already built successfully in CI
2024-07-25 10:22:10 +02:00
postmarketOS CI f36f567c85 linux-next: upgrade to next-20240725 2024-07-25 04:31:45 +00:00
Pablo Correa Gómez 59bc384b42 temp/gtk+3.0: remove (MR 5235)
Since we now install papers by default instead of Evince, every single
app we install from GNOME packages is either adaptive or GTK4.

The only real difference I have seen is that portals with Phosh are still
using GTK3. Given that Phosh allows to fit windows to the view, I would
consider this an acceptable regression, as there is a simple and common
workaround available.

Fixes #1479
[ci:skip-build]: already built successfully in CI
2024-07-24 21:03:34 +02:00
Clayton Craft b9271e0a90 linux-lenovo-21bx: upgrade to 6.10 (MR 5306)
- kconfig rebased onto jhovold's defconfig (many things are now modules,
  but also includes initial camera support and other things)
- set CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y, to try and hide
  some super early kernel messages printed on console
- enabled kconfig options for supporting USB tethering e.g. w/ android

[ci:skip-build]: already built successfully in CI
2024-07-24 19:35:08 +02:00
Raymond Hackley 74f52382b6 qcom-msm8909: new device (MR 5222)
With the new changes in lk2nd that allow us to support extlinux.conf,
we can now generate image that would be generic to these devices.

[ci:skip-build]: already built successfully in CI
2024-07-24 17:38:09 +02:00
Stefan Hansson 7bcaabdb1a linux-purism-librem5: re-enable lazy RCU and fix RS9116 firmware mode (MR 5252)
See 91adc26f51 and
ddf56b5169.

Fixes 863760c6ba
[ci:skip-build]: already built successfully in CI
2024-07-24 17:34:28 +02:00
Raymond Hackley 96fc8c97c5 main/postmarketos-base: prevent from getting woken up by touchkey (MR 5357)
Fixes #2951

[ci:skip-build]: already built successfully in CI
2024-07-24 17:12:55 +02:00
postmarketOS CI 53eedb4278 linux-next: upgrade to next-20240724 2024-07-24 04:31:47 +00:00
Duje Mihanović cd865ceac7 device-samsung-coreprimevelte: rename mlan0 to wlan0 (MR 5343)
This makes WiFi work without having to edit "Device" in nmtui.

[ci:skip-build] already built successfully in CI
2024-07-23 17:22:49 -07:00
Caleb Connolly 672224a813 postmarketos-initramfs: probe libcomposite + make myself maintainer (MR 5328)
This won't be loaded automatically, so let's modprobe it.

Additionally, make myself maintainer to reflect CODEOWNERS

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>

[ci:skip-build] already built successfully in CI
2024-07-23 17:15:06 -07:00
Henrik Grimler bcadffd26f linux-postmarketos-exynos5: drop deprecated PMOS_NO_OUTPUT_REDIRECT (MR 5368)
From CMDLINE in config.

[ci:skip-build] already built successfully in CI
2024-07-23 16:59:23 -07:00
Henrik Grimler f0e473a5b8 linux-postmarketos-exynos5: update to 6.6.41 (MR 5368)
Tested on:
* odroid-xu4
* samsung-klimtlte
* samsung-manta

Only regression I spotted is that usb networking no longer works on
samsung-klimtlte and samsung-manta (but wifi works fine, so still
possible to login to the device).
2024-07-23 16:59:22 -07:00
Stanislav Zaikin b6573808b3 device-fxtec-qx1050: use sm6115-mainline kernel and new firmware repo (MR 5372)
[ci:skip-build] already built successfully in CI
2024-07-23 16:56:37 -07:00
Henrik Grimler 075d3065b2 device-samsung-v1awifi: depend on postmarketos-initramfs-minimal (MR 5365)
The boot partition on the device is 8.0 MB, while built boot.img is
8.8 MB.  Fix by decreasing initramfs size by depending on
postmarketos-initramfs-minimal.  Problems were likely introduced by
postmarketOS/pmaports!5000.

[ci:skip-build] already built successfully in CI
2024-07-23 16:19:07 -07:00
Henrik Grimler 74761bc637 device-samsung-n1awifi: depend on postmarketos-initramfs-minimal (MR 5365)
The boot partition on the device is 8.0 MB, while built boot.img
is 8.7 MB.  Fix by decreasing initramfs size by depending on
postmarketos-initramfs-minimal.  Problems were likely introduced by
postmarketOS/pmaports!5000.
2024-07-23 16:18:16 -07:00
Henrik Grimler 8cc6b717b3 device-samsung-zeroltexx: depend on postmarketos-initramfs-minimal (MR 5365)
Based on device PIT the boot partition is 28 MB, while built boot.img
is 31 MB.  Fix by decreasing initramfs size by depending on
postmarketos-initramfs-minimal.  Problems were likely introduced by
postmarketOS/pmaports!5000.
2024-07-23 16:18:15 -07:00
Henrik Grimler 90d2e0b068 device-samsung-zerofltexx: depend on postmarketos-initramfs-minimal (MR 5365)
Based on device PIT the boot partition is 28 MB, while built boot.img
is 31 MB.  Fix by decreasing initramfs size by depending on
postmarketos-initramfs-minimal.  Problems were likely introduced by
postmarketOS/pmaports!5000.
2024-07-23 16:18:15 -07:00
Henrik Grimler 98cdee89e7 device-samsung-klimtlte: depend on postmarketos-initramfs-minimal (MR 5365)
.. when using mainline kernel.  The boot partition on the device is
only 8 MB, while built boot.img is 11 MB.  Fix by decreasing initramfs
size by depending on postmarketos-initramfs-minimal.  Problems were
likely introduced by postmarketOS/pmaports!5000.
2024-07-23 16:18:15 -07:00
Henrik Grimler 01ea0922af device-samsung-chagallwifi: depend on postmarketos-initramfs-minimal (MR 5365)
.. when using mainline kernel.  The boot partition on the device is
only 8 MB, while built boot.img is 11 MB.  Fix by decreasing initramfs
size by depending on postmarketos-initramfs-minimal.  Problems were
likely introduced by postmarketOS/pmaports!5000.
2024-07-23 16:18:15 -07:00
Henrik Grimler f2d5368d72 device-samsung-hero2lte: depend on postmarketos-initramfs-minimal (MR 5365)
Based on device PIT the boot partition is 40 MB, while built boot.img
is 41 MB.  Fix by decreasing initramfs size by depending on
postmarketos-initramfs-minimal.  Problems were likely introduced by
postmarketOS/pmaports!5000.
2024-07-23 16:18:15 -07:00
Henrik Grimler b84e97849a device-samsung-herolte: depend on postmarketos-initramfs-minimal (MR 5365)
Based on device PIT the boot partition is 40 MB, while built boot.img
is 41 MB.  Fix by decreasing initramfs size by depending on
postmarketos-initramfs-minimal.  Problems were likely introduced by
postmarketOS/pmaports!5000.
2024-07-23 16:18:15 -07:00
Henrik Grimler 412ceacf31 device-samsung-jflte: depend on postmarketos-initramfs-minimal (MR 5365)
Based on device PIT the boot partition is 10 MB, while built boot.img
is 12 MB.  Fix by decreasing initramfs size by depending on
postmarketos-initramfs-minimal.  Problems were likely introduced by
postmarketOS/pmaports!5000.
2024-07-23 16:18:14 -07:00
Jaymz 665 801283d9f9 soc-qcom-sdm845: update wireplumber config and call audio workaround (MR 5307)
[richard: add native pulseaudio check; update APKBUILD; use tabs]

[ci:skip-build]: already built successfully in CI
2024-07-24 00:59:34 +02:00
Bart Ribbers 26236e94a9 main/postmarketos-ui-asteroid: add -openrc subpackage (MR 5374)
[ci:ignore-count]
2024-07-23 15:43:58 -07:00
Bart Ribbers 7a5970f6d9 main/postmarketos-ui-bananui: add -openrc subpackage (MR 5374) 2024-07-23 15:43:58 -07:00
Bart Ribbers 3e26598a1b main/postmarketos-ui-fbkeyboard: add -openrc subpackage (MR 5374) 2024-07-23 15:43:57 -07:00
Bart Ribbers 250b96f0fa main/postmarketos-ui-framebufferphone: add -openrc subpackage (MR 5374) 2024-07-23 15:43:57 -07:00
Bart Ribbers 5f73dcac9a main/postmarketos-ui-gnome-mobile: add -openrc subpackage (MR 5374) 2024-07-23 15:43:57 -07:00
Bart Ribbers 31b49599c9 main/postmarketos-ui-gnome: add -openrc subpackage (MR 5374) 2024-07-23 15:43:57 -07:00
Bart Ribbers f95a89a659 main/postmarketos-ui-i3wm: add -openrc subpackage (MR 5374) 2024-07-23 15:43:57 -07:00
Bart Ribbers c49f61ff04 main/postmarketos-ui-kodi: add -openrc subpackage (MR 5374) 2024-07-23 15:43:57 -07:00
Bart Ribbers 32577eda60 main/postmarketos-ui-lxqt: add -openrc subpackage (MR 5374) 2024-07-23 15:43:57 -07:00
Bart Ribbers 44b6052116 main/postmarketos-ui-mate: add -openrc subpackage (MR 5374) 2024-07-23 15:43:56 -07:00
Bart Ribbers 61675345ca main/postmarketos-ui-openbox: add -openrc subpackage (MR 5374) 2024-07-23 15:43:56 -07:00
Bart Ribbers 1ca8bdad51 main/postmarketos-ui-plasma-bigscreen: add -openrc subpackage (MR 5374) 2024-07-23 15:43:56 -07:00
Bart Ribbers e327f9a79e main/postmarketos-ui-shelli: add -openrc subpackage (MR 5374) 2024-07-23 15:43:56 -07:00
Bart Ribbers 2448473417 main/postmarketos-ui-sway: add -openrc subpackage (MR 5374) 2024-07-23 15:43:56 -07:00
Bart Ribbers 46065a64c4 main/postmarketos-ui-weston: add -openrc subpackage (MR 5374) 2024-07-23 15:43:56 -07:00
Bart Ribbers d8cb2f86cf main/postmarketos-ui-xfce4: add -openrc subpackage (MR 5374) 2024-07-23 15:43:56 -07:00
Clayton Craft 979eedc73b main/postmarketos-ui-console: add -openrc subpackage (MR 5371)
[ci:skip-build] already built successfully in CI
2024-07-23 13:27:22 -07:00
jane400andClayton Craft eace38e0d7 main/postmarketos-base-ui: add -openrc subpackage (MR 5371)
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
2024-07-23 13:27:22 -07:00
19atlas 157262f44d samsung-gtexswifi: new device (MR 5289)
In order for gtexswifi to boot, the DHTB string must be appended
to boot.img. Screen looks upside down.
2024-07-23 21:40:09 +02:00
Clayton Craft 1bfcd0b001 main/shutdown-clear-rtc-wakealarm: add openrc subpackage (MR 5364)
[ci:skip-build] already built successfully in CI
2024-07-23 09:54:09 -07:00
Clayton Craft cc0f235f88 main/postmarketos-config-nftables: drop openrc subpkg (MR 5364)
The nftables service should be enabled by pmos-base instead
2024-07-23 09:53:59 -07:00
jane400 35fc61416e device-pine64-pinephone: move openrc specifics into subpackage (MR 5364) 2024-07-23 09:53:58 -07:00
jane400 87ccb5b57c main/postmarketos-tweaks: split -openrc subpackage (MR 5364) 2024-07-23 09:53:58 -07:00
jane400 8d3998b561 main/ttyescape: move openrc specifics into subpackage (MR 5364)
Depends on https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/69583
2024-07-23 09:53:58 -07:00
jane400 c3dfa1cdb4 main/postmarketos-base-ui: split out openrc specifics into subpackages (MR 5364)
Also renames subpackage bluez to bluez-openrc
2024-07-23 09:53:58 -07:00
jane400andClayton Craft dc81fbcd23 main/postmarketos-base: split openrc specifics into subpackages (MR 5364)
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
2024-07-23 09:53:58 -07:00
postmarketOS CI 3c0d991089 linux-next: upgrade to next-20240723 2024-07-23 04:31:49 +00:00
Stanislav Zaikin a66a24d941 device-fxtec-qx1050: add initial support with mainline kernel (MR 5350)
Signed-off-by: Stanislav Zaikin <zstaseg@gmail.com>
2024-07-22 22:11:24 +02:00
postmarketOS CI a9b857963a linux-next: upgrade to next-20240722 2024-07-22 18:31:48 +00:00
Arnav Singh bcea2841a2 linux-postmarketos-allwinner: upgrade to 6.9.10_git20240721 (MR 5367) 2024-07-21 16:58:57 -07:00
Henrik Grimler 24344344a0 device-samsung-manta: set getty (MR 5362)
With getty set to ttySAC2 we can get a shell when connecting to UART
pads on main board.
2024-07-19 20:22:19 +02:00
Arnav Singh a5e28010e5 main/pinephone-callaudiod: upgrade to 0.1.3 (MR 5360)
[ci:skip-build]: already built successfully in CI
2024-07-19 15:24:17 +02:00
adamthiede caab567a98 linux-postmarketos-mediatek-mt8173: upgrade to 6.10 (MR 5354) 2024-07-19 14:46:28 +02:00
Jianhua Lu f76176dc6f device-xiaomi-elish: use quiet instead of console=null (MR 5356)
[ci:skip-build]: already built successfully in CI
2024-07-19 08:58:17 +02:00
Jianhua Lu b7aeb6e023 device-xiaomi-elish: add bootmac to depends (MR 5356) 2024-07-19 08:58:17 +02:00
Jianhua Lu 72f91452ca alsa-ucm-conf-qcom-sm8250: drop (MR 5356) 2024-07-19 08:58:17 +02:00
Jianhua Lu 4f0fae476d linux-postmarketos-qcom-sm8250: upgrade to 6.10.0 (MR 5356) 2024-07-19 08:58:17 +02:00
postmarketOS CI 645774c8ca linux-next: upgrade to next-20240719 2024-07-19 04:31:46 +00:00
postmarketOS CI 877e59f95e linux-next: upgrade to next-20240718 2024-07-18 18:31:45 +00:00
Clayton Craft 501777e6e0 linux-valve-jupiter: upgrade to 6.10 (MR 5318)
- Enable XFS (requested by @ell1e)
- Disable CONFIG_RT_GROUP_SCHED (kconfigcheck-community requirement)

[ci:skip-build] already built successfully in CI
2024-07-18 09:30:23 -07:00
Anri Dellalandjane400 985741dd65 main/postmarketos-base-ui: rebuild to exclude font-twemoji from CLI (MR 5352)
Add postmarketos-base-ui-wayland
Move _pmb_recommends to x11 and wayland subpackages

[ci:skip-build] Was built before

Co-authored-by: jane400 <5940129-jane400@users.noreply.gitlab.com>
2024-07-17 11:44:31 -07:00
postmarketOS CI 34af7ca182 linux-next: upgrade to next-20240717 2024-07-17 18:31:45 +00:00
Arnav Singh dcff247a40 device-pine64-pinephone: switch to pinephone-callaudiod (MR 5349)
This new daemon implements the same D-Bus API as callaudiod
in aports community/callaudiod, but works with the new audio profiles
generated by PulseAudio v17 and PipeWire v1.2 for pine64-pinephone
that the aports package's daemon does not.

Installs that use pipewire-pulse for audio (eg SXMO) will automatically start
having working call audio with this update. Installs that use pulseaudio
have to wait for pulseaudio's crash on startup to be fixed first
( https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/68586 ).

Ref: #2968

[ci:skip-build] already built successfully in CI
2024-07-16 15:54:50 -07:00
Arnav Singh 030c5c1ec1 main/pinephone-callaudiod: new aport (MR 5349)
This provides a daemon that implements the same D-Bus API as callaudiod
in aports community/callaudiod, but works with the new audio profiles
generated by PulseAudio v17 and PipeWire v1.2 for pine64-pinephone
that the aports package's daemon does not.

This daemon is specific to the pine64-pinephone since it has
a hard-coded list of profiles and ALSA devices. If other devices also happen
to have UCM settings that trigger PulseAudio / PipeWire to generate
the combinatorial audio profiles that callaudiod cannot handle, and if
a callaudiod fix / alternative does not appear, then the maintainer (me) is
open to making this daemon more broadly useful for other devices, say by
having the hard-coded strings in device-specific config files.

Ref: #2968
2024-07-16 15:54:49 -07:00
postmarketOS CI ca0a4537f0 linux-next: upgrade to next-20240716 2024-07-16 18:31:46 +00:00
Raymond Hackley 5e8344dbfa samsung-rossa: drop subpackage phosh (MR 5348)
It's already well scaled in 1.25x on rossa devices.
Drop unnecessary phoc.ini

[ci:skip-build]: Already built successfully in CI.
2024-07-16 17:05:07 +02:00
postmarketOS CI 4a88990b1e linux-next: upgrade to next-20240715 2024-07-15 18:31:49 +00:00
Anton Bambura a988d089f8 linux-postmarketos-rockchip: upgrade to 6.6.34 (MR 5243)
Also a little clean up

[ci:skip-build]: already built successfully in CI
2024-07-14 20:32:37 +02:00
Gus Antoniassi b448fc61eb linux-postmarketos-qcom-msm8953: enable multiport and mark netfilter modules (MR 5345)
[ci:skip-build] Already build tested
2024-07-12 21:48:25 +03:00
postmarketOS CI 1282ad59b2 linux-next: upgrade to next-20240712 2024-07-12 18:31:47 +00:00
Richard Acayan 436876625d device-google-sargo: add sensors support (MR 5329) 2024-07-12 13:05:18 +03:00
Richard Acayan 9501e9daa1 firmware-google-sargo: add sensor registry (MR 5329) 2024-07-12 13:05:14 +03:00
Clayton Craft e30db78d84 main/postmarketos-ui-phosh: don't depend on phosh-service (MR 5342)
The package name is wrong now (!5315), and the service stuff is
automatically installed by systemd-service

[ci:skip-build]: already built successfully in CI
2024-07-12 10:21:31 +02:00
Caleb Connolly c4c6a222c4 CI: use more gitlab.com runners (MR 5236)
We have access to the fancy runners since GitLab.com donate premium to
us. There's no downside to making the most of them while we can. We
don't depend on them, but they'll make our CI go zoom!

For the next few months until we migrate to self-hosted :D

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-07-11 23:05:55 -07:00
Clayton Craft cbe2f4f7f6 main/postmarketos-mkinitfs: upgrade to 2.5.1 (MR 5341)
Fixes:

        - ignore leading/trailing whitespace in files (MR 55)
        - fix spelling typo in manpage
        - add missing /usr/sbin symlinks for UsrMerge (MR 53)
[ci:skip-build]: already built successfully in CI
2024-07-11 15:00:04 -07:00
Stefan Hansson f5dd18d657 pine64-pinetab2: add co-maintainership (MR 5336)
I use the PineTab 2 for various tasks on a semi-regular basis, so I
would like to co-maintain it.

---

[ci:skip-vercheck]:
Since this doesn't affect the resulting package as Co-Maintainer is a
postmarketOS schema extension that abuild doesn't read, there is no need
to bump pkgrel for this.
[ci:skip-build]: already built successfully in CI
2024-07-11 21:16:16 +02:00
postmarketOS CI 88cd14232b linux-next: upgrade to next-20240711 2024-07-11 18:31:13 +00:00
Danct12 9624284a20 linux-pine64-pinetab2: upgrade to 6.9.8-danctnix2 (MR 5333)
[ci:skip-build]: already built successfully in CI
2024-07-11 16:05:56 +02:00
Clayton Craft 81dee0f57c device-valve-jupiter: fix emmc/nvme boot, partially fix debug shell (MR 5292)
- Added some modules to fix booting from emmc/nvme (fixes #2953)

- Partially fixes debug shell (#2955): the OSK still shows partially,
  but at least now there's some usable console/shell with an external
  usb keyboard.

[ci:skip-build] already built successfully in CI
2024-07-10 14:09:56 -07:00
Clayton Craft 45cdeafe38 oem-amd: install amdgpu stuff into the initramfs (MR 5292)
One day the initramfs and -extra will be combined anyways, and this lets
us use the AMD graphics stuff earlier in boot (better splash, etc)
2024-07-10 14:09:56 -07:00
postmarketOS CI a984ac80b6 linux-next: upgrade to next-20240710 2024-07-10 18:31:55 +00:00
jane400 aed9243c65 main/postmarketos-initramfs-minimal: backport fsck and mount sysroot rw (MR 5238) 2024-07-09 15:49:31 -07:00
jane400 59fd336bbc main/postmarketos-initramfs: run fsck and mount sysroot as rw (MR 5238)
This moves the responsibility to auto-repair filesystems to the
initramfs. (I think we don't do this at all right now).
We don't try to mount broken partitions at all, we tell the user
that the system is broken and fail_to_boot.

The flow is now:

1. mount the boot partition (read-only) for initramfs-extra
2. initramfs-extra is extracted (with the needed fsck executables)
3. fsck the root partition
4. mount root partition (read-write)
5. fsck the boot partition
6. mount the boot partition (read-write)

This helps with the systemd bringup, as we want to make use of
systemd-firstboot, which sets /etc and enabled services up. As
this service is responsible of setting up /etc, it is run before
/etc/fstab is read and before / is remounted read-write.
2024-07-09 15:49:26 -07:00
adamthiede d769cafbf0 device/linux-postmarketos-mediatek-mt8173: upgrade to 6.9.8 (MR 5320)
standard upgrade with `pmbootstrap kconfig migrate`

[ci:skip-build] already built successfully in CI
2024-07-09 12:55:28 -07:00
Sergey Lisov 29248d292c device-samsung-a6lte: set chassis to "handset" (MR 5330)
This device is a smartphone, so "handset" is the correct option here, and not "convertible".

[ci:skip-build] already built successfully in CI
2024-07-09 12:52:42 -07:00
postmarketOS CI b71651f421 linux-next: upgrade to next-20240709 2024-07-09 18:31:57 +00:00
Luca Weiss f4493be839 linux-postmarketos-qcom-sm6350: enable USB Type-C related options (MR 5321)
Since the v6.9 upgrade the kernel supports Type-C functionality for
Fairphone 4, but I forgot to enable the relevant kconfig options then.

Enable them now along with a bunch of options related to USB that come
in useful. Also prepare some options that will be used in the future
with DisplayPort over USB-C (e.g. SBU mux).

[ci:skip-build]: already built successfully in CI
2024-07-08 22:25:38 +02:00
Duje Mihanović 9c134939e0 samsung-coreprimevelte: drop firmware subpackage (MR 5324)
... and install the firmware package using _pmb_recommends instead.

Applied to both downstream and mainline ports.
[ci:skip-build]: already built successfully in CI
2024-07-07 17:39:39 +02:00
Alistair Francis f4249a0af3 linux-purism-librem5: sync kconfig (MR 5310)
With the latest kernel bump the config was updated based on the output
of:

    make ARCH="$_carch" CC="${CC:-gcc}" defconfig KBUILD_DEFCONFIG=librem5_defconfig

but there are other changes that pop up when running

    pmbootstrap kconfig edit linux-purism-librem5

This commit updates the config so that future config empty edits don't
generate any changes.

This is still pretty in sync with the Purism config, besides passing the
`kconfig check` and disablling SELinux as that causes boot failures.

Signed-off-by: Alistair Francis <alistair@alistair23.me>
[ci:skip-build]: already built successfully in CI
2024-07-07 16:33:36 +02:00
Dylan Van Assche 372ccb3cf2 temp/iio-sensor-proxy: upgrade SSC patches (MR 5215)
Include latest fixes for SSC support and require building against libssc 0.1.6 or higher.

[ci:skip-build]: already built successfully in CI
2024-07-07 16:20:02 +02:00
WeirdTreeThing bcc52c36bb linux-postmarketos-mediatek-mt81xx: upgrade to 6.10.0_rc4_git20240624 (MR 5325)
Updated to latest collabora cros kernel. Fixes audio on mt8192 devices
and fixes display issues on all devices using this kernel.

[ci:skip-build]: already built successfully in CI
2024-07-07 16:11:18 +02:00
WeirdTreeThing 19cee7b440 google-asurada: add linux-firmware-rtl_bt to firmware subpackage (MR 5326)
Fixes bluetooth not working

[ci:skip-build]: already built successfully in CI
2024-07-07 16:05:48 +02:00
Oliver Smith c8e2ad0b95 ci/kconfig.sh: use pmbootstrap v3 (MR 5301)
Use pmbootstrap v3 for kconfig check, which reads kconfigcheck.toml from
the current pmaports branch and uses it.
2024-07-07 15:38:18 +02:00
Oliver Smith 7829e6c985 kconfigcheck: new file (MR 5301)
Move the kernel config options from the pmbootstrap code to pmaports, so
it can be changed per branch, and it can be changed at the same time as
we actually make the changes to the kernel configs.
2024-07-07 15:38:18 +02:00
Oliver Smith e0453db08f CI: kconfig check: just run pmbootstrap (MR 5301)
Replace previous code that used internal pmbootstrap code with running
pmbootstrap directly. pmbootstrap doesn't really have a stable API yet,
so calling the internal code is always a bit fragile and now that we
have reworked a lot of its code, this is all broken.

The trade-off is that it is now slower and the output isn't as pretty,
but we can finally use kconfigcheck.toml from the pmaports branch. So it
is worth it!
2024-07-07 15:38:14 +02:00
neokitty 3963f4cc8a device-xiaomi-fire: depend on firmware-xiaomi-fire (MR 5323)
[ci:skip-build]: already built successfully in CI

[ci:skip-vercheck]
2024-07-06 13:05:19 +02:00
Nikita Travkin ae88cf9e60 linux-postmarketos-qcom-sc7180: Conform to UEFI kconfig check (MR 4900)
[ci:skip-build]: already built successfully in CI
2024-07-06 11:23:17 +02:00
Nikita Travkin 0b5614b34d device-acer-aspire1: Switch to systemd-boot (MR 4900) 2024-07-06 11:23:16 +02:00
Nikita Travkin 488d91bbe2 linux-postmarketos-qcom-sc7180: Enable EFI_ZBOOT (MR 4900) 2024-07-06 11:23:16 +02:00
Nikita Travkin 89a4c7f08f device-acer-aspire1: Enable DP in ucm config (MR 4900)
With the latest kernel update the EC is now enabled and DP alt mode can
be used. Enable the DP sound in UCM config.
2024-07-06 11:23:16 +02:00
Nikita Travkin ad28501092 linux-postmarketos-qcom-sc7180: upgrade to 6.6.28 (MR 4900) 2024-07-06 11:23:16 +02:00
Luca Weiss 240365f5a7 device-fairphone-fp5: add sensor support (MR 5313)
Add the required dependencies and config for both hexagonrpcd and
libssc so that sensors start working.

[ci:skip-build]: already built successfully in CI
2024-07-05 09:53:03 +02:00
Luca Weiss ba6d8a86ce firmware-fairphone-fp5: package files for hexagonfs (MR 5313)
Package the files to be served by hexagonrpcd.
2024-07-05 09:53:03 +02:00
Luca Weiss f1767d7dbd device-fairphone-fp4: add sensor support (MR 5290)
Add the required dependencies and config for both hexagonrpcd and
libssc so that sensors start working.

[ci:skip-build]: already built successfully in CI
2024-07-05 09:48:47 +02:00
Luca Weiss 86fa840915 device-fairphone-fp4: drop nonfree firmware subpackage (MR 5290)
The device already loads plenty of nonfree-firmware into the
co-processors during the bootloader stages, and also once booted in
Linux won't really be useful without everything.

Additionally I doubt anyone tests that case, so just require nonfree
firmware unconditionally to simplify maintenance.
2024-07-05 09:48:47 +02:00
Luca Weiss cdb5b2873e firmware-fairphone-fp4: package files for hexagonfs (MR 5290)
Package the files to be served by hexagonrpcd.
2024-07-05 09:48:47 +02:00
Luca Weiss 8ce73a79a1 linux-postmarketos-qcom-sm6350: upgrade to v6.9.7 (MR 5290)
Notably include a fix for fastrpc required for sensors.
2024-07-05 09:48:47 +02:00
Alistair Francis 933688fb85 device-purism-librem5: Run hciattach for Bluetooth (MR 5281)
This gets Bluetooth working for the Sparklan card.

btattach doesn't work on the Librem5 at the moment (see [1]) so even
though it's deprecated let's use hciattach to get things working.

1: https://source.puri.sm/Librem5/librem5-base/-/issues/76

Signed-off-by: Alistair Francis <alistair@alistair23.me>

[ci:skip-build] already built successfully in CI
2024-07-04 16:15:19 -07:00
Arnav Singh 3c9a7bcaa5 linux-postmarketos-allwinner: upgrade to 6.9.7_git20240630 (MR 5303) 2024-07-04 13:03:15 -07:00
Duje Mihanović 3f8e4730d1 firmware-samsung-pxa1908: do not install conf files on mainline (MR 5296)
Suggested-by: Karel Balej <balejk@matfyz.cz>
2024-07-04 23:56:13 +09:00
Duje Mihanović 86c0223e69 firmware-samsung-pxa1908: only enable service if downstream (MR 5296)
I made an oversight in pmaports!5295 which caused the post-install
script to try enabling the sd8x-wlan service even if the downstream
subpackage isn't installed. This causes errors when creating a new
mainline rootfs, so fix it by moving the install variable declaration to
the subpackage function.
2024-07-04 23:38:31 +09:00
postmarketOS CI 92527d8432 linux-next: upgrade to next-20240703 2024-07-03 18:31:45 +00:00
Stefan Hansson 8cc5cc801d CI: adapt autoupdate.sh to follow our commit style (MR 5314)
Our commit style (specified in COMMITSTYLE.md) states that "upgrade to"
should be used when increasing the version of a package.
2024-07-03 18:32:45 +02:00
Martijn Braam 33d35c0835 */: Drop maintainership (MR 5302)
Tweaked-by: Oliver Smith <ollieparanoid@postmarketos.org>
2024-07-03 17:20:51 +02:00
fossdd 53455c41ac main/postmarketos-ui-i3wm: take over maintainership (MR 5309) 2024-07-03 17:03:24 +02:00
postmarketOS CI 69c110a940 linux-next: update to next-20240702 2024-07-02 18:31:53 +00:00
Eisenbahnfan eacaaebaa3 device-samsung-n2awifi: add display support (MR 5305)
And use postmarketos-initramfs-minimal for a smaller boot
image that fits on the boot partition.

[ci:skip-build]: already built successfully in CI
2024-07-02 09:27:42 +02:00
postmarketOS CI 17af4685ba linux-next: update to next-20240701 2024-07-01 18:31:46 +00:00
Ferass El Hafidi 4269e40815 device-amlogic-tvbox: new aport (MR 5273)
Merge all TV box ports into one.

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
[ci:skip-build]: already built successfully in CI
2024-07-01 17:19:07 +02:00
Stefan Hansson 9ada0b0d5e linux-pine64-pinetab2: upgrade to 6.9.6 (MR 5299)
[ci:skip-build]: already built successfully in CI
2024-07-01 17:13:27 +02:00
Stefan Hansson 8a3ec1faa9 linux-pine64-pinetab2: use $pkgver in $_tags (MR 5299)
This is usually how it's done so you only need to change the pkgver in
one place.
2024-07-01 17:13:27 +02:00
Caleb Connolly afb8bedc7f postmarketos-trailblazer: fix onboard-usb-dev module (MR 5260)
This got renamed from usb-hub to usb-dev in 6.9

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-07-01 17:05:55 +02:00
Ts0p0sT 833f98ef01 motorola-ghost: enable armv7 (was armhf) (MR 5300) 2024-07-01 12:01:58 +02:00
Luca Weiss a4153e809f */*: update Luca's email address (MR 5291)
[ci:ignore-count]
[ci:skip-build]
[ci:skip-vercheck]
2024-07-01 11:55:02 +02:00
Clayton Craft d6f7c933bb linux-valve-jupiter: upgrade to 6.10-rc5 (MR 5297)
Patches were rebased, sadly nothing was dropped :(

All kconfig changes are from simply running `kconfig migrate` and
accepting all defaults when prompted
[ci:skip-build]: already built successfully in CI
2024-06-29 15:42:43 -07:00
Duje Mihanović 395bbb99cc firmware-samsung-pxa1908: split downstream wifi-enablement to subpackage (MR 5295)
Resolves this harmless, but annoying error on mainline:

 * Enabling wlan driver ...
/lib/rc/sh/openrc-run.sh: line 14: can't create /sys/devices/platform/sd8x-rfkill/pwr_ctrl: nonexistent directory
 * ERROR: sd8x-wlan failed to start
[ci:skip-build]: already built successfully in CI
2024-06-29 18:25:18 +02:00
Duje Mihanović f49dc9b38f device-samsung-coreprimevelte-downstream: use minimal initramfs (MR 5295) 2024-06-29 18:24:51 +02:00
Duje Mihanović 8d2fd628cc linux-samsung-coreprimevelte: enable zstd for zram (MR 5295) 2024-06-29 18:24:51 +02:00
Duje Mihanović ae07d1e7d6 linux-samsung-coreprimevelte: upgrade to 6.10-rc5 (MR 5295)
This also increases the (necessarily) hardcoded initrd end by 16MiB in
the DTS, which is necessary to make the phone boot with the new
initramfs (and in general any initramfs which exceeds 2624KiB).
2024-06-29 18:24:51 +02:00
Federico Amedeo Izzo 0f2f183aa1 alsa-ucm-conf-qcom-sdm670: upgrade ucm configs to the latest commit (MR 5282) 2024-06-29 18:01:48 +02:00
sn0w 68b65efb40 device-amazon-biscuit: switch to minimal initramfs (MR 5294)
[ci:skip-build]: already built successfully in CI
2024-06-29 17:52:41 +02:00
postmarketOS CI 4bb0cb738f linux-next: update to next-20240628 2024-06-29 04:31:42 +00:00
postmarketOS CI e22f389860 linux-next: update to next-20240627 2024-06-27 18:31:42 +00:00
Clayton Craft fe20c109fc main/postmarketos-bootsplash: fix kill-pbsplash systemd service (MR 5286)
This wasn't actually getting run on boot because After=graphical.target
created an ordering issue and systemd was disabling it.

I saw this ordering issue in the journal after finding that pbsplash was
still running in the background after the UI loaded, and confirmed it by
running systemd-analyze.
2024-06-27 19:17:38 +02:00
Richard Acayan f3b649c3c0 main/postmarketos-initramfs: invalidate cached rootfs after unlock (MR 5288)
The referenced commit had surfaced a bug with the unlocking code, which
would attempt to change the output of find_root_partition while the
cached PMOS_ROOT is stale and active. Clear this variable to force
find_root_partition to find the new rootfs value.

Fixes: 7030e08e7b ("postmarketos-initramfs: check for root subpartition (MR 5048)")
[ci:skip-build]: already built successfully in CI
2024-06-27 10:49:33 -04:00
postmarketOS CI 1cb18d06ec linux-next: update to next-20240626 2024-06-27 04:31:44 +00:00
Sergey Lisov 6881d81ef8 linux-samsung-a6lte: remove CONFIG_FIVE (MR 5283)
This seems to be some Samsung's proprietary verified boot solution.
After a recent update, this started bootlooping my phone.

I have no idea why it only fired now, but pmOS does not use this
feature anyway, so it won't hurt to disable it.

[ci:skip-build] Already built fine once
2024-06-27 04:46:23 +03:00
Caleb Connolly 1b19bd7367 postmarketos-initramfs: debug-shell: buffyboard (MR 5048)
Drop the console-shell hook in favour of stuffing buffyboard into the
initramfs. This makes it possible to get a debug shell directly on the
device without needing to use a computer.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
[ci:skip-build]: already built successfully in CI
2024-06-26 17:32:33 -07:00
Caleb Connolly abca4acbe0 postmarketos-initramfs: better wait_[br]oot_partition (MR 5048)
Rework the messages and avoid re-spawning the splash on every check.
Additionally, add a call to check_keys, this lets users drop to a debug
shell or export logs to triage this failure (particularly useful for
hard-to-reproduce issues).

Finally, add a (liberal) 30 second timeout and dump logs at the end. If
we're just waiting for a device to show up and it doesn't after 30
seconds then it's probably never going to...

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-06-26 17:32:33 -07:00
Caleb Connolly 7030e08e7b postmarketos-initramfs: check for root subpartition (MR 5048)
In mount_subpartition we currently try to look for the boot partition,
to see if we're done (either we aren't using subpartitions or we found
the right one). However it is possible that a device might have
originally used the subpartition scheme, but was later converted to have
a real boot partition (for EFI for example).

In this scenario, the boot partition would be found immediately, but the
root subpartition would not be.

Address this by making mount_subpartition check for success by calling
find_root_partition instead of find_boot_partition. For most
installations this has no impact.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-06-26 17:32:33 -07:00
Caleb Connolly 0cd613c8b0 postmarketos-initramfs: drop duplicate in initramfs-base.files (MR 5048)
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-06-26 17:32:33 -07:00
Clayton Craft 629a143de2 main/postmarketos-base-ui-gnome: auto-start apk-polkit on systemd (MR 5284)
fixes one issue reported in
https://gitlab.com/postmarketOS/pmaports/-/issues/2899

[ci:skip-build]: already built successfully in CI
2024-06-26 16:07:56 -07:00
Robert Mader 42640780d4 temp/libcamera: backport swISP RGBA support (MR 5285)
Which can have significant performance impact on affected devices,
such as the Librem5 or the PinePhone.
The patch already landed upstream, however a new release is likely
several weeks or months away, making a backport worthwhile.

[ci:skip-build]: already built successfully in CI
2024-06-26 15:54:55 -07:00
postmarketOS CI fbda46ebec linux-next: update to next-20240625 2024-06-25 18:31:44 +00:00
postmarketOS CI e55645383c linux-next: update to next-20240624 2024-06-25 04:31:48 +00:00
Caleb ConnollyandClayton Craft 9c9e47b059 main/postmarketos-bootsplash: systemd support (MR 5181)
Install a kill-pbsplash systemd service which is configured to be
started as part of the graphical-session user target. Additionally
install an override so that if the display-manager service (aliases to
gdm, sddm, etc) fails to start it will still kill pbsplash.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
2024-06-24 16:00:27 -07:00
Caleb Connolly 1896be1222 device-postmarketos-trailblazer: add eusb phy for sm8250 (MR 5276)
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>

[ci:skip-build]: already built successfully in CI
2024-06-24 17:41:24 +02:00
methanal 28179dbb99 main/dtbtool-sprd: add dtc as a dependency as a fallback (MR 5275)
Currently, dtbtool-sprd has an argument -p which accepts the path to the
dtc binary. When it's not provided, it should use the dtc binary installed
in the system as a fallback. However, that's not the case. The following
error is reported:

Found file: test.dtb ... skip, failed to scan for 'sprd,sc-id = <' tag

...even though test.dtb has the `sprd,sc-id` property.

In order to mitigate such issues, install dtc as a dependency of the
package.
2024-06-24 15:51:29 +03:00
Federico Amedeo Izzo 969f770560 soc-qcom-sdm845: upgrade ucm configs to the latest commit (MR 5270)
[ci:skip-build]: already built successfully in CI
2024-06-24 11:08:11 +02:00
Oliver Smith b804d43cb7 google-{x64cros,nyan-*}: depend on postmarketos-initramfs-minimal (MR 5269)
Related: issue 2914

[ci:skip-build]: already built successfully in CI
2024-06-23 15:08:54 +02:00
Ferass El Hafidi 1d69471598 linux-postmarketos-amlogic: enable CONFIG_NLS_ASCII (MR 5271)
Without it some devices will fail to mount the boot partition:

	FAT-fs (mmcblk1p1): IO charset ascii not found

Also disable CONFIG_RT_GROUP_SCHED.

Reported-by: Anton Bambura <jenneron@protonmail.com>
Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
[ci:skip-build]: already built successfully in CI
2024-06-23 15:02:12 +02:00
Gianluca Boiano 9350224c42 firmware-xiaomi-tulip: enable ath10k wifi (MR 5274)
[ci:skip-build]: already built successfully in CI
2024-06-23 14:59:37 +02:00
Oliver Smith 90786936f0 main/mobile-config-firefox: upgrade to 4.3.2 (MR 5258)
[ci:skip-build]: already built successfully in CI
2024-06-23 14:52:05 +02:00
Caleb Connolly 3ed9591e41 treewide: drop PMOS_NO_OUTPUT_REDIRECT (MR 5240)
This cmdline argument is now a no-op. Drop it everywhere and add a new
CI check to enforce this.

Adjust the deprecated "minimal" initramfs variant to use
pmos.debug-shell to enable logging instead. It doesn't /support/
dropping to a shell, so the variable takes on a different meaning. But
that's ok since it's at least more consistent.

[ci:ignore-count]
[ci:skip-vercheck]
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Tweaked-by: Oliver Smith <ollieparanoid@postmarketos.org>
[ci:skip-build]: kernel builds are very likely to go through now
2024-06-23 14:48:20 +02:00
Oliver Smith e22a36d977 linux-postmarketos-mediatek-mt6735: V=1 workaround (MR 5240)
Until this kernel is upgraded to 6.2, we need V=1 to work around silent
make output leading to failing builds.
2024-06-23 14:45:06 +02:00
Sicelo A. Mhlongo da712cf901 device-nokia-n900: update kernel cmdline (MR 5272)
* drop maxcpus=0, which was added with 73a033328e ("device-nokia-n900: set
    uniprocessor mode for kernel (MR 4299)") while troubleshooting. a better
    fix was eventually implemented with 3e737241ba ("linux-postmarketos-omap:
    N900: disable twl off idle features (MR 4317)")
* drop PMOS_NO_OUTPUT_REDIRECT, which was obsoleted by 7c98127746
    ("postmarketos-initramfs: switch to udev and kmod (MR 5000)")
2024-06-22 20:06:48 +02:00
Barnabás Czémán 54d61cd914 device-xiaomi-{ysl,tissot,rosy,onclite}: remove console cmdline parameter
Remove console=null cmdline parameter to suppress this warning:

WARNING: 'console=null' on kernel cmdline. This is NOT supported!
2024-06-22 17:03:59 +03:00
wire_witch 4ef274364d amazon-biscuit: depend on mtk-mkimage (MR 5264)
Depend on mtk-mkinage to fix "pmbootstrap install".

Fixes #2908
2024-06-22 13:32:24 +03:00
adamthiede 775112cb22 linux-postmarketos-mediatek-mt8173: upgrade to 6.9.6 (MR 5263)
[ci:skip-build] Already built on CI in MR
2024-06-22 13:26:40 +03:00
Gianluca Boiano 117ffa602f xiaomi-tulip: use soc-qcom-sdm660 and general enhancements (MR 5265) 2024-06-22 13:10:12 +03:00
postmarketOS CI c3dd8edd1e linux-next: update to next-20240621 2024-06-22 04:31:41 +00:00
Anton Bambura 2edbc1907e google-spring: disable dhcp (MR 5266)
[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
2024-06-22 02:55:07 +02:00
Anton Bambura 5799d11b57 google-smaug: disable dhcp (MR 5266) 2024-06-22 00:14:07 +03:00
Anton Bambura 5bdc7645b2 google-peach: disable dhcp (MR 5266) 2024-06-22 00:14:07 +03:00
Anton Bambura d9b2f0f65f google-nyan: disable dhcp (MR 5266) 2024-06-22 00:14:06 +03:00
Anton Bambura f5eeaec856 google-nyan: disable dhcp (MR 5266) 2024-06-22 00:14:06 +03:00
Anton Bambura d031124782 google-corsola: disable dhcp (MR 5266) 2024-06-22 00:14:06 +03:00
Anton Bambura 218d70bc8e google-cherry: disable dhcp (MR 5266) 2024-06-22 00:14:05 +03:00
Anton Bambura bc78078649 google-asurada: disable dhcp (MR 5266) 2024-06-22 00:14:05 +03:00
Anton Bambura 513af5043a google-x64cros: disable dhcp (MR 5266) 2024-06-22 00:14:05 +03:00
Anton Bambura 5ac5eee4f3 google-veyron: disable dhcp (MR 5266) 2024-06-22 00:14:04 +03:00
Anton Bambura 177f0a772d google-trogdor: disable dhcp (MR 5266) 2024-06-22 00:14:04 +03:00
Anton Bambura 078c961ab3 google-snow: disable dhcp (MR 5266) 2024-06-22 00:14:04 +03:00
Anton Bambura f768d8bf92 google-peach: disable dhcp (MR 5266) 2024-06-22 00:14:03 +03:00
Anton Bambura d148012b0c google-oak: disable dhcp (MR 5266) 2024-06-22 00:14:03 +03:00
Anton Bambura 63507230a3 google-kukui: disable dhcp (MR 5266) 2024-06-22 00:14:03 +03:00
Anton Bambura e7cdce2217 google-gru: disable dhcp (MR 5266) 2024-06-22 00:14:02 +03:00
knuxify 33813c1828 firmware-samsung-lt01: package stock WiFi firmware (MR 5262)
Use stock WiFi firmware instead of the generic linux-firmware-brcm
firmware. The stock firmware is newer and seems to be better suited
for the BCM4334B2 variant used in these tablets.

This fixes timeout errors from the brcmfmac driver and seems to
slightly improve download/upload speeds (by about 1MB/s).
2024-06-21 21:00:31 +03:00
Clayton Craft c862361087 oem-intel: add i915 DMC fw to initramfs (MR 5237)
Intel >=gen9 GPUs require DMC firmware to support some runtime low power
states, it's loaded when i915 starts so let's make sure it's in the
initramfs.

Also see: https://www.kernel.org/doc/html/latest/gpu/i915.html#dmc-firmware-support

[ci:skip-build] already built successfully in CI
2024-06-21 10:08:50 -07:00
Clayton Craft 2364d0a6f8 device-generic-x86_64: support macbook keyboards in the initramfs (MR 5248)
[ci:skip-build] already built successfully in CI
2024-06-21 10:06:45 -07:00
adamthiede e8b3544997 device-google-oak: depend on postmarketos-initramfs-minimal (MR 5259) 2024-06-20 18:12:47 -05:00
postmarketOS CI daba855970 linux-next: update to next-20240620 2024-06-20 18:31:55 +00:00
Oliver Smith 1dfd81dfd0 cross/busybox-static-*: upgrade to 1.36.1-r31 2024-06-20 19:25:45 +02:00
Dylan Van Assche dfd4a998c8 main/bootmac: upgrade to 0.5.0 (MR 5239)
[ci:skip-build]: already built successfully in CI
2024-06-20 10:07:07 -07:00
Clayton Craft ba7b4d77da main/boot-deploy: upgrade to 0.16.2 (MR 5255)
Changelog:

Fixes:
- Validate images/partition sizes before flashing (MR 64)

[ci:skip-build] already built successfully in CI
2024-06-20 09:50:48 -07:00
Caleb Connolly 7a01ded579 linux-next: enable CONFIG_NLS_ASCII (MR 5257)
for vfat boot partition

[ci:skip-build]
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-06-20 18:43:55 +02:00
Caleb Connolly 0384c8a98d postmarketos-trailblazer: remove PMOS_NO_OUTPUT_REDIRECT (MR 5257)
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-06-20 18:32:56 +02:00
Caleb Connolly 7a353219c0 postmarketos-trailblazer: enable more modules in initramfs (MR 5257)
These are needed for the RB2 board to boot from USB.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-06-20 16:52:25 +02:00
Caleb Connolly 876b72b6d4 postmarketos-trailblazer: sort modules (MR 5257) 2024-06-20 16:51:25 +02:00
Caleb Connolly 89be88b09a linux-next: add missing python3 dep (MR 5253)
This is now needed to generate headers for drm/msm.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-06-20 00:23:07 +02:00
Clayton Craft eb3c299a61 main/postmarketos-initramfs-minimal: update to 2.7.1 (MR 5251)
This updates the minimal initramfs to be at the same version that
postmarketos-initramfs was when it was split off. This should have been
done as a part of !5000.

The changelog from git:

- main/postmarketos-initramfs: fix stowaway (MR 5206)
- main/msm-fb-refresher: move cleanup from initramfs into msm-fb-refresher (MR 5191)
- main/postmarketos-mkinitfs-hook-debug-shell: Cleanup debug-shell telnet server (MR 5191)
- main/postmarketos-initramfs: Allow packages to define cleanup hooks (MR 5191)
- main/postmarketos-initramfs: update comment on why we mount /boot (MR 5089)
- main/postmarketos-initramfs: add options for charset to mount vfat /boot (MR 5089)
- main/postmarketos-initramfs: add some sane mount options to /boot (MR 5089)
- main/postmarketos-initramfs: stowaway rootfs (MR 4386)
- main/postmarketos-initramfs: add crc32_generic module for F2FS (MR 4973)
- main/postmarketos-initramfs: add USB booting support (MR 4947)
- main/postmarketos-initramfs: fix starting unudhcpd when no UDC configured (MR 4907)
- postmarketos-initramfs: bigger log image size (MR 4880)
- main/postmarketos-initramfs: allow redirect logs to pmsg device (MR 4800)
2024-06-20 00:00:27 +02:00
postmarketOS CI 02ae499d6a linux-next: update to next-20240619 2024-06-19 21:01:25 +00:00
Caleb Connolly d934985209 CI: implement scheduled auto-update pipeline (MR 4967)
Introduce support for having CI automatically update packages using
project access tokens and scheduled pipelines.

The pipeline schedule is configured with an additional variable
containing a list of packages to update, the autoupdate-fetch.sh script
then calls a handler for each of these, the handler is expected to check
for an update, make the necessary APKBUILD changes and commit them.

After all packages have been updated, the changes are pushed to pmaports
master using a project access token.

[ci:skip-build] takes too long to build in CI
2024-06-19 22:45:20 +02:00
Caleb Connolly ca9a26cb0d testing/device-postmarketos-trailblazer (MR 4967)
trailblazer is a bleeding edge, unstable target for EFI capable ARM64
devices. It runs linux-next and should otherwise be adjusted to support
as many devices as possible.

The goal of trailblazer is to motivate more upstream kernel development by
providing a tighter feedback loop (patches land in -next weeks before they
make it into mainline or stable), as well as encouraging more generic
solutions to the device specific hacks we have in userspace.

On supported devices, trailblazer should reflect the current state of
upstream. It allows users to easily appreciate what feature are
unavailable, and more importantly appreciate when a new feature does get
added upstream.

Due to the instability of linux-next, the plan is to have BPO build
trailblazer images nightly, so if next breaks then the images should
only be broken for a day.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-06-19 22:43:36 +02:00
Caleb Connolly 18462c566a testing/linux-next: new aport (MR 4967)
Introduce a linux-next kernel with postmarketOS configs and some
additional device specific configs enabled.

This kernel package will be updated daily to the latest -next tag.
breakages expected. It is designed to be used in tandem with a generic
ARM64 device package to provide a bleeding edge option for those with
EFI capable bootloaders.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-06-19 22:43:36 +02:00
WeirdTreeThing 2ce4f51210 device-xunlong-orangepi5-plus: new device (MR 5219)
[ci:skip-build]: already built successfully in CI
2024-06-19 22:12:17 +02:00
WeirdTreeThing 51d84dc5bc linux-postmarketos-rockchip-rk3588: new aport (MR 5219) 2024-06-19 22:12:17 +02:00
jane400 48250d4ad2 main/postmarketos-initramfs*: prohibit installing multiple -initramfs packages (MR 5249)
Thanks to a good hint of Craftyguy, we just have too use versioned
provides.

Closes #2903
[ci:skip-build]: already built successfully in CI
2024-06-19 10:35:30 -07:00
Brian Cole 2e4ef2b276 device-google-kukui: depend on minimal initramfs (MR 5246)
[ci:skip-build]: already built successfully in CI
2024-06-19 08:47:48 -07:00
Clayton Craft a2d30ae115 main/boot-deploy: upgrade to 0.16.1 (MR 5244)
Fixes:
        - flash_android_bootimg: check validate target partition size before flashing (MR 63)
        - copy target dtb to a temp directory for qcom and sprd dt.img types (MR 57)

Other:
        - ci: add integration test for exynos qcdt (MR 57)
        - ci: switch to unpackbooting from osm0sis (MR 57)

[ci:skip-build] already built successfully in CI
2024-06-18 15:29:38 -07:00
Clayton Craft 5fffa17b06 main/postmarketos-initramfs: explicitly depend on libinput-libs (MR 5242)
pma!5000 added a new implicit dependency on libinput, because it
specified libinput files in the initramfs file hook. mkinitfs considers
it fatal if it cannot find files listed in a file hook.

Later this could be 'optimized' by adding a -libinput subpkg and an
`install_if=libinput-libs` to add this file hook so it's not installed
everywhere... but the size increase isn't too much for UIs.. someone can
do this later.

> libinput-libs-1.26.0-r0 installed size:
> 476 KiB

This fixes a missing dependency problem where a UI (e.g. "none") doesn't
normally depend on libinput, and mkinitfs would fail because these files
were missing.
2024-06-18 14:23:29 -07:00
Stefan Hansson b0d8f91a79 device-samsung-t0lte: depend on minimal initramfs (MR 5241)
This device probably has a small boot partition where the big initramfs
won't fit, so use this.

[ci:skip-build]: already built successfully in CI
2024-06-18 22:39:55 +02:00
Stefan Hansson 1f5f37a2d0 device-samsung-t03g: depend on minimal initramfs (MR 5241)
This device probably has a small boot partition where the big initramfs
won't fit, so use this.
2024-06-18 22:39:55 +02:00
Stefan Hansson f290379828 device-samsung-p4note: depend on minimal initramfs (MR 5241)
This device has a small boot partition (8 MB). The big initramfs
won't fit.
2024-06-18 22:39:55 +02:00
Stefan Hansson ce48786034 device-samsung-m3: depend on minimal initramfs (MR 5241)
This device probably has a small boot partition where the big initramfs
won't fit, so use this.
2024-06-18 22:39:55 +02:00
Stefan Hansson 8ccbb8a864 device-samsung-lt01: depend on minimal initramfs (MR 5241)
This device probably has a small boot partition where the big initramfs
won't fit, so use this.
2024-06-18 22:39:55 +02:00
Stefan Hansson ed5b11da90 device-samsung-i9100: depend on minimal initramfs (MR 5241)
This device probably has a small boot partition where the big initramfs
won't fit, so use this.
2024-06-18 22:39:55 +02:00
Stefan Hansson 68af03bdf5 device-samsung-m0: depend on minimal initramfs (MR 5241)
This device has a small boot partition (8 MB). The big initramfs
won't fit.
2024-06-18 22:39:53 +02:00
Stefan Hansson 8cae59f47c device-samsung-m0-downstream: depend on minimal initramfs (MR 5241)
This device has a small boot partition (8 MB). The big initramfs
won't fit.
2024-06-18 22:39:47 +02:00
Stefan Hansson a1c6fec44b device-samsung-lt01wifi-downstream: depend on minimal initramfs (MR 5241)
This device probably has a small boot partition where the big initramfs
won't fit, so use this. And also reformat depends.
2024-06-18 22:11:30 +02:00
Caleb Connolly 7c98127746 postmarketos-initramfs: switch to udev and kmod (MR 5000)
mdev is slow and missing features, it also requires that we load all the
modules that we include at once making the boot process slower.

udev is required for unl0kr (and buffyboard), it can also load modules
on demand (and asynchronously). Making the boot process considerably
faster on devices, especially for generic images where we have lots of
drivers for different display panels in the initramfs.

Additionally, import full fat modprobe from the kmod package, this is
required to support compressed modules.

This brings us more in line with other distros and generally improves
compatibility.

If devices use broken kernel modules which don't correctly define
modalias', these drivers may not be loaded by udev. This should be fixed
by defining the missing modalias statements in the driver.

This also runs udev earlier in the init, so that display drivers are
loaded before the splash in case they are needed.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Co-authored-by: Clayton Craft <clayton@craftyguy.net>

[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
2024-06-18 12:35:05 -07:00
Clayton Craft 54ef5cdf15 device-*: depend on initramfs-minimal for devices with small boot (MR 5000)
[ci:ignore-count]
2024-06-18 12:35:05 -07:00
Caleb Connolly dd28314ba2 postmarketos-initramfs: debug-shell 3.0 (MR 5000)
This incorprates the debug-shell functionality directly into the
initramfs, so it's no longer necessary to build and boot a custom
initramfs in order to debug your device.

Additionally, the behaviour of the debug-shell is entirely reworked, It
now creates an ACM serial gadget which can be accessed via any normal
terminal emulator (picocom, minicom, etc; or PuTTY on windows). Rather
than just invoking sh, the debug-shell now creates a respawning getty on
both the new virtual console and the active console (this will either be
the UART console or tty0/1).

It is necessary to spawn these shells via getty since the logging rework
means we can no longer assume that stdin/out/err reference a TTY.

In addition to the above, it is now possible to trigger a log dump by
holding volume up during boot. This can be useful for helping users
debug their devices if the issue doesn't result in a failure that can be
detected in the initramfs.

With these changes, the console-shell and debug-shell hook packages are
reduced to only adding the additional tools/features. console-shell is
still required for fbkeyboard, and debug-shell for the setup_usb_storage
tool.

Co-Developed-by: Clayton Craft <craftyguy@postmarketos.org>
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-06-18 12:35:05 -07:00
Caleb Connolly f66238f045 postmarketos-initramfs: handle empty hooks dir (MR 5000)
For some reason globbing doesn't work properly for empty directories,
adjust the check in run_hooks to ensure the directory both exists and
contains something, otherwise we get an error about
"/hooks-cleanup/*.sh" not existing.

/ # mkdir blah
/ # for x in blah/*; do echo $x; done
blah/*
/ # touch blah/beep
/ # for x in blah/*; do echo $x; done
blah/beep

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-06-18 12:35:05 -07:00
Caleb Connolly 5a27482c20 postmarketos-initramfs: depend on mdevd (MR 5000)
I somehow hit a case where this wasn't installed and
/lib/mdev/persistent-storage wasn't available. Let's just explicitly
depend on mdevd...

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-06-18 12:35:05 -07:00
Caleb Connolly 51cde04a4b main/iskey: new aport (MR 5000)
iskey is a tiny tool that reports if any of the given keys are pressed.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-06-18 12:35:05 -07:00
Caleb Connolly 118a30935e postmarketos-initramfs: mount subpartitions after hooks (MR 5000)
This step is the most likely to go wrong or have issues, and it has side
effects which can make it difficult to run multiple times on one boot.
Move it to after hooks so that e.g. when dropping to a debug shell, we
land before the first call.

This also makes booting to hooks a faster in many cases.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-06-18 12:35:05 -07:00
Caleb Connolly 5dcb7aab62 postmarketos-initramfs: use dd to allocate logs image (MR 5000)
fallocate seems to cause some strange behaviour where the logs.img file
is treated like it's empty. Given it's small and in a ramdisk let's just
create it with dd instead.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-06-18 12:35:04 -07:00
Caleb Connolly 709768214c postmarketos-initramfs: check if UDC is configured before clearing (MR 5000)
This fixes the annoying "sh: write error" and "Couldn't write to clear
UDC" messages that happen on every single boot.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-06-18 12:35:04 -07:00
Caleb Connolly 75613d9f69 postmarketos-initramfs: make CONFIGFS global (MR 5000)
This variable is being used in more places, just make it global.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-06-18 12:35:04 -07:00
Caleb Connolly 95b22138c4 postmarketos-initramfs: log to kernel ringbuffer (MR 5000)
Rework logging to always log the initramfs output to the kernel
ringbuffer and deprecate PMOS_NO_OUTPUT_REDIRECT in favour of following
the kernel loglevel.

I know it seems silly to use syslogd for this, but it's necessary to
buffer writes to /dev/kmsg per-line if we want to correctly set the log
level, and "tee" does not do this (it will write multiple lines at once,
resulting in "<14>" prints in the ringbuffer). The main advantage to
this is that we won't have kernel logs cut in half by initramfs logs
anymore, everything will be nicely line buffered!

The previous logging solution of multiple "tail" commands would actually
fail to log up to the last few lines before a crash due to how tail
works (it polls the file and buffers lines).

I attempted something like this before, but I stopped after running into
ratelimiting issues. These are now resolved by configuring the
printk_devkmsg sysctl.

Dropping PMOS_NO_OUTPUT_REDIRECT:

The general motivations behind PMOS_NO_OUTPUT_REDIRECT was to avoid
cluttering up the console with initramfs logs when they aren't wanted;
this is now handled instead by the kernels logging facility. We log to
the ringbuffer at LOGLEVEL_INFO, so if "quiet" is specified on the
cmdline (or the loglevel is otherwise set above info) then initramfs
logs will also not be shown.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-06-18 12:35:04 -07:00
Caleb Connolly 6c799ac4f6 postmarketos-initramfs: fork -minimal variant (MR 5000)
We plan to make a lot of changes to the initramfs which will require
incresaing the size. There are some devices that have literally no free
space for this, so make a -minimal initramfs fork that can continue to
support those while we update the regular initramfs.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-06-18 12:34:59 -07:00
Eisenbahnfan e2bf43b9e1 samsung-n2awifi: new device (MR 5233)
[ci:skip-build]: already built successfully in CI
2024-06-17 15:37:54 -07:00
Clayton Craft cc4c164c58 device-purism-librem5: remove craftyguy as maintainer (MR 5223)
I'm not able to give this device the attention it deserves.

This also removes me from maintaining fw and kernel packages used by the
L5, and adds the current L5 maintainers to those packages.

[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
2024-06-17 14:20:57 -07:00
Pablo Correa Gómez 8a7042faf6 main/postmarketos-base-ui-gnome: replace evince with papers (MR 5234)
papers is now in community in alpine, and is the GTK4
replacement. Current main version (still not available in alpine),
fits phone screens, but makes sense to change it already now.

Relates #1479

[ci:skip-vercheck] changes are in pmb_recommends
[ci:skip-build]: already built successfully in CI
2024-06-17 17:54:18 +02:00
kubntd d6fa4df277 device-xiaomi-clover: add dependencies for modem, Wi-Fi and GPU (MR 5230)
Depend on msm-firmware-loader, firmware- and soc- packages.
Sort deps alphabetically.

Tidy up deviceinfo:
* add flash_kernel_on_update
* remove unneded things from kernel cmdline
[ci:skip-build]: already built successfully in CI
2024-06-17 09:51:49 +02:00
kubntd d94c7d1721 firmware-xiaomi-clover: add initial firmware package (MR 5230) 2024-06-17 09:51:49 +02:00
Oliver Smith 0b6530a250 gitlab/issue_template: add EOL date to v23.12 2024-06-16 20:40:46 +02:00
Oliver Smith 33107c541d channels.cfg: update for v24.06 release 2024-06-16 19:50:32 +02:00
Andreas Kemnade f3cee8a36e epson-embt2ws: new device (MR 5210)
Currently it requries the check_code result check in the
vendor uboot to be disabled as explained in the wiki.

Booting directly via reconfigured boot order still
does not work. It hangs somewhere in the kernel.

Firmware for Wifi/BT is not included yet.

It could use the linux-postmarketos-omap kernel in the future,
but there are still some dirty things in there e.g. for sound
which are not suitable for a multi-device kernel.
[ci:skip-build]: already built successfully in CI
2024-06-14 15:11:06 +02:00
Alistair Francis 863760c6ba linux-purism-librem5: upgrade to 6.6.32 (MR 5231)
Bump to the 6.6.32 release, including updating the config with the
latest changes from Purism.

Signed-off-by: Alistair Francis <alistair@alistair23.me>
[ci:skip-build]: already built successfully in CI
2024-06-14 07:44:05 +02:00
Anton Bambura 432cc88ff9 google-x64cros: add firmware for ASUS Chromebox 3 NC356U (MR 5229)
Fixes WiFi on this device.

[ci:skip-vercheck]: the changes are only for _pmb_recommends
2024-06-13 15:52:09 +02:00
Danct12 c0ad00a6ae pine64-pinetab2: new device (MR 4208)
PineTab 2 is a successor to the original PineTab from PINE64 released
in mid-2023.

The tablet came with DanctNIX's fork of Arch Linux ARM, comes with
K Desktop Environment as the UI and available with 64GB eMMC/4GB RAM
or 128GB eMMC/8GB RAM.
2024-06-12 16:52:05 +00:00
Danct12 8721705c4b firmware-bestechnic-bes2600: new aport (MR 4208)
Bestechnic BES2600 is a WLAN/BT combo chip.
2024-06-12 16:52:05 +00:00
Alexey Minnekhanov 305b5a7783 linux-postmarketos-qcom-sdm660: upgrade to 6.9.3 (MR 4897)
Changelog since 6.7:

General:

* Adreno 5xx preemtion is now disabled due to hangs it causes.
  This makes GPU a lot more cooperative on these platforms.
* Fixed absence of zap-shader region which caused devices with
  GPU enabled to freeze the whole system.
* Fixed ath10k Wi-Fi not connecting to 5Ghz networks.
* Incorporated in-kernel pd-mapper patchset, therefore userspace
  pd-mapper daemon is not required.
* Kernel cmdline from bootloader is no longer ignored completely,
  in other words, not hardcoded. You can now modify cmdline in
  deviceinfo file and changes in that file will not be ignored.

Devices:

* Xiaomi Redmi Note 7 (lavender):
  * split device trees into 2 variants by panel type (Tianma & BOE)
  * GPU + panel support for 2 variants
  * Vibrator support
  * Connectivity: modem, Wi-Fi and bluetooth support.

* Other/all devices:
  * update device trees according to upstream USB stack changes
    (related to USB 3 phy support)
2024-06-12 15:45:04 +00:00
Alexey Minnekhanov c97eafc5b8 soc-qcom-sdm660: install Adreno GPU quirks script (MR 4897)
Install script into /etc/profile.d with workaround for mesa bugs.
This makes most SDM660 devices usable for general people out of the box.

Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
2024-06-12 15:45:04 +00:00
Barnabás Czémán 22a9cdf7b2 device-xiaomi-lavender: add necessary depedencies for modem, wifi and gpu (MR 4897)
Add msm-firmware-loader, soc-qcom-sdm660-rproc, firmware-xiaomi-lavender
and firmware-qcom-adreno-a530 as dependency. This is necessary to make
Wi-Fi and modem work.
Add support for panel drivers.
2024-06-12 15:45:04 +00:00
Barnabás Czémán 3cd4659a53 firmware-xiaomi-lavender: new aport (MR 4897)
Initial firmware package with firmware for wifi and zap firmware for gpu.
2024-06-12 15:45:04 +00:00
Barnabás Czémán 43133df4ac soc-qcom-sdm660: add rmtfs and qcom-diag to rproc package (MR 4897)
Add rmtfs and qcom-diag and bootmac to rproc package
to make wifi, modem and bluetooth work.
Add swclock-offset as a dependency.
2024-06-12 15:45:04 +00:00
Sicelo A. Mhlongo 5e03ad2817 device-nokia-n900: fix sxmo lock state (MR 5228)
commit 933f2b5703 ("device-nokia-n900: improve sxmo-dwm support [MR 5227]")
accidentally removed sxmo lock state initialization. Restore the lock state
initialization
2024-06-12 16:07:42 +02:00
Stefan Hansson 05925f194a samsung-skomer: remove phoc scale config (MR 5221)
Phoc now defaults to 1,25 as scale on skomer, which while not perfect,
is good enough and lets the device be unlocked. As such, let's remove
this configuration file and encourage improvements upstream instead.

See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/4541
2024-06-12 21:39:41 +09:00
Sicelo A. Mhlongo f888ffee55 device-nokia-n900: fix packaging for upower (MR 5227)
170189393b (device-nokia-n900: add upower support and config (MR 4397) added
an upower config, but did not provide a subpackage to actually install it on
device. Add the needed subpackage.

[ci:skip-build]: already built successfully in CI
2024-06-12 10:30:30 +02:00
Sicelo A. Mhlongo 933f2b5703 device-nokia-n900: improve sxmo-dwm support (MR 5227)
(1) the deviceprofile differs from upstream 1.16.3 in the following respects:

  (a) -export SXMO_NO_KEYBOARD=1 - allow use of the virtual keyboard

  (b) +export SXMO_DMENU_LANDSCAPE_LINES="10"
      +export SXMO_DMENU_PORTRAIT_LINES="6" - these two adjust the size of the
         displayed dmenu menu.

    * NB: All foregoing changes are already merged in sxmo-utils master.

  (c) +export SXMO_TOUCHSCREEN_ID="TSC2005 touchscreen" - allows sxmo to
         reliably toggle touch screen's enabled status

    * The foregoing change is awaiting acceptance by upstream.

(2) The start hook differs from upstream 1.16.3 by the removal of the line that
      starts conky. That program pegs N900 CPU usage at 100% all the time. This
      change is not upstreamable, at least not for the time being
2024-06-12 10:25:59 +02:00
Clayton Craft c2f7be3cec main/postmarketos-base-ui: drop pulseaudio wireplumber config (MR 5225)
This was upstreamed to Alpine aports, see aports@cc2f22db473
2024-06-12 10:40:57 +03:00
Pablo Correa Gómez d375a5d75d main/postmarketos-base-ui: add pipewire-spa-bluez to pipewire-audio (MR 5163)
And configure any modem to be able to use it, so that we can keep
controlling things like bluetooth headsets, and take phone calls from a
car.

[ci:skip-build]: already built successfully in CI
2024-06-11 11:20:10 +02:00
Pablo Correa Gómez be9ac83d73 temp/pulseaudio: drop (MR 5163)
Upstream MR has been closed by Dylan 2 months ago, and this feature is
already present in pipewire. We are doing considerably amount of work to
get Pipewire production-ready in postmarketOS, including features to let
users choose. Given HFP support is actually a nice-to-have feature, but
not a great requirement, our fork is outdated (aports is on 17.0), and that
the upstream MR has been dropped and is not being worked on, it might be
time to drop this.
2024-06-11 11:20:10 +02:00
Clayton Craft 263d00790e firmware-brcm43752: install symlinks to fix driver loading (MR 5224)
At some point the driver started using symlinks w/ machine IDs for
finding/loading fw, and for some reason I thought it was a good idea to
not install those symlinks.

Fixes this failure when loading the brcmfmac driver:
brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43752-sdio.purism,librem5r4.bin failed with error -2

[ci:skip-build]: already built successfully in CI
2024-06-10 21:27:51 +02:00
Mighty 65679fec40 linux-postmarketos-omap: upgrade to 6.9.3 (MR 5216)
* Use upstreamed power controller for espresso
  Related issue: https://gitlab.com/postmarketOS/pmaports/-/issues/2825

* Include patch for iio-rescale logic
  Related: https://lore.kernel.org/all/20220524075448.140238-1-linus.walleij@linaro.org/

* Enable CONFIG_NLS_ASCII
  Related: https://gitlab.com/postmarketOS/pmaports/-/issues/2874

* espresso-common: Remove twl6030 import and use upstreamed clk32kg for wlan

[ci:skip-build]: already built successfully in CI
Tweaked-By: Oliver Smith <ollieparanoid@postmarketos.org>
2024-06-10 19:56:01 +02:00
Oliver Smith 074eb3b0a5 temp/gnome-shell-mobile: upgrade to 45_git20240610 (MR 5220)
Add the patch "keyboard: Add a double click gesture on the bottom bar
to trigger the OSK".

[ci:skip-build]: already built successfully in CI
2024-06-10 08:14:15 +02:00
Alexandre Marquet ef8e2d0e02 device-samsung-manta: load ds2482 module at boot (MR 5205)
With the current kernel, ds2482 w1<>i2c module is not automatically
loaded at boot, which prevents loading the ds2784 battery module.

Signed-off-by: Alexandre Marquet <tb@a-marquet.fr>
[ci:skip-build]: already built successfully in CI
2024-06-09 16:20:07 +02:00
Caleb Connolly 647f2bc640 linux-postmarketos-qcom-sdm845: upgrade to 6.9.0-r2 (MR 5212)
This fixes op6 display panel support, drm error spam in dmesg, and
various other minor things.

It also enabled dynamic debugging and ftrace.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-06-08 18:57:39 +02:00
Anton Bambura 492f3c0e64 CI: test installing of postmarketos-installkernel (MR 4681)
[ci:skip-build]: too many kernels to build in CI, all built locally
2024-06-07 11:11:58 +02:00
Pablo Correa Gómez b541410f51 linux-postmarketos-qcom-sm8250: depend on postmarketos-installkernel (MR 4681) 2024-06-06 23:30:19 +02:00
Pablo Correa Gómez 1335a73415 linux-postmarketos-qcom-sm7125: depend on postmarketos-installkernel (MR 4681) 2024-06-06 23:30:19 +02:00
Pablo Correa Gómez ab75cf71f7 linux-postmarketos-qcom-apq8064: depend on postmarketos-installkernel (MR 4681) 2024-06-06 23:30:19 +02:00
Pablo Correa Gómez bf2f268fac linux-postmarketos-exynos7870: depend on postmarketos-installkernel (MR 4681) 2024-06-06 23:30:19 +02:00
Pablo Correa Gómez 5a6a85f9a1 linux-google-smaug: depend on postmarketos-installkernel (MR 4681) 2024-06-06 23:30:19 +02:00
Pablo Correa Gómez c85d6e2820 linux-google-nyan: depend on postmarketos-installkernel (MR 4681) 2024-06-06 23:30:19 +02:00
Pablo Correa Gómez 9dd4479136 linux-postmarketos-qcom-sc7180: depend on postmarketos-installkernel (MR 4681) 2024-06-06 23:30:19 +02:00
Pablo Correa Gómez ddfa8a9124 linux-postmarketos-mediatek-mt8173: depend on postmarketos-installkernel (MR 4681) 2024-06-06 23:30:18 +02:00
Anton Bambura c03571ace8 linux-postmarketos-qcom-sm7150: depend on postmarketos-installkernel (MR 4681) 2024-06-06 23:30:18 +02:00
Raymond Hackley 449f5aef15 qcom-msm8916: add panel-acer-a1-724-hx8394d to modules-initfs (MR 5209)
[ci:skip-build]: already built successfully in CI
2024-06-06 17:31:48 +02:00
Pablo Correa Gómez 77373bff11 CODEOWNERS: Add Pablo and Newbyte to GNOME stuff (MR 5208)
[ci:skip-build]: already built successfully in CI
2024-06-06 12:46:19 +02:00
Pablo Correa Gómez 19d7c9cd83 CODEOWNERS: add Caleb and Clayton as maintainers of the initramfs (MR 5208) 2024-06-06 12:46:19 +02:00
Clayton Craft d46d5855be main/postmarketos-ui-phosh: drop hardcoded dependency on pulseaudio (MR 5203)
This allows users to test out pipewire audio on phosh. Currently the
default audio backend is pulseaudio. This is configured in pmos-base-ui.

fixes #2013
[ci:skip-build]: already built successfully in CI
2024-06-06 12:42:03 +02:00
SSD 086078ded7 main/postmarketos-initramfs: fix stowaway (MR 5206)
I have noticed a bug. Because is some cases, uuid for the boot partition is set, it won't reach logic for the stowaway.

[ci:skip-build]: already built successfully in CI
2024-06-06 11:12:48 +02:00
Andreas Kemnade e0382da4f7 kobo-clara2e: new device (MR 5202)
For now, limited support without graphics. Graphics
support would need messing and detecting board variants.

especially since Rev B seems to need a vcom setting per batch.

[ci:skip-build]: already built successfully in CI
2024-06-05 23:03:05 +02:00
Willow Barraco c5ca6732a0 main/postmarketos-base-ui-cage: add CAGE_UI_ARGS (MR 5168)
Usefull to pass arguments to the cage exec program.

[ci:skip-build]: already built successfully in CI
2024-06-05 22:43:45 +02:00
knuxify 98603be1a2 device-samsung-lt01: use firmware-samsung-lt01 package for firmware (MR 5185)
Replace the firmware-samsung-midas package with an lt01-specific one.

[ci:skip-build]: already built successfully in CI
2024-06-04 23:38:40 -07:00
knuxify 5dee283860 firmware-samsung-lt01: new package (MR 5185)
Add separate firmware package for samsung-lt01.
2024-06-04 23:38:40 -07:00
knuxify 2e654e1cbb firmware-samsung-midas: drop lt01 firmware (MR 5185)
The lt01 firmware will be moved to a separate package.
2024-06-04 23:38:40 -07:00
Andreas Kemnade f39958cc88 linux-postmarketos-imx-ereader: Update to 6.9.0 (MR 5201)
[ci:skip-build]: already built successfully in CI
2024-06-04 23:34:51 -07:00
Richard Acayan 1811ad154c google-sargo: enable DRM rendering in initramfs (MR 5199)
[ci:skip-build]: already built successfully in CI
2024-06-04 23:28:21 -07:00
mae 61133a23ae main/msm-fb-refresher: move cleanup from initramfs into msm-fb-refresher (MR 5191)
[ci:skip-build]: already built successfully in CI
2024-06-04 20:46:50 +02:00
mae 25ad7892a1 main/postmarketos-mkinitfs-hook-debug-shell: Cleanup debug-shell telnet server (MR 5191)
Moved the cleanup code from initramfs
2024-06-04 20:46:50 +02:00
mae ebd351c346 main/postmarketos-initramfs: Allow packages to define cleanup hooks (MR 5191) 2024-06-04 18:44:34 +00:00
Clayton Craft 45dec6cc73 pmos-base-ui: re-enable DNS filtering (MR 4846)
Alpine aports will have a patch[1] to fix the bug this was working around,
so let's re-enable it.

This reverts commit 4dac896160.

1. https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/61103

fixes #2601

Also see #1430
2024-06-04 09:42:33 -07:00
Alexey Minnekhanov c9bab638d4 main/lk2nd: upgrade to 0.16.0 (MR 5197)
Latest release of "old" lk2nd.

Release notes:
- msm8974 improvements
- New variants for few Samsung devices, some renames
- Added Lenovo Vibe K5 variants

New devices:
- Vivo Y21L
- Motorola Moto G 4G
- Huawei G7 Plus
- Samsung Galaxy On7 2015 (SM-G600FY)
- HTC One M8
- Samsung G360T

Added big patch to fix compile errors with gcc-14.

Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
[ci:skip-build]: already built successfully in CI
2024-06-03 22:56:04 -07:00
Johannes Marbach 96148a6213 main/unl0kr: upgrade to 3.2.0 (MR 5198)
[ci:skip-build]: already built successfully in CI
2024-06-04 07:46:34 +02:00
Oliver Smith f775c45906 gitlab/issue_template: add v24.06 2024-06-03 07:57:50 +02:00
Oliver Smith 33dd515af3 main/postmarketos-ui-sxmo-*: add wallpaper (MR 5195)
Add postmarketos-artwork-wallpapers to _pmb_recommends, so Sxmo shows
the postmarketOS wallpaper.

Related: https://todo.sr.ht/~mil/sxmo-tickets/602
Related: pmaports issue 2499
[ci:skip-build]: already built successfully in CI
2024-06-02 21:58:01 +02:00
Willow Barraco 83284e5749 main/postmarketos-ui-sxmo-de-*: use downgraded conky (MR 5195) 2024-06-02 21:47:36 +02:00
Willow Barraco 8e5597aed2 temp/conky: downgrade to 1.20.1 (MR 5195)
Conky got an issue on Wayland since 1.20.2:

https://github.com/brndnmtthws/conky/issues/1898
2024-06-02 21:47:36 +02:00
Oliver Smith 0059607677 main/postmarketos-artwork: set plasma wallpaper (MR 5186)
Set the postmarketOS wallpaper as default for Plasma Mobile and Plasma
Desktop, so we can change it across all UIs with every postmarketOS
release.

It would be nice if we could just set the wallpaper with a simple config
file (reported https://bugs.kde.org/show_bug.cgi?id=487816). Until that
is possible, use a shell script as workaround.

Copy the contents dir and metadata.json file explicitly, instead of
copying the entire "meadow" directory. With this change we avoid copying
meadow.svg, which fixes two issues:
* This file doesn't have a stable name, when we switch to the next
  wallpaper and the user had selected it, the wallpaper will just be
  gone instead of automatically switching to the new wallpaper.
* It shows up as broken wallpaper in Plasma's wallpaper selection.

[ci:skip-build]: already built successfully in CI
2024-06-02 19:37:43 +02:00
Oliver Smith 06f761e972 main/postmarketos-release-upgrade: upgrade to 1.7.0 (MR 5193)
[ci:skip-build]: already built successfully in CI
2024-06-02 17:01:25 +02:00
Oliver Smith fab386bcc7 cross/busybox-static-*: upgrade to 1.36.1-r29 2024-06-02 16:43:10 +02:00
Oliver Smith d2cf8cd78a u-boot-librem5: fix build with python 3.12 (MR 5192)
[ci:skip-build]: already built successfully in CI
2024-06-02 15:20:26 +02:00
David Wronek 4fad2a99d4 treewide: update my email address (MR 5177)
[ci:skip-vercheck]

Signed-off-by: David Wronek <david@mainlining.org>
2024-06-02 17:10:07 +09:00
David Wronek e65dc71f05 xiaomi-miatoll: new device (MR 5177)
Add support for the Xiaomi Miatoll phones. There are currently two
device trees in the upstream kernel.

Signed-off-by: David Wronek <david@mainlining.org>
2024-06-02 17:10:07 +09:00
David Wronek 9c22892b09 linux-postmarketos-qcom-sm7125: upgrade to 6.9.2 (MR 5177)
Upgrade linux-postmarketos-qcom-sm7125 to v6.9.2 and take
maintainership.

Signed-off-by: David Wronek <david@mainlining.org>
2024-06-02 17:10:07 +09:00
David Wronek dd9a80f708 samsung-a52q: remove (MR 5177)
The original maintainer unfortunately has bricked their phone. Drop the
device package in preparation for the SM7125 kernel upgrade.

Signed-off-by: David Wronek <david@mainlining.org>
2024-06-02 17:10:07 +09:00
David Wronek 6716574b85 samsung-a72q: remove (MR 5177)
The device trees for this phone have never been upstreamed
unfortunately. Drop the device package in preparation for the SM7125
kernel upgrade.

Signed-off-by: David Wronek <david@mainlining.org>
2024-06-02 17:10:07 +09:00
David Wronek b8c90fef97 alsa-ucm-conf-samsung-sm7125: remove (MR 5177)
Drop alsa-ucm-conf-samsung-sm7125 in preparation for the SM7125 kernel
upgrade.

Signed-off-by: David Wronek <david@mainlining.org>
2024-06-02 17:10:07 +09:00
Clayton Craft 158247240f device-lenovo-21bx: add usb module to initramfs (MR 5189)
These modules are required in the initramfs when booting a kernel that
builds them as modules (i.e. not builtin)

[ci:skip-build] already built successfully in CI
2024-06-01 16:34:52 -07:00
Richard Acayan 43715175e8 linux-postmarketos-qcom-sdm670: upgrade to v6.9.3 (MR 5187) 2024-06-01 22:23:47 +09:00
Clayton Craft 393250f826 main/postmarketos-mkinitfs: upgrade to 2.5.0 (MR 5183)
- Add support for systems with merged /usr (MR 39)
 - Improve support for deviceinfo format (MR 52)
 - Add support for systemd (MR 51)
 - Document archive compression formats/levels (MR 50)

[ci:skip-build] already built successfully in CI
2024-05-31 12:05:07 -07:00
Caleb Connolly eff1586b5c linux-postmarketos-qcom-sdm845: depend on python3 (MR 5188)
Since 6.10-rc1 python3 is now a hard requirement to compile the kernel,
it's used to generates headers for drm/msm. Add it now so our CI can
keep working.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-31 13:50:33 +02:00
Clayton Craft 53407e5203 main/postmarketos-base-ui-gnome: systemd-related service fixes (MR 5184)
- Fix MM and NM service unit names
- drop iio-sensor-proxy, seems to be dbus activated

[ci:skip-build]: already built successfully in CI
2024-05-29 17:23:56 -07:00
Clayton Craft 0a4c05863e main/postmarketos-ui-plasma-mobile: autostart modemmanager (MR 5184) 2024-05-29 17:23:56 -07:00
Clayton Craft e979d5e79e main/postmarketos-base-ui-plasma: various systemd service fixes (MR 5184)
- fix NM unit name
- relocate an errant -openrc pkg
- remove iio-sensor-proxy from service autostart on systemd, it appears
  that this is dbus activated (inspected the .service file, no `Install`
  section and using dbus directive)
2024-05-29 17:23:44 -07:00
Oliver Smith 3126954b45 cross/grub-efi-x86: upgrade to 2.12-r5 2024-05-29 00:26:57 +02:00
Oliver Smith 2d1d38e73f cross/musl-*: upgrade to 1.2.5-r1 2024-05-29 00:26:57 +02:00
Oliver Smith b4f51af7c8 cross/busybox-static-*: upgrade to 1.36.1-r28 2024-05-29 00:26:57 +02:00
Clayton Craft 59b83d7847 main/postmarketos-ui-*: remove hardcoded dependency on pulseaudio (MR 5145)
This allows the audio switching backend stuff to work on all UIs (see
!5072 / 87d355e08). For example, users of any UI can switch audio
backends by installing one of the pmos-base-ui-audio-* metapackages.

[ci:skip-build] already built successfully in CI
2024-05-28 13:15:59 -07:00
Clayton Craft 96e61da7a2 main/postmarketos-base-ui: audio backend improvements (MR 5145)
- Merge pulseaudio and audio-pulse subpkgs
  Just general cleanup, there's no reason to have a separate pulseaudio
  subpackage now since both were being installed anyways (one indirectly
  depended on the other)

- Add 'none' option for audio backend
  Some users might not want to have an audio backend installed taking
  up disk space. For example they're running a headless server or just
  don't want audio I/O, and PA + dependencies, which include mesa(!!)
  can be a lot... I measured 208MB

Note about drop the pulseaudio subpkg and it's "provides="...
This was done in 6e325417, when pmos-base-ui was split off from
pmos-base (3 years ago). I'm not sure how many people are still rocking
a 3yo pmOS install, but the original package (see 92e43e83) was only
pulled in by install_if, so I think the chance that it's in someone's
world file would be really really low.
2024-05-28 13:15:55 -07:00
Clayton Craft d20a7944bf main/postmarketos-base-ui-gnome: add weather app to pmb_recommends (MR 5149)
[ci:skip-build] already built successfully in CI
[ci:skip-vercheck]
2024-05-28 12:07:42 -07:00
Clayton Craft 564429192e main/postmarketos-ui-gnome: add snapshot to recommends (MR 5149)
Snapshot is a useful camera app, currently only useful on webcams and
that's why I added it here and not in the base-ui-gnome package
2024-05-28 11:17:20 -07:00
Clayton Craft 1f32b78940 main/postmarketos-base-ui-plasma: enable NM for systemd post-install (MR 5171)
[ci:skip-vercheck]

[ci:skip-build]: already built successfully in CI
2024-05-28 09:33:54 -07:00
Oliver Smith 333f5f77ce main/postmarketos-ui-sxmo-*: set pmb:systemd-never (MR 5171)
Sxmo maintainers have decided to stay with OpenRC on postmarketOS. Set
this option, so pmbootstrap doesn't even ask the user if they want to
install Sxmo with systemd. The idea is that users don't end up
reporting issues about this unsupported use case.
2024-05-28 09:33:52 -07:00
Bart RibbersandClayton Craft d0b1579cc7 main/postmarketos-ui-plasma-*: support openrc and systemd installs (MR 5171)
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
2024-05-28 09:33:29 -07:00
Sam DayandClayton Craft 7f16b13781 main/postmarketos-ui-phosh: support openrc and systemd installs (MR 5171)
Also see: MR 4904

Co-authored-by: Clayton Craft <clayton@craftyguy.net>
2024-05-28 09:33:29 -07:00
Caleb ConnollyandClayton Craft b18ccab0f5 main/postmarketos-base-ui-gnome: split openrc depends to -openrc subpackage (MR 5171)
Allow this package to be used on systemd installs without pulling in a
bunch of openrc services.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
2024-05-28 09:33:29 -07:00
Caleb Connolly d35091be52 main/postmarketos-base-ui: initial support for systemd (MR 5171)
Not sure if dropping the networkmanager-openrc dependency causes issues.
Otherwise, make the elogind subpackage conflict with systemd-logind.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-05-27 13:54:35 -07:00
Stefan Hansson 924c47e1d6 linux-postmarketos-qcom-sm8250: disable CONFIG_RT_GROUP_SCHED (MR 5178)
The community check now mandates that this is turned off.

Closes https://gitlab.com/postmarketOS/pmaports/-/issues/2848
[ci:skip-build]: already built successfully in CI
2024-05-27 22:50:45 +02:00
Stefan Hansson fcf8026c83 CI: use latest (stable) Alpine instead of Edge (MR 5174)
Alpine 3.20 has released now which should contain everything we need to
run our CI.

Closes https://gitlab.com/postmarketOS/pmaports/-/issues/2747
[ci:skip-build]: already built successfully in CI
2024-05-27 13:33:23 -07:00
Clayton Craft d163a56a66 community/lenovo-21bx: move to community (MR 5156)
[ci:skip-vercheck]
[ci:skip-build] already built successfully in CI
2024-05-27 13:30:13 -07:00
Clayton Craft cb34a47985 device-lenovo-21bx: Add Jane as co-maintainer (MR 5156) 2024-05-27 13:30:12 -07:00
Clayton Craft 015a3299fa device/lenovo-21bx: remove Konrad as maintainer (MR 5156)
He did an awesome job adding an initial port for this device but hasn't
helped to maintain it, so I'm removing him from the list of active maintainers.
2024-05-27 13:29:43 -07:00
Clayton Craft fd16f66e4f main/postmarketos-config-nftables: add openrc subpkg (MR 5172)
For installing openrc-specific dependencies, specifically
nftables-openrc which is needed because the post-install enables the
openrc service and expects the initd script to be available then

[ci:skip-build] already built successfully in CI
2024-05-27 13:27:16 -07:00
Pablo Correa Gómez aaa7d267a2 temp/gnome-shell-mobile: rename extensions app to add "mobile" (MR 5176)
And add it to pmb_recommends. This way new installations with
pmb_recommends will force install the correct version.

[ci:skip-build]: already built successfully in CI
2024-05-27 13:23:45 -07:00
Pablo Correa Gómez 5e865cde7e temp/gnome-shell-mobile: sync with upstream APKBUILD (MR 5176)
Most remarkably, in addition to cleaning up a bit, add the
gnome-extensions-app subpackage.

Fixes #2844
2024-05-27 13:23:45 -07:00
Adam Thiede 006256a0d0 linux-postmarketos-mediatek-mt8173: upgrade to 6.9.2 (MR 5179)
[ci:skip-build]: already built successfully in CI
2024-05-27 08:50:10 +02:00
Sergey Lisov dc948f885a samsung-a6lte: add workaround for Wi-Fi not connecting (MR 5175)
Shamelessly stolen from https://wiki.postmarketos.org/wiki/Samsung_Galaxy_J7_Pro_(samsung-j7y17lte)#Notes_on_WiFi
2024-05-26 10:23:12 +09:00
Dylan Van Assche 6cfa3caffe temp/iio-sensor-proxy: rebuild against libssc 0.1.5 (MR 5173)
See https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/66530
2024-05-26 10:09:36 +09:00
Luca Weiss 568cac3585 firmware-fairphone-fp5: upgrade to 20240417 (MR 5169)
[ci:skip-build]: already built successfully in CI
2024-05-25 08:38:38 +02:00
Luca Weiss fe27e85609 firmware-fairphone-fp4: upgrade to 20240313 (MR 5170)
And remove the compatibility symlinks again, all kernels running now
should use the .mbn files already.

[ci:skip-build]: already built successfully in CI
2024-05-24 15:46:27 +02:00
Luca Weiss cf513281f9 linux-postmarketos-qcom-msm8974: upgrade to 6.9.1 (MR 5159)
Manual config changes:
* QCOM_APCS_IPC=y
* RT_GROUP_SCHED=n (community check)

[ci:skip-build]: already built successfully in CI
2024-05-23 09:25:03 +02:00
Luca Weiss 4d18a89f6f linux-postmarketos-qcom-msm8226: upgrade to 6.9.1 (MR 5166)
Manual config changes:
* BMC150_ACCEL=m

[ci:skip-build]: already built successfully in CI
2024-05-23 08:46:15 +02:00
Andreas Kemnade 8ca07c2439 CODEOWNERS: add myself for packages I maintain (MR 5165)
[ci:skip-build]: already built successfully in CI
2024-05-22 16:26:33 -07:00
Barnabás Czémán c30b0adb4d linux-postmarketos-qcom-msm8953: update to 6.9.1-r1 (MR 5167)
Update kernel to the latest release.

[ci:skip-build]: already built successfully in CI
2024-05-22 16:16:30 +02:00
Robert Mader f77dc643c9 temp/libcamera: fork for temporary downstream patches (MR 5162)
which are probably too experimental to ask Alpine to carry them, while being
very helpful for devices that pmOS targets. The explicit goal is to help
Libcamera development and drop the fork again.

For the dma heaps permissions see the ongoing debate in
https://lore.kernel.org/all/bb372250-e8b8-4458-bc99-dd8365b06991@redhat.com/
It's possible that Libcamera will switch to another solution in a future
release or that memory accounting issues around dma heaps will need to
get fixed in the kernel before the permissions can be set by default by
distros.

Regarding `libcamera: simple:` patches:
 - 0001-0003 can likely be dropped once the Libcamera SoftISP gains
   support for raw (bayer) streams passthrough (on top of converting to
   RGB or YUV formats).
 - 0004 will likely be needed until Megi downstream patches for the
   Pinephone get improved/upstreamed and Libcamera adopted accordingly.

With these patches libcamera and pipewire based applications should work
on the Librem5, Pinephone and - hopefully soon - devices like the OP6.

See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5162 for
more context.
[ci:skip-build]: already built successfully in CI
2024-05-21 20:23:50 +02:00
Pablo Correa Gómez 982799b9a8 device-nokia-n900: add postmarketos-mvcfg to depends (MR 5085)
Since it's been removed from postmarketos-base. In the process, also
reorder the dependencies

[ci:skip-build]: already built successfully in CI
2024-05-21 10:16:27 +02:00
Pablo Correa Gómez f39d5a6291 main/postmarketos-base-ui: drop mvcfg (MR 5085)
All these config update are there since 2021. Having them there
serves no purpose, apart from increasing packaging complexity and
have some unnecessary files under /etc
2024-05-21 10:16:27 +02:00
Pablo Correa Gómez 064d503623 main/postmarketos-base: drop mvcfg (MR 5085)
All these config update are there since 2020. Having them there
serves no purpose, apart from increasing packaging complexity and
have some unnecessary files under /etc
2024-05-21 10:16:27 +02:00
Pablo Correa Gómez a65e271055 main/postmarketos-ui-gnome: add gnome-extensons-app to pmb_recommends (MR 5152)
[ci:skip-vercheck] pmb_recommends do not need bumping pkgrel

[ci:skip-build]: already built successfully in CI
2024-05-21 09:53:51 +02:00
Pablo Correa Gómez 15a730118f main/postmarketos-ui-gnome-mobile: add gnome-extensions-app to pmb_recommends (MR 5152) 2024-05-21 09:53:51 +02:00
Devellevel ad2ac94979 device-sony-suzuran: Fix LightDM and add msm-fb-refresher (MR 5134) 2024-05-21 06:44:41 +02:00
Oliver Smith 2b98781eb1 CODEOWNERS: update clamor-s nickname (MR 5155)
> User 'clamor95' was moved to 'clamor-s'. Please update any links and
> bookmarks that may still have the old path.

[ci:skip-build]: already built successfully in CI
2024-05-20 15:49:14 -07:00
Oliver Smith a36baab269 CODEOWNERS: update postmarketos-ui-plasma-mobile (MR 5155)
This is maintained by Bart, see Maintainer line in the APKBUILD.
2024-05-20 15:49:14 -07:00
Barnabás Czémán dfee3e4365 msm8953: remove gpu firmwares from initfs (MR 5114)
Remove gpu firmwares from initfs,
panel drivers work fine without them.

[ci:skip-build]: already built successfully in CI
2024-05-20 15:43:50 -07:00
Clayton Craft da0f0a306a device-qemu-aarch64: enable support for efi boot (MR 5137)
Copied from qemu-amd64. Enabling support for EFI boot allows me/others
to easily test pmOS EFI boot loader and config changes. Legacy BIOS boot
will still work, see 22c602096 for details.

[ci:skip-build]: already built successfully in CI
2024-05-19 22:24:28 +02:00
Andreas Kemnade 7763bc8113 linux-postmarketos-imx-ereader: rename from linux-kobo-clara-mainline (MR 5153)
Rename package to indicate the group of devices it is used for.

[ci:skip-build]: already built successfully in CI
2024-05-19 17:29:47 +02:00
Barnabás Czémán 6b55f838d6 xiaomi-rosy: new device (MR 5128)
[ci:skip-build]: already built successfully in CI
2024-05-19 14:34:40 +02:00
Barnabás Czémán c5b6c5397a linux-postmarketos-qcom-msm8953: upgrade to 6.9.1-r0 (MR 5132)
[ci:skip-build]: already built successfully in CI
2024-05-19 13:32:56 +02:00
Barnabás Czémán d7f8b31920 device-motorola-ali: remove non-free-firmware & add lk2nd and panels (MR 5132)
Add lk2nd-msm8953-motorola-ali as a dependency and panel drivers to initfs and
remove non-free-firmware subpackage.
2024-05-19 13:32:54 +02:00
Barnabás Czémán 26b052562a firmware-motorola-ali: clean up firmwares (MR 5132)
Remove every firmware what can be loaded with msm-firmware-loader.
2024-05-19 13:32:54 +02:00
Barnabás Czémán 886baeb741 main/lk2nd-msm8953: update to 0.3.9 & add motorola-ali (MR 5132)
Update lk2nd to latest release and add motorola-ali project
as an subpackage.
2024-05-19 13:32:54 +02:00
Barnabás Czémán feaa0e9471 soc-qcom-msm8953: update UCM configs (MR 5132)
Update alsa ucm configs to the latest commit.
2024-05-19 13:32:54 +02:00
knuxify a7827ef4e2 main/postmarketos-ui-weston: drop weston-clients from depends (MR 5143)
These appear to be client demos, and are already in _pmb_recommends;
drop them from depends to avoid duplication.

[ci:skip-build]: already built successfully in CI
2024-05-19 13:28:59 +02:00
knuxify 3d91c3dd97 main/postmarketos-base-ui-gnome: move xdg-user-dir and xdg-user-dir-gtk to depends (MR 5143)
Previously xdg-user-dir was repeated in both _pmb_recommends and depends;
move it to the depends variable, alongside with xdg-user-dir-gtk.
2024-05-19 13:28:58 +02:00
knuxify a1c73a055c CODEOWNERS: add entry for samsung-lt01 (MR 5154)
[ci:skip-build]: already built successfully in CI
2024-05-19 11:32:33 +02:00
Stefan Hansson 66397e7563 linux-purism-librem5: upgrade to 6.6.29pureos1 (MR 5141)
[ci:skip-build]: already built successfully in CI
2024-05-19 11:04:09 +02:00
Arnav Singh f4f6c02ed1 linux-postmarketos-allwinner: upgrade to 6.9.0_git20240514 (MR 5130)
- 0003-dts-pinetab-add-missing-bma223-ohci1.patch

  The original patch added a node for BMA223 and a node for ohci1.
  The former is already present in upstream, so the new patch
  0003-dts-pinetab-add-missing-ohci1.patch only adds the latter.

- 0004-arm64-dts-allwinner-Add-bluetooth-node-to-the-PineTa.patch

  The patch is now present in upstream so it has been removed.
  However it's worth noting that upstream's node has the wake GPIOs
  reversed from the original patch. The original patch added:

      device-wake-gpios = <&r_pio 0 6 GPIO_ACTIVE_LOW>; /* PL6 */
      host-wake-gpios = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* PL5 */

  ... while upstream has:

      device-wake-gpios = <&r_pio 0 5 GPIO_ACTIVE_LOW>; /* PL5 */
      host-wake-gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */

  This has not been tested on a PineTab.

- 0005-dts-pinetab-make-audio-routing-consistent-with-pinep.patch

  The first hunk of the patch is in upstream and has been removed.

- 0013-Revert-usb-quirks-Add-USB_QUIRK_RESET-for-Quectel-EG25G-Modem.patch

  This patch reverted upstream commit that was present until v6.7
  ( https://codeberg.org/megi/linux/commit/f9e3e7ea4ea5452e2c149acbe2a958751046ca29 )
  but is not present in v6.8+, so the patch has been removed.

- 0014-usb-serial-option-add-reset-resume-callback-for-WWAN.patch

  The patch is now present in upstream so it has been removed.

- 0016-Define-orientation-and-rotation-for-PinePhone-camera.patch

  The patch is now present in upstream so it has been removed.

---

The issues found with the previous upgrade to 6.8.4
( 646e0b50df ), ie reliably receiving calls
in suspend ( #2734 ) and the headset / headphones detection being broken
because of the jack detection changes ( #2738 ) have been fixed.

[ci:skip-build]: already built successfully in CI
2024-05-18 10:21:12 -07:00
Dylan Van Assche 2c6d302a13 firmware-shift-sdm845: use new hexagonrpcd paths and drop board-2.bin (MR 5151)
Adjust the sensor firmware paths for hexagonrpcd 0.3.1.
Also drop board-2.bin file which is now upstream and use upstream mba.mbn
and wlanmdsp.mbn.

[ci:skip-build]: already built successfully in CI
2024-05-18 14:10:23 +02:00
Joel Selvaraj c461e9ed35 device-shift-axolotl: ship hexagonrpcd conf (MR 5151)
Which specify path to new sensor firmware location needed by hexagonrpcd.
2024-05-18 14:10:23 +02:00
Sergey Lisov 754375c006 linux-samsung-a6lte: disable CONFIG_ZSWAP (MR 5144)
This causes a lot of spam in dmesg about "failed to allocate compressor transform", making it nearly impossible to search anything in the system logs.

This option has nothing to do with zram.
[ci:skip-build]: already built successfully in CI
2024-05-18 09:59:59 +02:00
Clayton Craft e95ba25742 main/postmarketos-ui-kodi: disable for x86 (MR 5146)
kodi x86 support was dropped upstream, see aports f53343613a4

[ci:skip-build]: already built successfully in CI
[ci:skip-vercheck]: Only changing architectures, no changes to package.
2024-05-18 09:47:08 +02:00
Joel Selvaraj deed403153 linux-postmarketos-qcom-sdm845: upgrade to 6.9.0 (MR 5099)
Contains fix for Poco F1 display issue when booting and enables sensor
support for Poco F1.

[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
2024-05-18 09:41:41 +02:00
Joel Selvaraj 874dadcf04 temp/iio-sensor-proxy: workaround the hexagonrpcd delay (MR 5099)
Needed for some devices like the OP6T and AYN Odin
2024-05-18 09:41:41 +02:00
Joel Selvaraj acc3c898e6 device-ayn-odin: ship hexagonrpcd conf (MR 5099)
Which specify path to new sensor firmware location needed by hexagonrpcd.
2024-05-18 09:41:41 +02:00
Joel Selvaraj 9026187fe1 device-oneplus-fajita: ship hexagonrpcd conf (MR 5099)
Which specify path to new sensor firmware location needed by hexagonrpcd.
2024-05-18 09:41:41 +02:00
Joel Selvaraj 1761c761b2 device-oneplus-enchilada: ship hexagonrpcd conf (MR 5099)
Which specify path to new sensor firmware location needed by hexagonrpcd.
2024-05-18 09:41:41 +02:00
Robert Eckelmann 1eb794e124 device-xiaomi-beryllium: add sensor support (MR 5099) 2024-05-18 09:41:41 +02:00
Joel Selvaraj f547af68d8 firmware-ayn-odin: use new hexagonrpcd paths (MR 5099) 2024-05-18 09:41:40 +02:00
Dylan Van Assche 694fefda45 firmware-oneplus-sdm845: use new hexagonrpcd paths and drop board-2.bin (MR 5099)
Adjust sensor firmware paths for hexagonrpcd 0.3.1.
Also drop board-2.bin file which is now upstream.
2024-05-18 09:41:40 +02:00
Dylan Van Assche dbf2e96893 firmware-xiaomi-beryllium: add sensor firmware and drop board-2.bin (MR 5099) 2024-05-18 09:41:40 +02:00
Clayton Craft ad560f56fa linux-lenovo-21bx: kconfig updates (MR 5135)
- Enable KVM support (for using with slbounce!)
- Disable RT_GROUP_SCHED, community device kernel requirement

[ci:skip-build]: already built successfully in CI
2024-05-17 16:40:22 +02:00
Luca Weiss a25512a35a linux-postmarketos-qcom-sc7280: upgrade to 6.9.0 (MR 5138)
Kconfig changes:
* Disable RT_GROUP_SCHED ('community' check)

[ci:skip-build]: already built successfully in CI
2024-05-17 16:37:20 +02:00
Luca Weiss 26d72af07f linux-postmarketos-qcom-sm6350: upgrade to 6.9.0 (MR 5139)
[ci:skip-build]: already built successfully in CI
2024-05-17 16:33:34 +02:00
Raymond Hackley 3f48a12d2e samsung-j5(x): maintain devices (MR 5140)
[ci:skip-build]: already built successfully in CI
2024-05-17 16:30:12 +02:00
neokitty 7a4e852165 firmware-xiaomi-fire: new aport (MR 5129)
[ci:skip-build]: already built successfully in CI
2024-05-17 13:18:21 +02:00
Clayton Craft 0c1113b3ec linux-*: enable NLS_ASCII for kernels that support EFI boot (MR 5136)
These kernels must have NLS_ASCII set after bb6d7a05b, or else they
cannot mount the ESP as /boot and boot fails. This kconfig option will
be added to the pmb efi kconfig check so that this is caught in the
future pre-merge.

fixes 3909b1dbf and bb6d7a05b

[ci:skip-build] already built successfully in CI
2024-05-16 22:48:41 -07:00
Pablo Correa Gómez 3909b1dbf6 main/postmarketos-base: fixup old /etc/fstab entries with multiple bugs (MR 5089)
See pmbootstrap!2304
2024-05-16 12:02:37 +02:00
Pablo Correa Gómez 28e58a9cda main/postmarketos-initramfs: update comment on why we mount /boot (MR 5089) 2024-05-16 12:02:37 +02:00
Pablo Correa Gómez bb6d7a05b3 main/postmarketos-initramfs: add options for charset to mount vfat /boot (MR 5089)
This charset is the default and the recommended value, since boot fat
partitions should be case insensitive. linux-lts and linux-edge in
alpine use "utf-8", that might change, but add the options regardless,
so we can be safe

Fixes https://gitlab.com/postmarketOS/pmaports/-/issues/2782
2024-05-16 12:02:37 +02:00
Pablo Correa Gómez efc7ad99e4 main/postmarketos-initramfs: add some sane mount options to /boot (MR 5089)
We won't want executables, suid executables, devices. We neither want
symbolic links in fat partitions. These have been taken from
systemd (Ref #2782)
2024-05-16 12:02:37 +02:00
Vitaliy Ognev 2db5ff27fc main/postmarketos-base-ui-cage: automatically rotate panel (MR 5121)
[ci:skip-build]: already built successfully in CI
2024-05-16 10:40:19 +02:00
Clayton Craft e0ff1e478c linux-lenovo-21bx: upgrade to 6.9 (MR 5133)
[ci:skip-build] already built successfully in CI
2024-05-15 16:39:41 -07:00
Oliver Smith d1f7e3ca7d channels.cfg: add initial v24.06 branch
Related: issue 2819
2024-05-15 21:06:57 +02:00
Stefan Hansson 2975d16ac8 pmaports.cfg: set pmbootstrap_min_version=2.3.0 (MR 5046)
The change from unmaintained to archived needs changes in pmbootstrap.

[ci:ignore-count]
[ci:skip-vercheck]: Packages aren't being changed
[ci:skip-build]: All packages verified to build separately and would
take too long to build in CI
2024-05-15 17:08:00 +02:00
Stefan Hansson b29ebae96b CI: rename "device/unmaintained" to "device/archived" (MR 5046) 2024-05-15 17:07:51 +02:00
Stefan Hansson fb7f99efe2 device: rename unmaintained to archived (MR 5046)
Unmaintained is a name which on multiple occasions have seen lead to
confusion with people having the impression that unmaintained is for all
unmaintained devices, which is not how we're really using it. Many
devices in testing do not actually have a maintainer, yet there has been
no push to move these out of there and into unmaintained.

I think this is a result of that unmaintained was introduced not to keep
unmaintained ports but rather a place to store ports that have a better
replacement but where the inferior one still holds some sort of value,
such as for debugging purposes. These ports also are not necessarily
entirely unmaintained and see more fixes than many ports in testing.

While one approach to solving this problem could be to simply moving all
unmaintained ports to unmaintained, I think this comes with some
problems: It would require an initial effort to figure out which ports
are indeed unmaintained and which just don't have a maintained noted in
the package, and given how many ports there are in testing this would be
a big endeavour. It would also require continuous work on moving ports
into unmaintained as the maintainers go silent if we are to keep testing
and unmaintained's state consistent with reality. Additionally, just
because a port doesn't have a maintainer on paper doens't mean that
there aren't people who aren't willing to fix it up if there are issues
that arise.

As such, I think the way to go is renaming unmaintained to better
reflect the original intent. Thanks to Luca Weiss for suggesting
"archive", and to Arnav Singh for suggesting that "archived" would match
the other category names better.
2024-05-15 17:07:51 +02:00
knuxify 1be51a1472 main/postmarketos-base-ui-gnome: add gcr-ssh-agent to depends (MR 5120)
The SSH agent built into gnome-keyring has been disabled by default
in version 46, and replaced by the SSH agent implementation in gcr.
Install the new implementation to provide a graphical SSH agent
for all GNOME-based UIs.

Follow-up to aports!63893, which fixes this upstream and adds this
dependency to the upstream gnome package.

Fixes #2728.
[ci:skip-build]: already built successfully in CI
2024-05-15 14:00:36 +02:00
Adam Thiede f78a7fd8c5 linux-postmarketos-mediatek-mt8173: upgrade to 6.9 (MR 5125)
Default answers to `pmbootstrap kconfig migrate` with 'y' to any
seemingly relevant Mediatek entries.

[ci:skip-build]: already built successfully in CI
2024-05-14 22:36:15 +02:00
Oliver Smith ff2f4a108a gitlab/issue_template: add confidential issue note (MR 5131) 2024-05-14 21:09:45 +02:00
Oliver Smith f77febc40e gitlab/issue_template: drop v23.06 (MR 5131) 2024-05-14 21:09:44 +02:00
Lost-Entrepreneur439 33dc6ef65f samsung-afyonltecan: new device (MR 5009) 2024-05-14 14:57:20 +02:00
Sicelo A. Mhlongo 8d570a7847 linux-postmarketos-omap: upgrade to 6.9.0 (MR 5127)
[ci:skip-build]: already built successfully in CI
2024-05-14 09:06:29 +02:00
Jianhua Lu 293d2783f8 linux-postmarketos-qcom-sm8250: upgrade to 6.9.0 (MR 5123)
[ci:skip-build]: already built successfully in CI
2024-05-13 17:01:59 +02:00
Stefan Hansson b15ff1601c CI: fix deprecation warning (MR 5126)
Fixes this warning:

    warning: `ruff <path>` is deprecated. Use `ruff check <path>` instead:
2024-05-13 16:19:06 +02:00
Stefan Hansson 6a1f7a1623 CI: clarify which commit to put [ci:ignore-count] in (MR 5126)
I've seen confusion about this in the past where people would find it
unclear which commit to put this in.
2024-05-13 16:16:18 +02:00
Stefan Hansson 79b8de8483 CI: replace lots of print statements with a single one (MR 5126)
This way it's easier to edit the text.
2024-05-13 16:16:18 +02:00
jane400 1ffe60ab67 linux-lenovo-21bx: enable touchscreen driver (MR 5124)
[ci:skip-build]: already built successfully in CI
2024-05-13 15:34:39 +02:00
Robert Eckelmann d633f78749 main/postmarketos-base-ui: add font-twemoji as _pmb_recommends (MR 4755)
[ci:skip-build]: already built successfully in CI
2024-05-11 22:39:01 +02:00
saikat edc8e01dc7 realme-porsche: new device (Realme GT 2) (MR 4425)
[ci:skip-build]: already built successfully in CI
2024-05-11 12:38:54 +02:00
Anton Bambura 23d54f5ee4 powkiddy-x55: adjust for postmarketos-base-ui-cage (MR 5097) 2024-05-11 13:31:12 +03:00
Anton Bambura 466d30eb24 main/postmarketos-ui-moonlight: new aport (MR 5097) 2024-05-11 13:31:12 +03:00
Anton Bambura b66b6ea92e main/postmarketos-ui-cage: add myself as co-maintainer (MR 5097) 2024-05-11 13:31:12 +03:00
Anton Bambura 7f28bc2338 main/postmarketos-ui-cage: use postmarketos-base-ui-cage (MR 5097) 2024-05-11 13:31:12 +03:00
Anton Bambura eb0e92bf04 main/postmarketos-base-ui-cage: new aport (MR 5097)
Based on current postmarketos-ui-cage
2024-05-11 13:31:12 +03:00
Teemu Ikonen 356171e852 temp/gtk4.0: upgrade to 4.14.4 (MR 5119)
[ci:skip-build]: already built successfully in CI
2024-05-10 19:11:39 +02:00
Alexander Martinz 409d5d5616 device-shift-otter: new device (MR 4884)
Heavily based on z3ntu's work on FP5, thanks for all your work!

Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
[ci:skip-build]: already built successfully in CI
2024-05-09 11:02:07 -07:00
SSD 089d7cc987 main/postmarketos-initramfs: stowaway rootfs (MR 4386)
[ci:skip-build]: already built successfully in CI
2024-05-09 08:32:23 -07:00
Stefan Hansson 8a2904d341 linux-samsung-espresso10-downstream: fix build (MR 5102)
Part of https://gitlab.com/postmarketOS/pmaports/-/issues/2401

[ci:skip-build]: already built successfully in CI
2024-05-09 13:43:43 +02:00
Stefan Hansson 41f2cc0155 linux-samsung-m0-downstream: fix build (MR 5098)
Part of https://gitlab.com/postmarketOS/pmaports/-/issues/2401

[ci:skip-build]: already built successfully in CI
2024-05-09 13:40:37 +02:00
Stefan Hansson 0a78f50c73 linux-xiaomi-wt88047-downstream: fix build (MR 5103)
Part of https://gitlab.com/postmarketOS/pmaports/-/issues/2401

[ci:skip-build]: already built successfully in CI
2024-05-09 13:24:40 +02:00
Stefan Hansson f1e18c5475 linux-samsung-a5ulte-downstream: fix build (MR 5107)
Part of https://gitlab.com/postmarketOS/pmaports/-/issues/2401

[ci:skip-build]: already built successfully in CI
2024-05-09 13:15:59 +02:00
Stefan Hansson b295060231 linux-samsung-janice-downstream: fix build (MR 5105)
Part of https://gitlab.com/postmarketOS/pmaports/-/issues/2401

[ci:skip-build]: already built successfully in CI
2024-05-09 13:12:09 +02:00
Stefan Hansson 1a39ee6b56 linux-samsung-a5lte-downstream: fix build (MR 5108)
Part of https://gitlab.com/postmarketOS/pmaports/-/issues/2401

[ci:skip-build]: already built successfully in CI
2024-05-09 13:06:26 +02:00
Stefan Hansson a27034fe4b linux-htc-flounder-downstream: fix build (MR 5112)
Part of https://gitlab.com/postmarketOS/pmaports/-/issues/2401

[ci:skip-build]: already built successfully in CI
2024-05-09 13:03:04 +02:00
Stefan Hansson 033e3516f6 linux-huawei-kiwi-downstream: fix build (MR 5109)
Part of https://gitlab.com/postmarketOS/pmaports/-/issues/2401

[ci:skip-build]: already built successfully in CI
2024-05-09 12:38:43 +02:00
Stefan Hansson 5a338d90c2 linux-bq-paella-downstream: fix build (MR 5110)
Part of https://gitlab.com/postmarketOS/pmaports/-/issues/2401

[ci:skip-build]: already built successfully in CI
2024-05-09 11:09:22 +02:00
Stefan Hansson 0bc76bd8e9 linux-alcatel-idol347-downstream: fix build (MR 5111)
Part of https://gitlab.com/postmarketOS/pmaports/-/issues/2401

[ci:skip-build]: already built successfully in CI
2024-05-09 10:55:53 +02:00
Pablo Correa Gómez 4203227fd0 main/postmarketos-base-ui: add self-depend on base-ui-audio (MR 5091)
So that we can warranty that any of the packages is installed by
default. In addition, make sure that pipewire-pulse can never be
installed together with
postmarketos-base-ui-audio-pulseaudio. pipewire-pulse provides
pulseaudio, so installations that have pipewire-pulse already
installed would end up in a very weird position otherwise.

Fixes 87d355e08d
[ci:skip-build]: already built successfully in CI
2024-05-08 11:16:48 -07:00
Pablo Correa Gómez 1cabc5fb2a main/postmarketos-base-ui: disable wireplumber audio with pulseaudio (MR 5091)
This is necessary to avoid wireplumber messing with the sound when
pulseaudio is expected to take care of it.
2024-05-08 11:16:47 -07:00
Pablo Correa Gómez 59eecf22ec soc-qcom-sdm845: drop wireplumber subpackage (MR 5091)
It's now a dependency of pmos-base-ui
2024-05-08 11:16:47 -07:00
Pablo Correa Gómez ac8c63ebe2 main/postmarketos-base-ui-plasma: drop pipewire dependency (MR 5091)
Taken care by pmos-base-ui package
2024-05-08 11:16:47 -07:00
Pablo Correa Gómez d3d1989563 device-samsung-j7y17lte: remove pipewire-media-session file and replaces (MR 5091)
pipewire-media-session was dropped in alpine in
4dc6a181bf590339f29a279fb7c4b9ae3c26c5fa, more than one year ago, so
this should be safe

While at it, also drop pipewire dependency, that is now a dependency
of postmarketos-base-ui
2024-05-08 11:16:47 -07:00
Pablo Correa Gómez 387db85874 device-samsung-a6lte: remove pipewire-media-session file and replaces (MR 5091)
pipewire-media-session was dropped in alpine in
4dc6a181bf590339f29a279fb7c4b9ae3c26c5fa, more than one year ago, so
this should be safe

While at it, also drop the dep on pipewire, since it's taken care by
pmos-base-ui now
2024-05-08 11:16:47 -07:00
Pablo Correa Gómez 53a861f670 device-lenovo-21bx: remove pipewire subpackage (MR 5091)
This is not related to audio, and unnecessary since now pipewire is
installed by default
2024-05-08 11:16:46 -07:00
Pablo Correa Gómez b0d474ba3d main/postmarketos-base-ui: add pipewire and wireplumber (MR 5091)
These are increasingly needed for camera and screen sharing/recording
tasks. To make the development easier and future-proof, install them
by default. They can now be removed from the audio subpackage

Fixes #2785
2024-05-08 11:16:46 -07:00
1389 changed files with 81400 additions and 18241 deletions

No files matched your search

+108
View File
@@ -0,0 +1,108 @@
#!/bin/sh -e
# Description: update a list of packages
# Options: native slow
# https://postmarketos.org/pmb-ci
if [ "$(id -u)" = 0 ]; then
set -x
apk add git openssh-keygen grep curl
wget "https://gitlab.com/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
sh ./install_pmbootstrap.sh
exec su "${TESTUSER:-pmos}" -c "sh -e $0 $*"
fi
git config --global --add safe.directory "$CI_PROJECT_DIR"
git config --global user.name "postmarketOS CI"
# pmaports
# The email address is the username of the bot (from the GitLab group members page) @noreply.gitlab.com
git config --global user.email "project_8065375_bot_13cf44ca4cd2c938688af6e3d500d9cb@noreply.gitlab.com"
# For testing with pmaports-autoupdate-test repo
# git config --global user.email "project_58002231_bot_be2d4e9e7aba929855726aafe12940d6@noreply.gitlab.com"
# Configure SSH key for signing
mkdir -p ~/.ssh
cp "$PMAPORTS_SSH_KEY" ~/.ssh/pmaports
chmod 600 ~/.ssh/pmaports
# Generate public key from private
ssh-keygen -t ecdsa -f ~/.ssh/pmaports -y > ~/.ssh/pmaports.pub
git config --global gpg.format ssh
git config --global user.signingkey ~/.ssh/pmaports.pub
export PYTHONUNBUFFERED=1
PKGS="$1"
if [ -z "$PKGS" ]; then
echo "Usage: $0 <packages>"
exit 1
fi
echo "Checking for new versions of packages: $PKGS"
update_linux_next() {
# Check for the latest -next tag
local latest
local pkgver
local new_pkgver
# Get the current version
# shellcheck source=/dev/null
pkgver=$(. device/testing/linux-next/APKBUILD; echo "$pkgver")
curl -s "https://gitlab.com/linux-kernel/linux-next/-/tags?format=atom" | grep -oP "(?<=<title>)[^<]+" | tail -n +2 > /tmp/tags
latest=$(grep -v "v" < /tmp/tags | head -n1)
if [ -z "$latest" ]; then
echo "Failed to get the latest -next tag"
exit 1
fi
echo "Latest -next tag: $latest"
new_pkgver=$(grep "v" < /tmp/tags | head -n1)
if [ -z "$new_pkgver" ]; then
echo "Failed to get the latest mainline tag from atom feed, reusing current pkgver"
new_pkgver="${pkgver%_git*}"
else
echo "Latest mainline tag: $new_pkgver"
# new_pkgver is like 'v6.9-rc1' but we want '6.9'
new_pkgver=$(echo "$new_pkgver" | sed -e 's/^v//' -e 's/-.*//')
fi
new_pkgver="${new_pkgver}_git${latest#*-}"
if [ "$pkgver" = "$new_pkgver" ]; then
echo "No new version of linux-next"
exit 0
fi
echo "Updating linux-next from $pkgver to $new_pkgver..."
sed -i -e "s/pkgver=$pkgver/pkgver=$new_pkgver/" device/testing/linux-next/APKBUILD
# Update the checksums
pmbootstrap checksum linux-next
# Commit
git add device/testing/linux-next/APKBUILD
git commit -S -m "linux-next: upgrade to $latest"
}
# For testing
#git remote add gitlab https://pmos-ci:"$PMAPORTS_PUSH_TOKEN"@gitlab.com/postmarketOS/pmaports-autoupdate-test.git
git remote add gitlab https://pmos-ci:"$PMAPORTS_PUSH_TOKEN"@gitlab.com/postmarketOS/pmaports.git
git fetch gitlab
git checkout --track gitlab/master
for pkg in $PKGS; do
case "$pkg" in
linux-next)
update_linux_next
;;
*)
echo "Unknown package: $pkg"
exit 1
;;
esac
done
git push
+7
View File
@@ -80,4 +80,11 @@ if grep -q 'before wpa_supplicant' $OPENRC_SERVICE_FILES; then
exit_code=1
fi
if grep -qEr 'PMOS_NO_OUTPUT_REDIRECT' -- *; then
echo "ERROR: PMOS_NO_OUTPUT_REDIRECT is deprecated and doesn't do anything."
echo "Please remove it from the following files:"
grep --color=always -Er 'PMOS_NO_OUTPUT_REDIRECT' -- *
exit_code=1
fi
exit "$exit_code"
+1
View File
@@ -6,6 +6,7 @@
if [ "$(id -u)" = 0 ]; then
set -x
export PMBOOTSTRAP_TAG=master
wget "https://gitlab.com/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
sh ./install_pmbootstrap.sh
exec su "${TESTUSER:-pmos}" -c "sh -e $0"
+46 -31
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# Copyright 2023 Oliver Smith
# Copyright 2024 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
import glob
@@ -10,42 +10,30 @@ import subprocess
# Same dir
import common
# pmbootstrap
import add_pmbootstrap_to_import_path # noqa
import pmb.parse
import pmb.helpers.logging
def check_kconfig(args, pkgnames):
def check_kconfig(pkgnames):
last_failed = None
for i in range(len(pkgnames)):
pkgname = pkgnames[i]
print(f" ({i+1}/{len(pkgnames)}) {pkgname}")
apkbuild_path = pmb.helpers.pmaports.find(args, pkgname)
apkbuild = pmb.parse._apkbuild.apkbuild(f"{apkbuild_path}/APKBUILD")
p = subprocess.run(["pmbootstrap", "kconfig", "check", pkgname],
check=False)
options = []
for opt in apkbuild["options"]:
if "pmb:kconfigcheck" in opt:
options += [opt]
if len(options):
options.sort()
print(f'options="{" ".join(options)}"')
if "!pmb:kconfigcheck" in apkbuild["options"]:
print("skipped (!pmb:kconfigcheck)")
continue
if not pmb.parse.kconfig.check(args, pkgname, details=True):
if p.returncode:
last_failed = pkgname
return last_failed
def check_kconfig_all():
p = subprocess.run(["pmbootstrap", "kconfig", "check"], check=False)
return p.returncode == 0
def show_error(last_failed):
print("")
print("---")
print("")
print("Please adjust your kernel config. This is required for getting your"
" patch merged.")
@@ -59,10 +47,43 @@ def show_error(last_failed):
print("Run this check again (on all kernels you modified):")
print(" pmbootstrap ci kconfig")
print("")
print("---")
print("")
def show_error_all():
print("")
print("---")
print("")
print("Please adjust the failed kernel configs. This is required for")
print("getting your patch merged.")
print("")
print("If a kernel in the testing category failed, and fixing is too much")
print("effort, remove 'pmb:kconfigcheck-community' from the APKBUILD.")
print("")
print("Edit a kernel config:")
print(" pmbootstrap kconfig edit <PACKAGE NAME>")
print("")
print("Test a specific kernel config again:")
print(" pmbootstrap kconfig check <PACKAGE NAME>")
print("")
print("Run this check again (on all kernels you modified):")
print(" pmbootstrap ci kconfig")
print("")
print("---")
print("")
if __name__ == "__main__":
common.add_upstream_git_remote()
if "kconfigcheck.toml" in common.get_changed_files():
print("kconfigcheck.toml changed -> checking all kernels")
if not check_kconfig_all():
show_error_all()
exit(1)
exit(0)
pkgnames = common.get_changed_kernels()
print(f"Changed kernels: {pkgnames}")
@@ -70,13 +91,7 @@ if __name__ == "__main__":
print("No kernels changed in this branch")
exit(0)
# Initialize args (so we can use pmbootstrap's kconfig parsing)
sys.argv = ["pmbootstrap", "kconfig", "check"]
args = pmb.parse.arguments()
pmb.helpers.logging.init(args)
print("Running kconfig check on changed kernels...")
last_failed = check_kconfig(args, pkgnames)
last_failed = check_kconfig(pkgnames)
if last_failed:
show_error(last_failed)
+22 -21
View File
@@ -135,27 +135,28 @@ def get_changed_packages_sanity_check(count):
return
branch = get_upstream_branch()
print()
print("ERROR: Too many packages have changed!")
print()
print("This is a sanity check, so we don't end up building packages that")
print("have not been modified. CI won't run for more than three hours")
print("anyway.")
print()
print("Your options:")
print("a) If you *did not* modify everything listed above, then rebase")
print(f" your branch on the official postmarketOS/pmaports.git {branch}")
print(" branch. Feel free to ask in the chat for help if you need any.")
print("b) If you *did* modify all these packages, and you assume that")
print(" they will build within one hour: skip this sanity check by")
print(" adding '[ci:ignore-count]' to the commit message (then force")
print(" push).")
print("c) If you *did* modify all these packages, and you are sure that")
print(" they won't build in time, please add '[ci:skip-build]' to the")
print(" commit message (then force push). Make sure that all packages")
print(" build with 'pmbootstrap build --strict'!")
print()
print("Thank you and sorry for the inconvenience.")
print(f"""
ERROR: Too many packages have changed!
This is a sanity check, so we don't end up building packages that
have not been modified. CI won't run for more than three hours
anyway.
Your options:
a) If you *did not* modify everything listed above, then rebase
your branch on the official postmarketOS/pmaports.git {branch}
branch. Feel free to ask in the chat for help if you need any.
b) If you *did* modify all these packages, and you assume that
they will build within one hour: skip this sanity check by
adding '[ci:ignore-count]' to the commit message of the last
commit in the merge request (then force push).
c) If you *did* modify all these packages, and you are sure that
they won't build in time, please add '[ci:skip-build]' to the
commit message (then force push). Make sure that all packages
build with 'pmbootstrap build --strict'!
Thank you and sorry for the inconvenience.
""")
sys.exit(1)
+1 -1
View File
@@ -11,4 +11,4 @@ fi
set -x
# shellcheck disable=SC2046
ruff --ignore E501,F401,E722,W605 $(find .ci -name '*.py')
ruff check --ignore E501,F401,E722,W605 $(find .ci -name '*.py')
+1 -1
View File
@@ -16,11 +16,11 @@ fi
sh_files="
./main/mdss-fb-init-hack/mdss-fb-init-hack.sh
./main/postmarketos-base/rootfs-usr-lib-firmwareload.sh
./main/postmarketos-base-ui/rootfs-usr-lib-NetworkManager-dispatcher.d-50-dns-filter.sh
./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/ttyescape/*.post-install
+1 -1
View File
@@ -6,10 +6,10 @@ import stat
expected_directories = [
"cross",
"device/archived",
"device/community",
"device/main",
"device/testing",
"device/unmaintained",
"main",
"modem",
"non-free",
+8
View File
@@ -6,6 +6,8 @@ import glob
import pytest
import sys
import os
import re
from pathlib import Path
import add_pmbootstrap_to_import_path
import pmb.parse
@@ -40,3 +42,9 @@ def test_aports_kernel(args):
if "pmb:kconfigcheck-community" not in apkbuild["options"]:
raise RuntimeError(f"{aport_name}: \"pmb:kconfigcheck-community\" missing in"
" options= line, required for all community/main devices.")
# check for postmarketos-installkernel in makedepends when installing kernel with make
if bool(re.search("make z?install", Path(path).read_text(encoding="utf-8"))):
if "postmarketos-installkernel" not in apkbuild["makedepends"]:
raise RuntimeError(f"{aport_name}: \"postmarketos-installkernel\" missing in"
" makedepends, required when using make install/zinstall.")
+28 -3
View File
@@ -1,7 +1,7 @@
---
# global settings
image: alpine:edge
image: alpine:latest
before_script: &global_before_scripts
- apk upgrade -U
after_script:
@@ -9,6 +9,7 @@ after_script:
stages:
- lint
- build
- autoupdate
# This defines the rules for when a pipeline should run.
workflow:
@@ -18,8 +19,8 @@ workflow:
when: never
# Run for merge requests
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
# Run scheduled pipeline for autoupdate
- if: $CI_PIPELINE_SOURCE == "schedule"
# Run scheduled pipeline for autoupdate or manually triggered pipeline
- if: $CI_PIPELINE_SOURCE == "schedule" || $CI_PIPELINE_SOURCE == "web"
# device documentation
wiki:
@@ -101,6 +102,7 @@ kernel-kconfig:
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_REF_PROTECTED == "false"
changes:
- kconfigcheck.toml
- device/*/linux-*/config-*
- main/linux-*/config-*
script:
@@ -123,6 +125,8 @@ mr-settings:
# build changed aports
.build:
stage: build
tags:
- saas-linux-large-amd64
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_REF_PROTECTED == "false"
before_script:
@@ -148,6 +152,8 @@ build-x86:
build-aarch64:
extends: .build
tags:
- saas-linux-large-arm64
script:
- .ci/build-aarch64.sh
@@ -165,3 +171,22 @@ build-riscv64:
extends: .build
script:
- .ci/build-riscv64.sh
auto-update:
stage: autoupdate
rules:
# This variable is set in the scheduled pipeline configuration. It should be a space separated list of
# package names to update.
- if: $AUTOUPDATE_PACKAGES != null && $CI_PIPELINE_SOURCE == "schedule" || $CI_PIPELINE_SOURCE == "web"
before_script:
- .ci/lib/gitlab_prepare_ci.sh
script:
- .ci/autoupdate.sh "$AUTOUPDATE_PACKAGES"
after_script:
- .ci/lib/move_logs.sh $CI_PROJECT_DIR
artifacts:
when: on_failure
paths:
- log.txt
- log_testsuite_pmaports.txt
- pmbootstrap.cfg
+19 -4
View File
@@ -1,6 +1,12 @@
<!--
Thank you for using postmarketOS! In order to speed up process of resolving your issue,
we would like you to fill in the following :
we would like you to fill in the following form.
*** NOTE FOR CONFIDENTIAL ISSUES: ***
A lot of people can read confidential pmaports issues! If you want to
submit something that only the postmarketOS Core Team can see, write to
team@postmarketos.org
instead of opening an issue here!
-->
### Describe your issue
#### What's the expected behaviour?
@@ -21,8 +27,8 @@
Replace space inside `[ ]` with `x` to fill the checkbox
-->
* [ ] edge (`master` branch)
* [ ] `v23.12`
* [ ] `v23.06` (supported until 2024-01-18)
* [ ] `v24.06`
* [ ] `v23.12` (supported until 2024-07-16)
* [ ] I confirm that the issue still is present after running `sudo apk upgrade -a`
@@ -45,4 +51,13 @@
-->
### Additional information
<!-- logs, etc. -- make use <details> for long listings -->
<!--
logs, etc. -- make use <details> for long listings
If your device displays an error message on boot or drops to the debug
shell, attaching it to your PC with a USB cable may show a removable USB
drive. You can drag and drop the .tar.gz file or otherwise upload it
here.
Refer to the README file on the device for more information.
-->
+20 -8
View File
@@ -16,7 +16,8 @@ device/*/*-google-veyron/ @jenneron
device/*/*-google-x64cros/ @jenneron @JustSoup321 @alpernebbi
device/*/*-htc-golfu/ @Newbyte
device/*/*-htc-m8qlul/ @Newbyte
device/*/*-lenovo-21bx/ @craftyguy
device/*/*-kobo-clara/ @akemnade
device/*/*-lenovo-21bx/ @craftyguy @jane400
device/*/*-lenovo-a6000/ @jenneron @Minecrell
device/*/*-lenovo-a6010/ @jenneron @Minecrell
device/*/*-librecomputer-lafrite/ @funderscore
@@ -40,7 +41,10 @@ device/*/*-samsung-espresso7/ @MightyM17 @antoni.aloytorrens
device/*/*-samsung-grandmax/ @wonderfulShrineMaidenOfParadise
device/*/*-samsung-gt510/ @TravMurav
device/*/*-samsung-gt58/ @TravMurav
device/*/*-samsung-j5/ @wonderfulShrineMaidenOfParadise
device/*/*-samsung-j5x/ @wonderfulShrineMaidenOfParadise
device/*/*-samsung-serranove/ @Minecrell
device/*/*-tolino-shine2hd/ @akemnade
device/*/*-videostrong-kii-pro/ @funderscore
device/*/*-wileyfox-crackling/ @TravMurav @Minecrell
device/*/*-xiaomi-beryllium/ @joelselvaraj
@@ -64,10 +68,12 @@ device/*/device-huawei-plank/ @gtrxAC
device/*/device-lg-judyln/ @Newbyte
device/*/device-lg-judyp/ @jenneron
device/*/device-microsoft-surface-rt/ @jenneron @jethrob
device/*/device-nvidia-tegra-armv7/ @clamor95 @okias @mschwalm @nokun
device/*/device-nvidia-tegra-armv7/ @clamor-s @okias @mschwalm @nokun
device/*/device-odroid-xu4/ @Grimler
device/*/device-oneplus-enchilada/ @calebccff
device/*/device-oneplus-fajita/ @calebccff
device/*/device-postmarketos-trailblazer/ @calebccff
device/*/device-qcom-msm8909/ @wonderfulShrineMaidenOfParadise
device/*/device-qemu-aarch64/ @Minecrell @ollieparanoid
device/*/device-qemu-amd64/ @Minecrell @ollieparanoid
device/*/device-qemu-riscv64/ @Minecrell @z3ntu
@@ -76,6 +82,7 @@ device/*/device-samsung-chagallwifi/ @Grimler
device/*/device-samsung-coreprimevelte/ @legolivesmatter @balejk
device/*/device-samsung-j5y17lte/ @andrisas
device/*/device-samsung-klimtlte/ @Grimler
device/*/device-samsung-lt01/ @knuxify
device/*/device-samsung-m0/ @Newbyte
device/*/device-samsung-manta/ @jenneron @alexmrqt
device/*/device-shift-axolotl/ @amartinz @calebccff @dylanvanassche
@@ -83,19 +90,21 @@ device/*/firmware-google-veyron-brcm/ @jenneron
device/*/firmware-odroid-xu4/ @Grimler
device/*/firmware-oneplus-sdm845/ @calebccff
device/*/firmware-powervr-gx6250/ @jenneron
device/*/kobo-epdc-extractor/ @akemnade
device/*/linux-google-nyan/ @jenneron
device/*/linux-google-veyron/ @jenneron
device/*/linux-huawei-plank/ @gtrxAC
device/*/linux-postmarketos-allwinner/ @Arnavion @PsychoGame
device/*/linux-postmarketos-amlogic/ @funderscore @exkc
device/*/linux-postmarketos-exynos4/ @Newbyte @ThiagaoPlusPlus
device/*/linux-postmarketos-exynos4/ @Newbyte @Grimler @knuxify
device/*/linux-postmarketos-exynos5/ @jenneron @Grimler
device/*/linux-postmarketos-grate/ @clamor95 @jenneron @jethrob
device/*/linux-postmarketos-grate/ @clamor-s @jenneron @jethrob
device/*/linux-postmarketos-imx-ereader/ @akemnade
device/*/linux-postmarketos-mediatek-mt8173/ @jenneron @adamthiede
device/*/linux-postmarketos-mediatek-mt8183/ @jenneron @binarycraft
device/*/linux-postmarketos-omap/ @MightyM17 @Sicelo
device/*/linux-postmarketos-qcom-msm8939/ @Newbyte
device/*/linux-postmarketos-qcom-msm8953/ @M0Rf30 @Ultra-azu
device/*/linux-postmarketos-qcom-msm8953/ @M0Rf30 @Ultra-azu @barni2000
device/*/linux-postmarketos-qcom-msm8996/ @Tooniis
device/*/linux-postmarketos-qcom-sc7180/ @jenneron
device/*/linux-postmarketos-rockchip/ @QC8086
@@ -106,6 +115,7 @@ device/*/linux-samsung-j5y17lte/ @andrisas
device/*/linux-samsung-klimtlte/ @Grimler
device/*/oem-amd/ @craftyguy
device/*/oem-intel/ @craftyguy
device/*/oem-nvidia/ @craftyguy
device/*/soc-mediatek-mt8183/ @jenneron
device/*/soc-qcom-msm8953/ @barni2000
device/*/soc-qcom-msm8996/ @Tooniis
@@ -116,8 +126,10 @@ device/*/u-boot-librem5/ @craftyguy @alistair23 @Newbyte
device/*/u-boot-pinebookpro/ @QC8086
device/*/u-boot-pinephone/ @Arnavion @PsychoGame
device/*/wl1251-cal/ @Danct12
main/gnome-software-plugin-pmos/ @andrisas
main/postmarketos-ui-plasma-mobile/ @bshah
main/postmarketos-upgrader-dbus/ @andrisas
main/postmarketos*gnome*/ @pabloyoyoista @Newbyte
main/postmarketos-initramfs/ @calebccff @craftyguy
main/postmarketos-ui-i3wm/ @fossdd
main/postmarketos-ui-phosh/ @pabloyoyoista @Newbyte
main/postmarketos-ui-plasma-mobile/ @PureTryOut
main/shutdown-clear-rtc-wakealarm/ @Arnavion
main/ttyescape/ @calebccff
+7 -8
View File
@@ -8,50 +8,49 @@ branch_pmaports=master
branch_aports=master
mirrordir_alpine=edge
[v23.12]
announcement=https://postmarketos.org/blog/2023/12/18/v23.12-release/
[v24.06]
description=Latest release / Recommended for best stability
branch_pmaports=v24.06
branch_aports=3.20-stable
mirrordir_alpine=v3.20
[v23.12]
description=Old release (unsupported)
branch_pmaports=v23.12
branch_aports=3.19-stable
mirrordir_alpine=v3.19
[v23.06]
announcement=https://postmarketos.org/blog/2023/06/07/v23.06-release/
description=Old release (unsupported)
branch_pmaports=v23.06
branch_aports=3.18-stable
mirrordir_alpine=v3.18
[v22.12]
announcement=https://postmarketos.org/blog/2022/12/18/v22.12-release/
description=Old release (unsupported)
branch_pmaports=v22.12
branch_aports=3.17-stable
mirrordir_alpine=v3.17
[v22.06]
announcement=https://postmarketos.org/blog/2022/06/12/v22.06-release/
description=Old release (unsupported)
branch_pmaports=v22.06
branch_aports=3.16-stable
mirrordir_alpine=v3.16
[v21.12]
announcement=https://postmarketos.org/blog/2021/12/29/v21.12-release/
description=Old release (unsupported)
branch_pmaports=v21.12
branch_aports=3.15-stable
mirrordir_alpine=v3.15
[v21.06]
announcement=https://postmarketos.org/blog/2021/07/04/v21.06-release/
description=Old release (unsupported)
branch_pmaports=v21.06
branch_aports=3.14-stable
mirrordir_alpine=v3.14
[v21.03]
announcement=https://postmarketos.org/blog/2021/03/31/v21.03-release/
description=Old release (unsupported)
branch_pmaports=v21.03
branch_aports=3.13-stable
+2 -2
View File
@@ -8,7 +8,7 @@ fi
pkgname=busybox-static-aarch64
pkgver=1.36.1
pkgrel=26
pkgrel=31
_arch="aarch64"
_mirror="http://dl-4.alpinelinux.org/alpine/"
@@ -32,5 +32,5 @@ package() {
}
sha512sums="
0f5f1eb32691016183d9a3011c5643f70a1cdc9f49b1ffefce732cff960cfea4d0db1670564fff5504654bb2f07857e62e5dd076fb40d2c361c441854e5d5e5c busybox-static-1.36.1-r26-aarch64-edge.apk
c34906bb0a5d7e268ab43ca1e3e2f9c75c06f3f5de8d41671396bcd7d585a79a66e25ad43e80a3e107a1de0ecaf83ac7198163d3e775edbd6d626ef014307ec5 busybox-static-1.36.1-r31-aarch64-edge.apk
"
+2 -2
View File
@@ -8,7 +8,7 @@ fi
pkgname=busybox-static-armhf
pkgver=1.36.1
pkgrel=26
pkgrel=31
_arch="armhf"
_mirror="http://dl-4.alpinelinux.org/alpine/"
@@ -32,5 +32,5 @@ package() {
}
sha512sums="
ad4db0c989c1a4773f75411c2749bcc8d25756d20396cdb6bfa59bd5ed14164928c602e9833101e584b28490971f6d43973a9c7de9c544693aef40dbe183cabc busybox-static-1.36.1-r26-armhf-edge.apk
7e6a961a0adcbc2912f5b261ce84a62b9189dce49c5dd3d2bcbdae407645dec72c27af8804c1d5446d50e78ea938a4d812c477db199ed83cac7c647c4b41f3fe busybox-static-1.36.1-r31-armhf-edge.apk
"
+2 -2
View File
@@ -8,7 +8,7 @@ fi
pkgname=busybox-static-armv7
pkgver=1.36.1
pkgrel=26
pkgrel=31
_arch="armv7"
_mirror="http://dl-4.alpinelinux.org/alpine/"
@@ -32,5 +32,5 @@ package() {
}
sha512sums="
f6664d29ecb22e396133116210d792e101fa552b4f4d2295de19af460830bbb151a2d3c4a7b7bbe1596d7b3ed85042f10dae49d78ae4e6ac053ed565f9043c01 busybox-static-1.36.1-r26-armv7-edge.apk
b9736dc7df4230196bf05de3bd76b61fc689c56861bc7c5194cd310e23f513cec649c1b3e3f338266b8d58540468d97e8525948a3efc2d1af53e288cd525e836 busybox-static-1.36.1-r31-armv7-edge.apk
"
@@ -150,13 +150,13 @@ 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 \
@@ -1177,6 +1187,8 @@ proper position among the other output files. */
"-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} \
+ %{Werror=poison-system-directories:--error-poison-system-directories} \
%{static|no-pie|static-pie:} %@{L*} %(mfwrap) %(link_libgcc) " \
%{static|no-pie|static-pie:} %@{L*} %(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
+45 -35
View File
@@ -9,23 +9,22 @@ Subject: [PATCH 13/35] nopie
2 files changed, 40 insertions(+)
diff --git a/gcc/configure b/gcc/configure
index 8c46369f73f..e59cbee1767 100755
index 23da7d55d..f38732bb2 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -32268,6 +32268,33 @@ fi
@@ -34534,6 +34534,29 @@ rm -f core conftest.err conftest.$ac_objext \
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_no_pie" >&5
$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
+# 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 :
+if ${gcc_cv_nopie+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ saved_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -nopie"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ LDFLAGS="$LDFLAGS -nopie"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int main(void) {return 0;}
+_ACEOF
@@ -36,40 +35,51 @@ index 8c46369f73f..e59cbee1767 100755
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$saved_LDFLAGS"
+ 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
if test x$enable_host_shared = xyes; then
PICFLAG=-fPIC
@@ -34551,6 +34574,8 @@ if test x$enable_host_pie = xyes; then
LD_PICFLAG=-pie
elif test x$gcc_cv_no_pie = xyes; then
LD_PICFLAG=-no-pie
+elif test x$gcc_cv_nopie = xyes; then
+ LD_PICFLAG=-nopie
else
LD_PICFLAG=
fi
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 5504bf6eb01..57268319de1 100644
index d7cf0b92c..db2e2c802 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -7552,6 +7552,19 @@ AC_CACHE_CHECK([for -no-pie option],
@@ -7781,6 +7781,15 @@ AC_CACHE_CHECK([for -no-pie option],
[gcc_cv_no_pie=yes],
[gcc_cv_no_pie=no])
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])
+# Check if -nopie works.
+AC_CACHE_CHECK([for -nopie option],
+ [gcc_cv_nopie],
+ [saved_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -nopie"
+ AC_LINK_IFELSE([AC_LANG_SOURCE([int main(void) {return 0;}])],
+ [gcc_cv_nopie=yes],
+ [gcc_cv_nopie=no])
+ LDFLAGS="$saved_LDFLAGS"])
if test x$enable_host_shared = xyes; then
PICFLAG=-fPIC
@@ -7798,6 +7807,8 @@ if test x$enable_host_pie = xyes; then
LD_PICFLAG=-pie
elif test x$gcc_cv_no_pie = xyes; then
LD_PICFLAG=-no-pie
+elif test x$gcc_cv_nopie = xyes; then
+ LD_PICFLAG=-nopie
else
LD_PICFLAG=
fi
--
2.41.0
@@ -46,10 +46,10 @@ 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
@@ -60,11 +60,3 @@ along with GCC; see the file COPYING3. If not see
%{rdynamic:-export-dynamic} \
-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}} \
%{static:-static} %{static-pie:-static -pie --no-dynamic-linker -z text}}"
-
-#define STARTFILE_PREFIX_SPEC \
- "/lib" XLEN_SPEC "/" ABI_SPEC "/ " \
@@ -41,6 +41,15 @@ index 96306f8cc9a..090b6770ae5 100644
LIBGNAT_TARGET_PAIRS = \
a-intnam.ads<libgnarl/a-intnam__linux.ads \
s-inmaop.adb<libgnarl/s-inmaop__posix.adb \
@@ -2311,7 +2311,7 @@ ifeq ($(strip $(filter-out aarch64% linux%,$(target_cpu) $(target_os))),)
s-intman.adb<libgnarl/s-intman__posix.adb \
s-linux.ads<libgnarl/s-linux.ads \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
s-mudido.adb<libgnarl/s-mudido__affinity.adb \
s-osinte.ads<libgnarl/s-osinte__linux.ads \
s-osinte.adb<libgnarl/s-osinte__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 \
@@ -0,0 +1,32 @@
From c4f484f465a32e796ae384aa3f90e79fa218b4e9 Mon Sep 17 00:00:00 2001
From: Jingyun Hua <huajingyun@loongson.cn>
Date: Mon, 7 Aug 2023 15:25:58 +0800
Subject: [PATCH] loongarch disable multilib support
Signed-off-by: Jingyun Hua <huajingyun@loongson.cn>
---
gcc/config/loongarch/t-linux | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/gcc/config/loongarch/t-linux b/gcc/config/loongarch/t-linux
index 23e1fb979..c2753abb8 100644
--- a/gcc/config/loongarch/t-linux
+++ b/gcc/config/loongarch/t-linux
@@ -21,11 +21,6 @@ MULTIOSDIR_lp64f := ../lib64/f32$(call if_multiarch,:loongarch64-linux-gnuf32)
MULTIOSDIR_lp64s := ../lib64/sf$(call if_multiarch,:loongarch64-linux-gnusf)
# Don't define MULTILIB_OSDIRNAMES if multilib is disabled.
-ifeq ($(filter LA_DISABLE_MULTILIB,$(tm_defines)),)
-
- MULTILIB_OSDIRNAMES = .=$(MULTIOSDIR_$(mlib_default))
- MULTILIB_OSDIRNAMES += mabi.lp64d=$(MULTIOSDIR_lp64d)
- MULTILIB_OSDIRNAMES += mabi.lp64f=$(MULTIOSDIR_lp64f)
- MULTILIB_OSDIRNAMES += mabi.lp64s=$(MULTIOSDIR_lp64s)
-
-endif
+ MULTILIB_OSDIRNAMES = mabi.lp64d=../lib
+ MULTILIB_OSDIRNAMES += mabi.lp64f=../lib
+ MULTILIB_OSDIRNAMES += mabi.lp64s=../lib
--
2.41.0
@@ -1,186 +0,0 @@
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
@@ -1,61 +0,0 @@
From c4f484f465a32e796ae384aa3f90e79fa218b4e9 Mon Sep 17 00:00:00 2001
From: Jingyun Hua <huajingyun@loongson.cn>
Date: Mon, 7 Aug 2023 15:25:58 +0800
Subject: [PATCH] loongarch disable multilib support
Signed-off-by: Jingyun Hua <huajingyun@loongson.cn>
---
gcc/config/loongarch/linux.h | 10 +---------
gcc/config/loongarch/t-linux | 18 +++---------------
3 files changed, 5 insertions(+), 25 deletions(-)
diff --git a/gcc/config/loongarch/linux.h b/gcc/config/loongarch/linux.h
index 9059d2441..23eaff0cc 100644
--- a/gcc/config/loongarch/linux.h
+++ b/gcc/config/loongarch/linux.h
@@ -22,15 +22,7 @@ along with GCC; see the file COPYING3. If not see
* can work in a multilib environment. */
#if defined(LA_DISABLE_MULTILIB) && defined(LA_DISABLE_MULTIARCH)
-
- #if DEFAULT_ABI_BASE == ABI_BASE_LP64D
- #define ABI_LIBDIR "lib64"
- #elif DEFAULT_ABI_BASE == ABI_BASE_LP64F
- #define ABI_LIBDIR "lib64/f32"
- #elif DEFAULT_ABI_BASE == ABI_BASE_LP64S
- #define ABI_LIBDIR "lib64/sf"
- #endif
-
+ #define ABI_LIBDIR "lib"
#endif
#ifndef ABI_LIBDIR
diff --git a/gcc/config/loongarch/t-linux b/gcc/config/loongarch/t-linux
index e40da1792..f72c6e878 100644
--- a/gcc/config/loongarch/t-linux
+++ b/gcc/config/loongarch/t-linux
@@ -36,18 +36,6 @@ else
endif
# Don't define MULTILIB_OSDIRNAMES if multilib is disabled.
-ifeq ($(filter LA_DISABLE_MULTILIB,$(tm_defines)),)
-
- MULTILIB_OSDIRNAMES = \
- mabi.lp64d=../lib64$\
- $(call if_multiarch,:loongarch64-linux-gnu)
-
- MULTILIB_OSDIRNAMES += \
- mabi.lp64f=../lib64/f32$\
- $(call if_multiarch,:loongarch64-linux-gnuf32)
-
- MULTILIB_OSDIRNAMES += \
- mabi.lp64s=../lib64/sf$\
- $(call if_multiarch,:loongarch64-linux-gnusf)
-
-endif
+ MULTILIB_OSDIRNAMES = mabi.lp64d=../lib
+ MULTILIB_OSDIRNAMES += mabi.lp64f=../lib
+ MULTILIB_OSDIRNAMES += mabi.lp64s=../lib
--
2.41.0
+21 -14
View File
@@ -24,7 +24,7 @@ CBUILDROOT="/"
_cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
pkgname=gcc-aarch64
pkgver=13.2.1_git20240309
pkgver=14.2.0
# i.e. 13.2.1, must match gcc/BASE-VER
_pkgbase="${pkgver%%_git*}"
# date component from snapshots
@@ -171,7 +171,7 @@ esac
# currently on x86, x86_64 and ia64
_libquadmath=$LANG_FORTRAN
case "$CTARGET_ARCH" in
x86 | x86_64 | ppc64le) _libquadmath=$LANG_FORTRAN ;;
x86 | x86_64) _libquadmath=$LANG_FORTRAN ;;
*) _libquadmath=false ;;
esac
@@ -241,7 +241,8 @@ makedepends="$makedepends_build $makedepends_host"
#
# PLEASE submit all patches to gcc to https://gitlab.alpinelinux.org/kaniini/alpine-gcc-patches,
# so that they can be properly tracked and easily rebased if needed.
source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${_pkgbase%%.*}-$_pkgsnap.tar.xz
#source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${_pkgbase%%.*}-$_pkgsnap.tar.xz
source="https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkgbase:-$pkgver}.tar.xz
0001-posix_memalign.patch
0002-gcc-poison-system-directories.patch
0003-specs-turn-on-Wl-z-now-by-default.patch
@@ -276,8 +277,7 @@ source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${
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
0037-loongarch-disable-multilib-support.patch
0035-loongarch-disable-multilib-support.patch
"
# secfixes:
@@ -285,7 +285,8 @@ source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${
# - CVE-2023-4039
# we build out-of-tree
_gccdir="$srcdir"/gcc-${_pkgbase%%.*}-$_pkgsnap
#_gccdir="$srcdir"/gcc-${_pkgbase%%.*}-$_pkgsnap
_gccdir="$srcdir"/gcc-${_pkgbase:-$pkgver}
_gcclibdir="/usr/lib/gcc/$CTARGET/${_pkgbase:-$pkgver}"
_gcclibexec="/usr/libexec/gcc/$CTARGET/${_pkgbase:-$pkgver}"
@@ -364,7 +365,14 @@ build() {
$_libgomp || _bootstrap_configure="$_bootstrap_configure --disable-libgomp"
$_libatomic || _bootstrap_configure="$_bootstrap_configure --disable-libatomic"
$_libitm || _bootstrap_configure="$_bootstrap_configure --disable-libitm"
$_libquadmath || _arch_configure="$_arch_configure --disable-libquadmath"
if ! $_libquadmath; then
_arch_configure="$_arch_configure --disable-libquadmath"
# ppc64le needs both --disable-libquadmath{,-support}
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116007
[ "$CARCH" = "ppc64le" ] &&
_arch_configure="$_arch_configure
--disable-libquadmath-support"
fi
msg "Building the following:"
echo ""
@@ -793,9 +801,9 @@ gdb() {
}
sha512sums="
2d1e0374ebdee526f0549319fc9c364968c52a0d4aaa16759f00453cb083fe58d8f463c47d97f3bb74a0a92e251989eb75a50ee5800b4569978c72d25446b44e gcc-13-20240309.tar.xz
932bdef0cda94bacedf452ab17f103c0cb511ff2cec55e9112fc0328cbf1d803b42595728ea7b200e0a057c03e85626f937012e49a7515bc5dd256b2bf4bc396 gcc-14.2.0.tar.xz
1ecffba1b07d60e1b4422302b032bbea918b674c8e12b30aa6965b544d700ce86b61e9f7b8d402c6caf59257f491a394dd0912f0948565d6eae9335ee54f3b35 0001-posix_memalign.patch
163f282455b6a4df33f011bcd8b0440566ba0ffaeeab30d8ac52d39948980a56881ca0eff60687129d59556389a58b9d64e7768750bd70b1fe0fedbc9fc30dc2 0002-gcc-poison-system-directories.patch
1d102a7b17683909dde4d8591dd889149299e77a2b2003cdc0635dc816666be940e41ae534b469485391a9bed183cd5cd337f130e4e1ecb62cb9ad86c4a081db 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
@@ -806,7 +814,7 @@ sha512sums="
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
91dde3079c1400c124ab5604597f5857185d075809649603aa3641a4581b34029bfcbd4281a5bd925d1c5e6e3b1f5f3322efda34345c6930652d685a6c9525f4 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
@@ -816,10 +824,10 @@ b2c4921c5eef33ee43a92ab5ec7f09d5d3adb49a2416595001e6376ffdf652ef9d0dc21778c3a86e
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
abf845792433a21fed5dd06167b9f6cf5e8f8026a409acce93824e466c5148e192bf5f404a271931fe4b65283499329bf67bb01019f2f3e02501f20619404e6c 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
5fd23a506b55c88d4f000e01c539eb25d6da2516949c9d7a1c9ee20f4c6b627e4788541284d9c14c33bafa7cb43ce2e0469dd91006152f00e30815107150320f 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
@@ -828,6 +836,5 @@ d47b559075f40d526235f47b91da1d0cf6bfe6c5b7311bbfe08af9dd6e8f27e6c7cd82e3b2d529aa
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
d834f5f95f4ebe70ec0af0748c8632c99a4f57b69dc14db1a38becdfcb03406b32febf39f772f37bd145538147099fa7433edce845e14ee77cd8f38fd9774fc1 0037-loongarch-disable-multilib-support.patch
65df1d489e8d07a811f39e27fd29e3b2b4164fbc2c5fdc16a5142886d94a96e3fb28ccf4f20dd297ba6540ef8ea1ac3eb65a4279494639bf2f0f8376a3896cc3 0035-loongarch-disable-multilib-support.patch
"
@@ -150,13 +150,13 @@ 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 \
@@ -1177,6 +1187,8 @@ proper position among the other output files. */
"-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} \
+ %{Werror=poison-system-directories:--error-poison-system-directories} \
%{static|no-pie|static-pie:} %@{L*} %(mfwrap) %(link_libgcc) " \
%{static|no-pie|static-pie:} %@{L*} %(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
+45 -35
View File
@@ -9,23 +9,22 @@ Subject: [PATCH 13/35] nopie
2 files changed, 40 insertions(+)
diff --git a/gcc/configure b/gcc/configure
index 8c46369f73f..e59cbee1767 100755
index 23da7d55d..f38732bb2 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -32268,6 +32268,33 @@ fi
@@ -34534,6 +34534,29 @@ rm -f core conftest.err conftest.$ac_objext \
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_no_pie" >&5
$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
+# 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 :
+if ${gcc_cv_nopie+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ saved_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -nopie"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ LDFLAGS="$LDFLAGS -nopie"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int main(void) {return 0;}
+_ACEOF
@@ -36,40 +35,51 @@ index 8c46369f73f..e59cbee1767 100755
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$saved_LDFLAGS"
+ 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
if test x$enable_host_shared = xyes; then
PICFLAG=-fPIC
@@ -34551,6 +34574,8 @@ if test x$enable_host_pie = xyes; then
LD_PICFLAG=-pie
elif test x$gcc_cv_no_pie = xyes; then
LD_PICFLAG=-no-pie
+elif test x$gcc_cv_nopie = xyes; then
+ LD_PICFLAG=-nopie
else
LD_PICFLAG=
fi
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 5504bf6eb01..57268319de1 100644
index d7cf0b92c..db2e2c802 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -7552,6 +7552,19 @@ AC_CACHE_CHECK([for -no-pie option],
@@ -7781,6 +7781,15 @@ AC_CACHE_CHECK([for -no-pie option],
[gcc_cv_no_pie=yes],
[gcc_cv_no_pie=no])
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])
+# Check if -nopie works.
+AC_CACHE_CHECK([for -nopie option],
+ [gcc_cv_nopie],
+ [saved_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -nopie"
+ AC_LINK_IFELSE([AC_LANG_SOURCE([int main(void) {return 0;}])],
+ [gcc_cv_nopie=yes],
+ [gcc_cv_nopie=no])
+ LDFLAGS="$saved_LDFLAGS"])
if test x$enable_host_shared = xyes; then
PICFLAG=-fPIC
@@ -7798,6 +7807,8 @@ if test x$enable_host_pie = xyes; then
LD_PICFLAG=-pie
elif test x$gcc_cv_no_pie = xyes; then
LD_PICFLAG=-no-pie
+elif test x$gcc_cv_nopie = xyes; then
+ LD_PICFLAG=-nopie
else
LD_PICFLAG=
fi
--
2.41.0
@@ -46,10 +46,10 @@ 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
@@ -60,11 +60,3 @@ along with GCC; see the file COPYING3. If not see
%{rdynamic:-export-dynamic} \
-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}} \
%{static:-static} %{static-pie:-static -pie --no-dynamic-linker -z text}}"
-
-#define STARTFILE_PREFIX_SPEC \
- "/lib" XLEN_SPEC "/" ABI_SPEC "/ " \
@@ -41,6 +41,15 @@ index 96306f8cc9a..090b6770ae5 100644
LIBGNAT_TARGET_PAIRS = \
a-intnam.ads<libgnarl/a-intnam__linux.ads \
s-inmaop.adb<libgnarl/s-inmaop__posix.adb \
@@ -2311,7 +2311,7 @@ ifeq ($(strip $(filter-out aarch64% linux%,$(target_cpu) $(target_os))),)
s-intman.adb<libgnarl/s-intman__posix.adb \
s-linux.ads<libgnarl/s-linux.ads \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
s-mudido.adb<libgnarl/s-mudido__affinity.adb \
s-osinte.ads<libgnarl/s-osinte__linux.ads \
s-osinte.adb<libgnarl/s-osinte__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 \
@@ -0,0 +1,32 @@
From c4f484f465a32e796ae384aa3f90e79fa218b4e9 Mon Sep 17 00:00:00 2001
From: Jingyun Hua <huajingyun@loongson.cn>
Date: Mon, 7 Aug 2023 15:25:58 +0800
Subject: [PATCH] loongarch disable multilib support
Signed-off-by: Jingyun Hua <huajingyun@loongson.cn>
---
gcc/config/loongarch/t-linux | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/gcc/config/loongarch/t-linux b/gcc/config/loongarch/t-linux
index 23e1fb979..c2753abb8 100644
--- a/gcc/config/loongarch/t-linux
+++ b/gcc/config/loongarch/t-linux
@@ -21,11 +21,6 @@ MULTIOSDIR_lp64f := ../lib64/f32$(call if_multiarch,:loongarch64-linux-gnuf32)
MULTIOSDIR_lp64s := ../lib64/sf$(call if_multiarch,:loongarch64-linux-gnusf)
# Don't define MULTILIB_OSDIRNAMES if multilib is disabled.
-ifeq ($(filter LA_DISABLE_MULTILIB,$(tm_defines)),)
-
- MULTILIB_OSDIRNAMES = .=$(MULTIOSDIR_$(mlib_default))
- MULTILIB_OSDIRNAMES += mabi.lp64d=$(MULTIOSDIR_lp64d)
- MULTILIB_OSDIRNAMES += mabi.lp64f=$(MULTIOSDIR_lp64f)
- MULTILIB_OSDIRNAMES += mabi.lp64s=$(MULTIOSDIR_lp64s)
-
-endif
+ MULTILIB_OSDIRNAMES = mabi.lp64d=../lib
+ MULTILIB_OSDIRNAMES += mabi.lp64f=../lib
+ MULTILIB_OSDIRNAMES += mabi.lp64s=../lib
--
2.41.0
@@ -1,186 +0,0 @@
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
@@ -1,61 +0,0 @@
From c4f484f465a32e796ae384aa3f90e79fa218b4e9 Mon Sep 17 00:00:00 2001
From: Jingyun Hua <huajingyun@loongson.cn>
Date: Mon, 7 Aug 2023 15:25:58 +0800
Subject: [PATCH] loongarch disable multilib support
Signed-off-by: Jingyun Hua <huajingyun@loongson.cn>
---
gcc/config/loongarch/linux.h | 10 +---------
gcc/config/loongarch/t-linux | 18 +++---------------
3 files changed, 5 insertions(+), 25 deletions(-)
diff --git a/gcc/config/loongarch/linux.h b/gcc/config/loongarch/linux.h
index 9059d2441..23eaff0cc 100644
--- a/gcc/config/loongarch/linux.h
+++ b/gcc/config/loongarch/linux.h
@@ -22,15 +22,7 @@ along with GCC; see the file COPYING3. If not see
* can work in a multilib environment. */
#if defined(LA_DISABLE_MULTILIB) && defined(LA_DISABLE_MULTIARCH)
-
- #if DEFAULT_ABI_BASE == ABI_BASE_LP64D
- #define ABI_LIBDIR "lib64"
- #elif DEFAULT_ABI_BASE == ABI_BASE_LP64F
- #define ABI_LIBDIR "lib64/f32"
- #elif DEFAULT_ABI_BASE == ABI_BASE_LP64S
- #define ABI_LIBDIR "lib64/sf"
- #endif
-
+ #define ABI_LIBDIR "lib"
#endif
#ifndef ABI_LIBDIR
diff --git a/gcc/config/loongarch/t-linux b/gcc/config/loongarch/t-linux
index e40da1792..f72c6e878 100644
--- a/gcc/config/loongarch/t-linux
+++ b/gcc/config/loongarch/t-linux
@@ -36,18 +36,6 @@ else
endif
# Don't define MULTILIB_OSDIRNAMES if multilib is disabled.
-ifeq ($(filter LA_DISABLE_MULTILIB,$(tm_defines)),)
-
- MULTILIB_OSDIRNAMES = \
- mabi.lp64d=../lib64$\
- $(call if_multiarch,:loongarch64-linux-gnu)
-
- MULTILIB_OSDIRNAMES += \
- mabi.lp64f=../lib64/f32$\
- $(call if_multiarch,:loongarch64-linux-gnuf32)
-
- MULTILIB_OSDIRNAMES += \
- mabi.lp64s=../lib64/sf$\
- $(call if_multiarch,:loongarch64-linux-gnusf)
-
-endif
+ MULTILIB_OSDIRNAMES = mabi.lp64d=../lib
+ MULTILIB_OSDIRNAMES += mabi.lp64f=../lib
+ MULTILIB_OSDIRNAMES += mabi.lp64s=../lib
--
2.41.0
+21 -14
View File
@@ -24,7 +24,7 @@ CBUILDROOT="/"
_cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
pkgname=gcc-armhf
pkgver=13.2.1_git20240309
pkgver=14.2.0
# i.e. 13.2.1, must match gcc/BASE-VER
_pkgbase="${pkgver%%_git*}"
# date component from snapshots
@@ -171,7 +171,7 @@ esac
# currently on x86, x86_64 and ia64
_libquadmath=$LANG_FORTRAN
case "$CTARGET_ARCH" in
x86 | x86_64 | ppc64le) _libquadmath=$LANG_FORTRAN ;;
x86 | x86_64) _libquadmath=$LANG_FORTRAN ;;
*) _libquadmath=false ;;
esac
@@ -241,7 +241,8 @@ makedepends="$makedepends_build $makedepends_host"
#
# PLEASE submit all patches to gcc to https://gitlab.alpinelinux.org/kaniini/alpine-gcc-patches,
# so that they can be properly tracked and easily rebased if needed.
source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${_pkgbase%%.*}-$_pkgsnap.tar.xz
#source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${_pkgbase%%.*}-$_pkgsnap.tar.xz
source="https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkgbase:-$pkgver}.tar.xz
0001-posix_memalign.patch
0002-gcc-poison-system-directories.patch
0003-specs-turn-on-Wl-z-now-by-default.patch
@@ -276,8 +277,7 @@ source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${
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
0037-loongarch-disable-multilib-support.patch
0035-loongarch-disable-multilib-support.patch
"
# secfixes:
@@ -285,7 +285,8 @@ source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${
# - CVE-2023-4039
# we build out-of-tree
_gccdir="$srcdir"/gcc-${_pkgbase%%.*}-$_pkgsnap
#_gccdir="$srcdir"/gcc-${_pkgbase%%.*}-$_pkgsnap
_gccdir="$srcdir"/gcc-${_pkgbase:-$pkgver}
_gcclibdir="/usr/lib/gcc/$CTARGET/${_pkgbase:-$pkgver}"
_gcclibexec="/usr/libexec/gcc/$CTARGET/${_pkgbase:-$pkgver}"
@@ -364,7 +365,14 @@ build() {
$_libgomp || _bootstrap_configure="$_bootstrap_configure --disable-libgomp"
$_libatomic || _bootstrap_configure="$_bootstrap_configure --disable-libatomic"
$_libitm || _bootstrap_configure="$_bootstrap_configure --disable-libitm"
$_libquadmath || _arch_configure="$_arch_configure --disable-libquadmath"
if ! $_libquadmath; then
_arch_configure="$_arch_configure --disable-libquadmath"
# ppc64le needs both --disable-libquadmath{,-support}
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116007
[ "$CARCH" = "ppc64le" ] &&
_arch_configure="$_arch_configure
--disable-libquadmath-support"
fi
msg "Building the following:"
echo ""
@@ -793,9 +801,9 @@ gdb() {
}
sha512sums="
2d1e0374ebdee526f0549319fc9c364968c52a0d4aaa16759f00453cb083fe58d8f463c47d97f3bb74a0a92e251989eb75a50ee5800b4569978c72d25446b44e gcc-13-20240309.tar.xz
932bdef0cda94bacedf452ab17f103c0cb511ff2cec55e9112fc0328cbf1d803b42595728ea7b200e0a057c03e85626f937012e49a7515bc5dd256b2bf4bc396 gcc-14.2.0.tar.xz
1ecffba1b07d60e1b4422302b032bbea918b674c8e12b30aa6965b544d700ce86b61e9f7b8d402c6caf59257f491a394dd0912f0948565d6eae9335ee54f3b35 0001-posix_memalign.patch
163f282455b6a4df33f011bcd8b0440566ba0ffaeeab30d8ac52d39948980a56881ca0eff60687129d59556389a58b9d64e7768750bd70b1fe0fedbc9fc30dc2 0002-gcc-poison-system-directories.patch
1d102a7b17683909dde4d8591dd889149299e77a2b2003cdc0635dc816666be940e41ae534b469485391a9bed183cd5cd337f130e4e1ecb62cb9ad86c4a081db 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
@@ -806,7 +814,7 @@ sha512sums="
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
91dde3079c1400c124ab5604597f5857185d075809649603aa3641a4581b34029bfcbd4281a5bd925d1c5e6e3b1f5f3322efda34345c6930652d685a6c9525f4 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
@@ -816,10 +824,10 @@ b2c4921c5eef33ee43a92ab5ec7f09d5d3adb49a2416595001e6376ffdf652ef9d0dc21778c3a86e
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
abf845792433a21fed5dd06167b9f6cf5e8f8026a409acce93824e466c5148e192bf5f404a271931fe4b65283499329bf67bb01019f2f3e02501f20619404e6c 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
5fd23a506b55c88d4f000e01c539eb25d6da2516949c9d7a1c9ee20f4c6b627e4788541284d9c14c33bafa7cb43ce2e0469dd91006152f00e30815107150320f 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
@@ -828,6 +836,5 @@ d47b559075f40d526235f47b91da1d0cf6bfe6c5b7311bbfe08af9dd6e8f27e6c7cd82e3b2d529aa
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
d834f5f95f4ebe70ec0af0748c8632c99a4f57b69dc14db1a38becdfcb03406b32febf39f772f37bd145538147099fa7433edce845e14ee77cd8f38fd9774fc1 0037-loongarch-disable-multilib-support.patch
65df1d489e8d07a811f39e27fd29e3b2b4164fbc2c5fdc16a5142886d94a96e3fb28ccf4f20dd297ba6540ef8ea1ac3eb65a4279494639bf2f0f8376a3896cc3 0035-loongarch-disable-multilib-support.patch
"
@@ -150,13 +150,13 @@ 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 \
@@ -1177,6 +1187,8 @@ proper position among the other output files. */
"-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} \
+ %{Werror=poison-system-directories:--error-poison-system-directories} \
%{static|no-pie|static-pie:} %@{L*} %(mfwrap) %(link_libgcc) " \
%{static|no-pie|static-pie:} %@{L*} %(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
+45 -35
View File
@@ -9,23 +9,22 @@ Subject: [PATCH 13/35] nopie
2 files changed, 40 insertions(+)
diff --git a/gcc/configure b/gcc/configure
index 8c46369f73f..e59cbee1767 100755
index 23da7d55d..f38732bb2 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -32268,6 +32268,33 @@ fi
@@ -34534,6 +34534,29 @@ rm -f core conftest.err conftest.$ac_objext \
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_no_pie" >&5
$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
+# 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 :
+if ${gcc_cv_nopie+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ saved_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -nopie"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ LDFLAGS="$LDFLAGS -nopie"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int main(void) {return 0;}
+_ACEOF
@@ -36,40 +35,51 @@ index 8c46369f73f..e59cbee1767 100755
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$saved_LDFLAGS"
+ 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
if test x$enable_host_shared = xyes; then
PICFLAG=-fPIC
@@ -34551,6 +34574,8 @@ if test x$enable_host_pie = xyes; then
LD_PICFLAG=-pie
elif test x$gcc_cv_no_pie = xyes; then
LD_PICFLAG=-no-pie
+elif test x$gcc_cv_nopie = xyes; then
+ LD_PICFLAG=-nopie
else
LD_PICFLAG=
fi
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 5504bf6eb01..57268319de1 100644
index d7cf0b92c..db2e2c802 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -7552,6 +7552,19 @@ AC_CACHE_CHECK([for -no-pie option],
@@ -7781,6 +7781,15 @@ AC_CACHE_CHECK([for -no-pie option],
[gcc_cv_no_pie=yes],
[gcc_cv_no_pie=no])
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])
+# Check if -nopie works.
+AC_CACHE_CHECK([for -nopie option],
+ [gcc_cv_nopie],
+ [saved_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -nopie"
+ AC_LINK_IFELSE([AC_LANG_SOURCE([int main(void) {return 0;}])],
+ [gcc_cv_nopie=yes],
+ [gcc_cv_nopie=no])
+ LDFLAGS="$saved_LDFLAGS"])
if test x$enable_host_shared = xyes; then
PICFLAG=-fPIC
@@ -7798,6 +7807,8 @@ if test x$enable_host_pie = xyes; then
LD_PICFLAG=-pie
elif test x$gcc_cv_no_pie = xyes; then
LD_PICFLAG=-no-pie
+elif test x$gcc_cv_nopie = xyes; then
+ LD_PICFLAG=-nopie
else
LD_PICFLAG=
fi
--
2.41.0
@@ -46,10 +46,10 @@ 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
@@ -60,11 +60,3 @@ along with GCC; see the file COPYING3. If not see
%{rdynamic:-export-dynamic} \
-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}} \
%{static:-static} %{static-pie:-static -pie --no-dynamic-linker -z text}}"
-
-#define STARTFILE_PREFIX_SPEC \
- "/lib" XLEN_SPEC "/" ABI_SPEC "/ " \
@@ -41,6 +41,15 @@ index 96306f8cc9a..090b6770ae5 100644
LIBGNAT_TARGET_PAIRS = \
a-intnam.ads<libgnarl/a-intnam__linux.ads \
s-inmaop.adb<libgnarl/s-inmaop__posix.adb \
@@ -2311,7 +2311,7 @@ ifeq ($(strip $(filter-out aarch64% linux%,$(target_cpu) $(target_os))),)
s-intman.adb<libgnarl/s-intman__posix.adb \
s-linux.ads<libgnarl/s-linux.ads \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
s-mudido.adb<libgnarl/s-mudido__affinity.adb \
s-osinte.ads<libgnarl/s-osinte__linux.ads \
s-osinte.adb<libgnarl/s-osinte__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 \
@@ -0,0 +1,32 @@
From c4f484f465a32e796ae384aa3f90e79fa218b4e9 Mon Sep 17 00:00:00 2001
From: Jingyun Hua <huajingyun@loongson.cn>
Date: Mon, 7 Aug 2023 15:25:58 +0800
Subject: [PATCH] loongarch disable multilib support
Signed-off-by: Jingyun Hua <huajingyun@loongson.cn>
---
gcc/config/loongarch/t-linux | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/gcc/config/loongarch/t-linux b/gcc/config/loongarch/t-linux
index 23e1fb979..c2753abb8 100644
--- a/gcc/config/loongarch/t-linux
+++ b/gcc/config/loongarch/t-linux
@@ -21,11 +21,6 @@ MULTIOSDIR_lp64f := ../lib64/f32$(call if_multiarch,:loongarch64-linux-gnuf32)
MULTIOSDIR_lp64s := ../lib64/sf$(call if_multiarch,:loongarch64-linux-gnusf)
# Don't define MULTILIB_OSDIRNAMES if multilib is disabled.
-ifeq ($(filter LA_DISABLE_MULTILIB,$(tm_defines)),)
-
- MULTILIB_OSDIRNAMES = .=$(MULTIOSDIR_$(mlib_default))
- MULTILIB_OSDIRNAMES += mabi.lp64d=$(MULTIOSDIR_lp64d)
- MULTILIB_OSDIRNAMES += mabi.lp64f=$(MULTIOSDIR_lp64f)
- MULTILIB_OSDIRNAMES += mabi.lp64s=$(MULTIOSDIR_lp64s)
-
-endif
+ MULTILIB_OSDIRNAMES = mabi.lp64d=../lib
+ MULTILIB_OSDIRNAMES += mabi.lp64f=../lib
+ MULTILIB_OSDIRNAMES += mabi.lp64s=../lib
--
2.41.0
@@ -1,186 +0,0 @@
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
@@ -1,61 +0,0 @@
From c4f484f465a32e796ae384aa3f90e79fa218b4e9 Mon Sep 17 00:00:00 2001
From: Jingyun Hua <huajingyun@loongson.cn>
Date: Mon, 7 Aug 2023 15:25:58 +0800
Subject: [PATCH] loongarch disable multilib support
Signed-off-by: Jingyun Hua <huajingyun@loongson.cn>
---
gcc/config/loongarch/linux.h | 10 +---------
gcc/config/loongarch/t-linux | 18 +++---------------
3 files changed, 5 insertions(+), 25 deletions(-)
diff --git a/gcc/config/loongarch/linux.h b/gcc/config/loongarch/linux.h
index 9059d2441..23eaff0cc 100644
--- a/gcc/config/loongarch/linux.h
+++ b/gcc/config/loongarch/linux.h
@@ -22,15 +22,7 @@ along with GCC; see the file COPYING3. If not see
* can work in a multilib environment. */
#if defined(LA_DISABLE_MULTILIB) && defined(LA_DISABLE_MULTIARCH)
-
- #if DEFAULT_ABI_BASE == ABI_BASE_LP64D
- #define ABI_LIBDIR "lib64"
- #elif DEFAULT_ABI_BASE == ABI_BASE_LP64F
- #define ABI_LIBDIR "lib64/f32"
- #elif DEFAULT_ABI_BASE == ABI_BASE_LP64S
- #define ABI_LIBDIR "lib64/sf"
- #endif
-
+ #define ABI_LIBDIR "lib"
#endif
#ifndef ABI_LIBDIR
diff --git a/gcc/config/loongarch/t-linux b/gcc/config/loongarch/t-linux
index e40da1792..f72c6e878 100644
--- a/gcc/config/loongarch/t-linux
+++ b/gcc/config/loongarch/t-linux
@@ -36,18 +36,6 @@ else
endif
# Don't define MULTILIB_OSDIRNAMES if multilib is disabled.
-ifeq ($(filter LA_DISABLE_MULTILIB,$(tm_defines)),)
-
- MULTILIB_OSDIRNAMES = \
- mabi.lp64d=../lib64$\
- $(call if_multiarch,:loongarch64-linux-gnu)
-
- MULTILIB_OSDIRNAMES += \
- mabi.lp64f=../lib64/f32$\
- $(call if_multiarch,:loongarch64-linux-gnuf32)
-
- MULTILIB_OSDIRNAMES += \
- mabi.lp64s=../lib64/sf$\
- $(call if_multiarch,:loongarch64-linux-gnusf)
-
-endif
+ MULTILIB_OSDIRNAMES = mabi.lp64d=../lib
+ MULTILIB_OSDIRNAMES += mabi.lp64f=../lib
+ MULTILIB_OSDIRNAMES += mabi.lp64s=../lib
--
2.41.0
+21 -14
View File
@@ -24,7 +24,7 @@ CBUILDROOT="/"
_cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
pkgname=gcc-armv7
pkgver=13.2.1_git20240309
pkgver=14.2.0
# i.e. 13.2.1, must match gcc/BASE-VER
_pkgbase="${pkgver%%_git*}"
# date component from snapshots
@@ -171,7 +171,7 @@ esac
# currently on x86, x86_64 and ia64
_libquadmath=$LANG_FORTRAN
case "$CTARGET_ARCH" in
x86 | x86_64 | ppc64le) _libquadmath=$LANG_FORTRAN ;;
x86 | x86_64) _libquadmath=$LANG_FORTRAN ;;
*) _libquadmath=false ;;
esac
@@ -241,7 +241,8 @@ makedepends="$makedepends_build $makedepends_host"
#
# PLEASE submit all patches to gcc to https://gitlab.alpinelinux.org/kaniini/alpine-gcc-patches,
# so that they can be properly tracked and easily rebased if needed.
source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${_pkgbase%%.*}-$_pkgsnap.tar.xz
#source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${_pkgbase%%.*}-$_pkgsnap.tar.xz
source="https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkgbase:-$pkgver}.tar.xz
0001-posix_memalign.patch
0002-gcc-poison-system-directories.patch
0003-specs-turn-on-Wl-z-now-by-default.patch
@@ -276,8 +277,7 @@ source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${
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
0037-loongarch-disable-multilib-support.patch
0035-loongarch-disable-multilib-support.patch
"
# secfixes:
@@ -285,7 +285,8 @@ source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${
# - CVE-2023-4039
# we build out-of-tree
_gccdir="$srcdir"/gcc-${_pkgbase%%.*}-$_pkgsnap
#_gccdir="$srcdir"/gcc-${_pkgbase%%.*}-$_pkgsnap
_gccdir="$srcdir"/gcc-${_pkgbase:-$pkgver}
_gcclibdir="/usr/lib/gcc/$CTARGET/${_pkgbase:-$pkgver}"
_gcclibexec="/usr/libexec/gcc/$CTARGET/${_pkgbase:-$pkgver}"
@@ -364,7 +365,14 @@ build() {
$_libgomp || _bootstrap_configure="$_bootstrap_configure --disable-libgomp"
$_libatomic || _bootstrap_configure="$_bootstrap_configure --disable-libatomic"
$_libitm || _bootstrap_configure="$_bootstrap_configure --disable-libitm"
$_libquadmath || _arch_configure="$_arch_configure --disable-libquadmath"
if ! $_libquadmath; then
_arch_configure="$_arch_configure --disable-libquadmath"
# ppc64le needs both --disable-libquadmath{,-support}
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116007
[ "$CARCH" = "ppc64le" ] &&
_arch_configure="$_arch_configure
--disable-libquadmath-support"
fi
msg "Building the following:"
echo ""
@@ -793,9 +801,9 @@ gdb() {
}
sha512sums="
2d1e0374ebdee526f0549319fc9c364968c52a0d4aaa16759f00453cb083fe58d8f463c47d97f3bb74a0a92e251989eb75a50ee5800b4569978c72d25446b44e gcc-13-20240309.tar.xz
932bdef0cda94bacedf452ab17f103c0cb511ff2cec55e9112fc0328cbf1d803b42595728ea7b200e0a057c03e85626f937012e49a7515bc5dd256b2bf4bc396 gcc-14.2.0.tar.xz
1ecffba1b07d60e1b4422302b032bbea918b674c8e12b30aa6965b544d700ce86b61e9f7b8d402c6caf59257f491a394dd0912f0948565d6eae9335ee54f3b35 0001-posix_memalign.patch
163f282455b6a4df33f011bcd8b0440566ba0ffaeeab30d8ac52d39948980a56881ca0eff60687129d59556389a58b9d64e7768750bd70b1fe0fedbc9fc30dc2 0002-gcc-poison-system-directories.patch
1d102a7b17683909dde4d8591dd889149299e77a2b2003cdc0635dc816666be940e41ae534b469485391a9bed183cd5cd337f130e4e1ecb62cb9ad86c4a081db 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
@@ -806,7 +814,7 @@ sha512sums="
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
91dde3079c1400c124ab5604597f5857185d075809649603aa3641a4581b34029bfcbd4281a5bd925d1c5e6e3b1f5f3322efda34345c6930652d685a6c9525f4 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
@@ -816,10 +824,10 @@ b2c4921c5eef33ee43a92ab5ec7f09d5d3adb49a2416595001e6376ffdf652ef9d0dc21778c3a86e
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
abf845792433a21fed5dd06167b9f6cf5e8f8026a409acce93824e466c5148e192bf5f404a271931fe4b65283499329bf67bb01019f2f3e02501f20619404e6c 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
5fd23a506b55c88d4f000e01c539eb25d6da2516949c9d7a1c9ee20f4c6b627e4788541284d9c14c33bafa7cb43ce2e0469dd91006152f00e30815107150320f 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
@@ -828,6 +836,5 @@ d47b559075f40d526235f47b91da1d0cf6bfe6c5b7311bbfe08af9dd6e8f27e6c7cd82e3b2d529aa
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
d834f5f95f4ebe70ec0af0748c8632c99a4f57b69dc14db1a38becdfcb03406b32febf39f772f37bd145538147099fa7433edce845e14ee77cd8f38fd9774fc1 0037-loongarch-disable-multilib-support.patch
65df1d489e8d07a811f39e27fd29e3b2b4164fbc2c5fdc16a5142886d94a96e3fb28ccf4f20dd297ba6540ef8ea1ac3eb65a4279494639bf2f0f8376a3896cc3 0035-loongarch-disable-multilib-support.patch
"
@@ -150,13 +150,13 @@ 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 \
@@ -1177,6 +1187,8 @@ proper position among the other output files. */
"-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} \
+ %{Werror=poison-system-directories:--error-poison-system-directories} \
%{static|no-pie|static-pie:} %@{L*} %(mfwrap) %(link_libgcc) " \
%{static|no-pie|static-pie:} %@{L*} %(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
+45 -35
View File
@@ -9,23 +9,22 @@ Subject: [PATCH 13/35] nopie
2 files changed, 40 insertions(+)
diff --git a/gcc/configure b/gcc/configure
index 8c46369f73f..e59cbee1767 100755
index 23da7d55d..f38732bb2 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -32268,6 +32268,33 @@ fi
@@ -34534,6 +34534,29 @@ rm -f core conftest.err conftest.$ac_objext \
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_no_pie" >&5
$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
+# 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 :
+if ${gcc_cv_nopie+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ saved_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -nopie"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ LDFLAGS="$LDFLAGS -nopie"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int main(void) {return 0;}
+_ACEOF
@@ -36,40 +35,51 @@ index 8c46369f73f..e59cbee1767 100755
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$saved_LDFLAGS"
+ 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
if test x$enable_host_shared = xyes; then
PICFLAG=-fPIC
@@ -34551,6 +34574,8 @@ if test x$enable_host_pie = xyes; then
LD_PICFLAG=-pie
elif test x$gcc_cv_no_pie = xyes; then
LD_PICFLAG=-no-pie
+elif test x$gcc_cv_nopie = xyes; then
+ LD_PICFLAG=-nopie
else
LD_PICFLAG=
fi
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 5504bf6eb01..57268319de1 100644
index d7cf0b92c..db2e2c802 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -7552,6 +7552,19 @@ AC_CACHE_CHECK([for -no-pie option],
@@ -7781,6 +7781,15 @@ AC_CACHE_CHECK([for -no-pie option],
[gcc_cv_no_pie=yes],
[gcc_cv_no_pie=no])
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])
+# Check if -nopie works.
+AC_CACHE_CHECK([for -nopie option],
+ [gcc_cv_nopie],
+ [saved_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -nopie"
+ AC_LINK_IFELSE([AC_LANG_SOURCE([int main(void) {return 0;}])],
+ [gcc_cv_nopie=yes],
+ [gcc_cv_nopie=no])
+ LDFLAGS="$saved_LDFLAGS"])
if test x$enable_host_shared = xyes; then
PICFLAG=-fPIC
@@ -7798,6 +7807,8 @@ if test x$enable_host_pie = xyes; then
LD_PICFLAG=-pie
elif test x$gcc_cv_no_pie = xyes; then
LD_PICFLAG=-no-pie
+elif test x$gcc_cv_nopie = xyes; then
+ LD_PICFLAG=-nopie
else
LD_PICFLAG=
fi
--
2.41.0
@@ -46,10 +46,10 @@ 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
@@ -60,11 +60,3 @@ along with GCC; see the file COPYING3. If not see
%{rdynamic:-export-dynamic} \
-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}} \
%{static:-static} %{static-pie:-static -pie --no-dynamic-linker -z text}}"
-
-#define STARTFILE_PREFIX_SPEC \
- "/lib" XLEN_SPEC "/" ABI_SPEC "/ " \
@@ -41,6 +41,15 @@ index 96306f8cc9a..090b6770ae5 100644
LIBGNAT_TARGET_PAIRS = \
a-intnam.ads<libgnarl/a-intnam__linux.ads \
s-inmaop.adb<libgnarl/s-inmaop__posix.adb \
@@ -2311,7 +2311,7 @@ ifeq ($(strip $(filter-out aarch64% linux%,$(target_cpu) $(target_os))),)
s-intman.adb<libgnarl/s-intman__posix.adb \
s-linux.ads<libgnarl/s-linux.ads \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
s-mudido.adb<libgnarl/s-mudido__affinity.adb \
s-osinte.ads<libgnarl/s-osinte__linux.ads \
s-osinte.adb<libgnarl/s-osinte__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 \
@@ -0,0 +1,32 @@
From c4f484f465a32e796ae384aa3f90e79fa218b4e9 Mon Sep 17 00:00:00 2001
From: Jingyun Hua <huajingyun@loongson.cn>
Date: Mon, 7 Aug 2023 15:25:58 +0800
Subject: [PATCH] loongarch disable multilib support
Signed-off-by: Jingyun Hua <huajingyun@loongson.cn>
---
gcc/config/loongarch/t-linux | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/gcc/config/loongarch/t-linux b/gcc/config/loongarch/t-linux
index 23e1fb979..c2753abb8 100644
--- a/gcc/config/loongarch/t-linux
+++ b/gcc/config/loongarch/t-linux
@@ -21,11 +21,6 @@ MULTIOSDIR_lp64f := ../lib64/f32$(call if_multiarch,:loongarch64-linux-gnuf32)
MULTIOSDIR_lp64s := ../lib64/sf$(call if_multiarch,:loongarch64-linux-gnusf)
# Don't define MULTILIB_OSDIRNAMES if multilib is disabled.
-ifeq ($(filter LA_DISABLE_MULTILIB,$(tm_defines)),)
-
- MULTILIB_OSDIRNAMES = .=$(MULTIOSDIR_$(mlib_default))
- MULTILIB_OSDIRNAMES += mabi.lp64d=$(MULTIOSDIR_lp64d)
- MULTILIB_OSDIRNAMES += mabi.lp64f=$(MULTIOSDIR_lp64f)
- MULTILIB_OSDIRNAMES += mabi.lp64s=$(MULTIOSDIR_lp64s)
-
-endif
+ MULTILIB_OSDIRNAMES = mabi.lp64d=../lib
+ MULTILIB_OSDIRNAMES += mabi.lp64f=../lib
+ MULTILIB_OSDIRNAMES += mabi.lp64s=../lib
--
2.41.0
@@ -1,186 +0,0 @@
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
@@ -1,61 +0,0 @@
From c4f484f465a32e796ae384aa3f90e79fa218b4e9 Mon Sep 17 00:00:00 2001
From: Jingyun Hua <huajingyun@loongson.cn>
Date: Mon, 7 Aug 2023 15:25:58 +0800
Subject: [PATCH] loongarch disable multilib support
Signed-off-by: Jingyun Hua <huajingyun@loongson.cn>
---
gcc/config/loongarch/linux.h | 10 +---------
gcc/config/loongarch/t-linux | 18 +++---------------
3 files changed, 5 insertions(+), 25 deletions(-)
diff --git a/gcc/config/loongarch/linux.h b/gcc/config/loongarch/linux.h
index 9059d2441..23eaff0cc 100644
--- a/gcc/config/loongarch/linux.h
+++ b/gcc/config/loongarch/linux.h
@@ -22,15 +22,7 @@ along with GCC; see the file COPYING3. If not see
* can work in a multilib environment. */
#if defined(LA_DISABLE_MULTILIB) && defined(LA_DISABLE_MULTIARCH)
-
- #if DEFAULT_ABI_BASE == ABI_BASE_LP64D
- #define ABI_LIBDIR "lib64"
- #elif DEFAULT_ABI_BASE == ABI_BASE_LP64F
- #define ABI_LIBDIR "lib64/f32"
- #elif DEFAULT_ABI_BASE == ABI_BASE_LP64S
- #define ABI_LIBDIR "lib64/sf"
- #endif
-
+ #define ABI_LIBDIR "lib"
#endif
#ifndef ABI_LIBDIR
diff --git a/gcc/config/loongarch/t-linux b/gcc/config/loongarch/t-linux
index e40da1792..f72c6e878 100644
--- a/gcc/config/loongarch/t-linux
+++ b/gcc/config/loongarch/t-linux
@@ -36,18 +36,6 @@ else
endif
# Don't define MULTILIB_OSDIRNAMES if multilib is disabled.
-ifeq ($(filter LA_DISABLE_MULTILIB,$(tm_defines)),)
-
- MULTILIB_OSDIRNAMES = \
- mabi.lp64d=../lib64$\
- $(call if_multiarch,:loongarch64-linux-gnu)
-
- MULTILIB_OSDIRNAMES += \
- mabi.lp64f=../lib64/f32$\
- $(call if_multiarch,:loongarch64-linux-gnuf32)
-
- MULTILIB_OSDIRNAMES += \
- mabi.lp64s=../lib64/sf$\
- $(call if_multiarch,:loongarch64-linux-gnusf)
-
-endif
+ MULTILIB_OSDIRNAMES = mabi.lp64d=../lib
+ MULTILIB_OSDIRNAMES += mabi.lp64f=../lib
+ MULTILIB_OSDIRNAMES += mabi.lp64s=../lib
--
2.41.0
+21 -14
View File
@@ -24,7 +24,7 @@ CBUILDROOT="/"
_cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
pkgname=gcc-riscv64
pkgver=13.2.1_git20240309
pkgver=14.2.0
# i.e. 13.2.1, must match gcc/BASE-VER
_pkgbase="${pkgver%%_git*}"
# date component from snapshots
@@ -171,7 +171,7 @@ esac
# currently on x86, x86_64 and ia64
_libquadmath=$LANG_FORTRAN
case "$CTARGET_ARCH" in
x86 | x86_64 | ppc64le) _libquadmath=$LANG_FORTRAN ;;
x86 | x86_64) _libquadmath=$LANG_FORTRAN ;;
*) _libquadmath=false ;;
esac
@@ -241,7 +241,8 @@ makedepends="$makedepends_build $makedepends_host"
#
# PLEASE submit all patches to gcc to https://gitlab.alpinelinux.org/kaniini/alpine-gcc-patches,
# so that they can be properly tracked and easily rebased if needed.
source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${_pkgbase%%.*}-$_pkgsnap.tar.xz
#source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${_pkgbase%%.*}-$_pkgsnap.tar.xz
source="https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkgbase:-$pkgver}.tar.xz
0001-posix_memalign.patch
0002-gcc-poison-system-directories.patch
0003-specs-turn-on-Wl-z-now-by-default.patch
@@ -276,8 +277,7 @@ source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${
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
0037-loongarch-disable-multilib-support.patch
0035-loongarch-disable-multilib-support.patch
"
# secfixes:
@@ -285,7 +285,8 @@ source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${
# - CVE-2023-4039
# we build out-of-tree
_gccdir="$srcdir"/gcc-${_pkgbase%%.*}-$_pkgsnap
#_gccdir="$srcdir"/gcc-${_pkgbase%%.*}-$_pkgsnap
_gccdir="$srcdir"/gcc-${_pkgbase:-$pkgver}
_gcclibdir="/usr/lib/gcc/$CTARGET/${_pkgbase:-$pkgver}"
_gcclibexec="/usr/libexec/gcc/$CTARGET/${_pkgbase:-$pkgver}"
@@ -364,7 +365,14 @@ build() {
$_libgomp || _bootstrap_configure="$_bootstrap_configure --disable-libgomp"
$_libatomic || _bootstrap_configure="$_bootstrap_configure --disable-libatomic"
$_libitm || _bootstrap_configure="$_bootstrap_configure --disable-libitm"
$_libquadmath || _arch_configure="$_arch_configure --disable-libquadmath"
if ! $_libquadmath; then
_arch_configure="$_arch_configure --disable-libquadmath"
# ppc64le needs both --disable-libquadmath{,-support}
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116007
[ "$CARCH" = "ppc64le" ] &&
_arch_configure="$_arch_configure
--disable-libquadmath-support"
fi
msg "Building the following:"
echo ""
@@ -793,9 +801,9 @@ gdb() {
}
sha512sums="
2d1e0374ebdee526f0549319fc9c364968c52a0d4aaa16759f00453cb083fe58d8f463c47d97f3bb74a0a92e251989eb75a50ee5800b4569978c72d25446b44e gcc-13-20240309.tar.xz
932bdef0cda94bacedf452ab17f103c0cb511ff2cec55e9112fc0328cbf1d803b42595728ea7b200e0a057c03e85626f937012e49a7515bc5dd256b2bf4bc396 gcc-14.2.0.tar.xz
1ecffba1b07d60e1b4422302b032bbea918b674c8e12b30aa6965b544d700ce86b61e9f7b8d402c6caf59257f491a394dd0912f0948565d6eae9335ee54f3b35 0001-posix_memalign.patch
163f282455b6a4df33f011bcd8b0440566ba0ffaeeab30d8ac52d39948980a56881ca0eff60687129d59556389a58b9d64e7768750bd70b1fe0fedbc9fc30dc2 0002-gcc-poison-system-directories.patch
1d102a7b17683909dde4d8591dd889149299e77a2b2003cdc0635dc816666be940e41ae534b469485391a9bed183cd5cd337f130e4e1ecb62cb9ad86c4a081db 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
@@ -806,7 +814,7 @@ sha512sums="
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
91dde3079c1400c124ab5604597f5857185d075809649603aa3641a4581b34029bfcbd4281a5bd925d1c5e6e3b1f5f3322efda34345c6930652d685a6c9525f4 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
@@ -816,10 +824,10 @@ b2c4921c5eef33ee43a92ab5ec7f09d5d3adb49a2416595001e6376ffdf652ef9d0dc21778c3a86e
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
abf845792433a21fed5dd06167b9f6cf5e8f8026a409acce93824e466c5148e192bf5f404a271931fe4b65283499329bf67bb01019f2f3e02501f20619404e6c 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
5fd23a506b55c88d4f000e01c539eb25d6da2516949c9d7a1c9ee20f4c6b627e4788541284d9c14c33bafa7cb43ce2e0469dd91006152f00e30815107150320f 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
@@ -828,6 +836,5 @@ d47b559075f40d526235f47b91da1d0cf6bfe6c5b7311bbfe08af9dd6e8f27e6c7cd82e3b2d529aa
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
d834f5f95f4ebe70ec0af0748c8632c99a4f57b69dc14db1a38becdfcb03406b32febf39f772f37bd145538147099fa7433edce845e14ee77cd8f38fd9774fc1 0037-loongarch-disable-multilib-support.patch
65df1d489e8d07a811f39e27fd29e3b2b4164fbc2c5fdc16a5142886d94a96e3fb28ccf4f20dd297ba6540ef8ea1ac3eb65a4279494639bf2f0f8376a3896cc3 0035-loongarch-disable-multilib-support.patch
"
@@ -150,13 +150,13 @@ 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 \
@@ -1177,6 +1187,8 @@ proper position among the other output files. */
"-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} \
+ %{Werror=poison-system-directories:--error-poison-system-directories} \
%{static|no-pie|static-pie:} %@{L*} %(mfwrap) %(link_libgcc) " \
%{static|no-pie|static-pie:} %@{L*} %(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
+45 -35
View File
@@ -9,23 +9,22 @@ Subject: [PATCH 13/35] nopie
2 files changed, 40 insertions(+)
diff --git a/gcc/configure b/gcc/configure
index 8c46369f73f..e59cbee1767 100755
index 23da7d55d..f38732bb2 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -32268,6 +32268,33 @@ fi
@@ -34534,6 +34534,29 @@ rm -f core conftest.err conftest.$ac_objext \
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_no_pie" >&5
$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
+# 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 :
+if ${gcc_cv_nopie+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ saved_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -nopie"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ LDFLAGS="$LDFLAGS -nopie"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int main(void) {return 0;}
+_ACEOF
@@ -36,40 +35,51 @@ index 8c46369f73f..e59cbee1767 100755
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$saved_LDFLAGS"
+ 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
if test x$enable_host_shared = xyes; then
PICFLAG=-fPIC
@@ -34551,6 +34574,8 @@ if test x$enable_host_pie = xyes; then
LD_PICFLAG=-pie
elif test x$gcc_cv_no_pie = xyes; then
LD_PICFLAG=-no-pie
+elif test x$gcc_cv_nopie = xyes; then
+ LD_PICFLAG=-nopie
else
LD_PICFLAG=
fi
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 5504bf6eb01..57268319de1 100644
index d7cf0b92c..db2e2c802 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -7552,6 +7552,19 @@ AC_CACHE_CHECK([for -no-pie option],
@@ -7781,6 +7781,15 @@ AC_CACHE_CHECK([for -no-pie option],
[gcc_cv_no_pie=yes],
[gcc_cv_no_pie=no])
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])
+# Check if -nopie works.
+AC_CACHE_CHECK([for -nopie option],
+ [gcc_cv_nopie],
+ [saved_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -nopie"
+ AC_LINK_IFELSE([AC_LANG_SOURCE([int main(void) {return 0;}])],
+ [gcc_cv_nopie=yes],
+ [gcc_cv_nopie=no])
+ LDFLAGS="$saved_LDFLAGS"])
if test x$enable_host_shared = xyes; then
PICFLAG=-fPIC
@@ -7798,6 +7807,8 @@ if test x$enable_host_pie = xyes; then
LD_PICFLAG=-pie
elif test x$gcc_cv_no_pie = xyes; then
LD_PICFLAG=-no-pie
+elif test x$gcc_cv_nopie = xyes; then
+ LD_PICFLAG=-nopie
else
LD_PICFLAG=
fi
--
2.41.0
@@ -46,10 +46,10 @@ 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
@@ -60,11 +60,3 @@ along with GCC; see the file COPYING3. If not see
%{rdynamic:-export-dynamic} \
-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}} \
%{static:-static} %{static-pie:-static -pie --no-dynamic-linker -z text}}"
-
-#define STARTFILE_PREFIX_SPEC \
- "/lib" XLEN_SPEC "/" ABI_SPEC "/ " \
@@ -41,6 +41,15 @@ index 96306f8cc9a..090b6770ae5 100644
LIBGNAT_TARGET_PAIRS = \
a-intnam.ads<libgnarl/a-intnam__linux.ads \
s-inmaop.adb<libgnarl/s-inmaop__posix.adb \
@@ -2311,7 +2311,7 @@ ifeq ($(strip $(filter-out aarch64% linux%,$(target_cpu) $(target_os))),)
s-intman.adb<libgnarl/s-intman__posix.adb \
s-linux.ads<libgnarl/s-linux.ads \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
s-mudido.adb<libgnarl/s-mudido__affinity.adb \
s-osinte.ads<libgnarl/s-osinte__linux.ads \
s-osinte.adb<libgnarl/s-osinte__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 \
@@ -0,0 +1,32 @@
From c4f484f465a32e796ae384aa3f90e79fa218b4e9 Mon Sep 17 00:00:00 2001
From: Jingyun Hua <huajingyun@loongson.cn>
Date: Mon, 7 Aug 2023 15:25:58 +0800
Subject: [PATCH] loongarch disable multilib support
Signed-off-by: Jingyun Hua <huajingyun@loongson.cn>
---
gcc/config/loongarch/t-linux | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/gcc/config/loongarch/t-linux b/gcc/config/loongarch/t-linux
index 23e1fb979..c2753abb8 100644
--- a/gcc/config/loongarch/t-linux
+++ b/gcc/config/loongarch/t-linux
@@ -21,11 +21,6 @@ MULTIOSDIR_lp64f := ../lib64/f32$(call if_multiarch,:loongarch64-linux-gnuf32)
MULTIOSDIR_lp64s := ../lib64/sf$(call if_multiarch,:loongarch64-linux-gnusf)
# Don't define MULTILIB_OSDIRNAMES if multilib is disabled.
-ifeq ($(filter LA_DISABLE_MULTILIB,$(tm_defines)),)
-
- MULTILIB_OSDIRNAMES = .=$(MULTIOSDIR_$(mlib_default))
- MULTILIB_OSDIRNAMES += mabi.lp64d=$(MULTIOSDIR_lp64d)
- MULTILIB_OSDIRNAMES += mabi.lp64f=$(MULTIOSDIR_lp64f)
- MULTILIB_OSDIRNAMES += mabi.lp64s=$(MULTIOSDIR_lp64s)
-
-endif
+ MULTILIB_OSDIRNAMES = mabi.lp64d=../lib
+ MULTILIB_OSDIRNAMES += mabi.lp64f=../lib
+ MULTILIB_OSDIRNAMES += mabi.lp64s=../lib
--
2.41.0
@@ -1,186 +0,0 @@
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
@@ -1,61 +0,0 @@
From c4f484f465a32e796ae384aa3f90e79fa218b4e9 Mon Sep 17 00:00:00 2001
From: Jingyun Hua <huajingyun@loongson.cn>
Date: Mon, 7 Aug 2023 15:25:58 +0800
Subject: [PATCH] loongarch disable multilib support
Signed-off-by: Jingyun Hua <huajingyun@loongson.cn>
---
gcc/config/loongarch/linux.h | 10 +---------
gcc/config/loongarch/t-linux | 18 +++---------------
3 files changed, 5 insertions(+), 25 deletions(-)
diff --git a/gcc/config/loongarch/linux.h b/gcc/config/loongarch/linux.h
index 9059d2441..23eaff0cc 100644
--- a/gcc/config/loongarch/linux.h
+++ b/gcc/config/loongarch/linux.h
@@ -22,15 +22,7 @@ along with GCC; see the file COPYING3. If not see
* can work in a multilib environment. */
#if defined(LA_DISABLE_MULTILIB) && defined(LA_DISABLE_MULTIARCH)
-
- #if DEFAULT_ABI_BASE == ABI_BASE_LP64D
- #define ABI_LIBDIR "lib64"
- #elif DEFAULT_ABI_BASE == ABI_BASE_LP64F
- #define ABI_LIBDIR "lib64/f32"
- #elif DEFAULT_ABI_BASE == ABI_BASE_LP64S
- #define ABI_LIBDIR "lib64/sf"
- #endif
-
+ #define ABI_LIBDIR "lib"
#endif
#ifndef ABI_LIBDIR
diff --git a/gcc/config/loongarch/t-linux b/gcc/config/loongarch/t-linux
index e40da1792..f72c6e878 100644
--- a/gcc/config/loongarch/t-linux
+++ b/gcc/config/loongarch/t-linux
@@ -36,18 +36,6 @@ else
endif
# Don't define MULTILIB_OSDIRNAMES if multilib is disabled.
-ifeq ($(filter LA_DISABLE_MULTILIB,$(tm_defines)),)
-
- MULTILIB_OSDIRNAMES = \
- mabi.lp64d=../lib64$\
- $(call if_multiarch,:loongarch64-linux-gnu)
-
- MULTILIB_OSDIRNAMES += \
- mabi.lp64f=../lib64/f32$\
- $(call if_multiarch,:loongarch64-linux-gnuf32)
-
- MULTILIB_OSDIRNAMES += \
- mabi.lp64s=../lib64/sf$\
- $(call if_multiarch,:loongarch64-linux-gnusf)
-
-endif
+ MULTILIB_OSDIRNAMES = mabi.lp64d=../lib
+ MULTILIB_OSDIRNAMES += mabi.lp64f=../lib
+ MULTILIB_OSDIRNAMES += mabi.lp64s=../lib
--
2.41.0
+21 -14
View File
@@ -24,7 +24,7 @@ CBUILDROOT="/"
_cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
pkgname=gcc-x86
pkgver=13.2.1_git20240309
pkgver=14.2.0
# i.e. 13.2.1, must match gcc/BASE-VER
_pkgbase="${pkgver%%_git*}"
# date component from snapshots
@@ -171,7 +171,7 @@ esac
# currently on x86, x86_64 and ia64
_libquadmath=$LANG_FORTRAN
case "$CTARGET_ARCH" in
x86 | x86_64 | ppc64le) _libquadmath=$LANG_FORTRAN ;;
x86 | x86_64) _libquadmath=$LANG_FORTRAN ;;
*) _libquadmath=false ;;
esac
@@ -241,7 +241,8 @@ makedepends="$makedepends_build $makedepends_host"
#
# PLEASE submit all patches to gcc to https://gitlab.alpinelinux.org/kaniini/alpine-gcc-patches,
# so that they can be properly tracked and easily rebased if needed.
source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${_pkgbase%%.*}-$_pkgsnap.tar.xz
#source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${_pkgbase%%.*}-$_pkgsnap.tar.xz
source="https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkgbase:-$pkgver}.tar.xz
0001-posix_memalign.patch
0002-gcc-poison-system-directories.patch
0003-specs-turn-on-Wl-z-now-by-default.patch
@@ -276,8 +277,7 @@ source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${
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
0037-loongarch-disable-multilib-support.patch
0035-loongarch-disable-multilib-support.patch
"
# secfixes:
@@ -285,7 +285,8 @@ source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${
# - CVE-2023-4039
# we build out-of-tree
_gccdir="$srcdir"/gcc-${_pkgbase%%.*}-$_pkgsnap
#_gccdir="$srcdir"/gcc-${_pkgbase%%.*}-$_pkgsnap
_gccdir="$srcdir"/gcc-${_pkgbase:-$pkgver}
_gcclibdir="/usr/lib/gcc/$CTARGET/${_pkgbase:-$pkgver}"
_gcclibexec="/usr/libexec/gcc/$CTARGET/${_pkgbase:-$pkgver}"
@@ -364,7 +365,14 @@ build() {
$_libgomp || _bootstrap_configure="$_bootstrap_configure --disable-libgomp"
$_libatomic || _bootstrap_configure="$_bootstrap_configure --disable-libatomic"
$_libitm || _bootstrap_configure="$_bootstrap_configure --disable-libitm"
$_libquadmath || _arch_configure="$_arch_configure --disable-libquadmath"
if ! $_libquadmath; then
_arch_configure="$_arch_configure --disable-libquadmath"
# ppc64le needs both --disable-libquadmath{,-support}
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116007
[ "$CARCH" = "ppc64le" ] &&
_arch_configure="$_arch_configure
--disable-libquadmath-support"
fi
msg "Building the following:"
echo ""
@@ -793,9 +801,9 @@ gdb() {
}
sha512sums="
2d1e0374ebdee526f0549319fc9c364968c52a0d4aaa16759f00453cb083fe58d8f463c47d97f3bb74a0a92e251989eb75a50ee5800b4569978c72d25446b44e gcc-13-20240309.tar.xz
932bdef0cda94bacedf452ab17f103c0cb511ff2cec55e9112fc0328cbf1d803b42595728ea7b200e0a057c03e85626f937012e49a7515bc5dd256b2bf4bc396 gcc-14.2.0.tar.xz
1ecffba1b07d60e1b4422302b032bbea918b674c8e12b30aa6965b544d700ce86b61e9f7b8d402c6caf59257f491a394dd0912f0948565d6eae9335ee54f3b35 0001-posix_memalign.patch
163f282455b6a4df33f011bcd8b0440566ba0ffaeeab30d8ac52d39948980a56881ca0eff60687129d59556389a58b9d64e7768750bd70b1fe0fedbc9fc30dc2 0002-gcc-poison-system-directories.patch
1d102a7b17683909dde4d8591dd889149299e77a2b2003cdc0635dc816666be940e41ae534b469485391a9bed183cd5cd337f130e4e1ecb62cb9ad86c4a081db 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
@@ -806,7 +814,7 @@ sha512sums="
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
91dde3079c1400c124ab5604597f5857185d075809649603aa3641a4581b34029bfcbd4281a5bd925d1c5e6e3b1f5f3322efda34345c6930652d685a6c9525f4 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
@@ -816,10 +824,10 @@ b2c4921c5eef33ee43a92ab5ec7f09d5d3adb49a2416595001e6376ffdf652ef9d0dc21778c3a86e
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
abf845792433a21fed5dd06167b9f6cf5e8f8026a409acce93824e466c5148e192bf5f404a271931fe4b65283499329bf67bb01019f2f3e02501f20619404e6c 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
5fd23a506b55c88d4f000e01c539eb25d6da2516949c9d7a1c9ee20f4c6b627e4788541284d9c14c33bafa7cb43ce2e0469dd91006152f00e30815107150320f 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
@@ -828,6 +836,5 @@ d47b559075f40d526235f47b91da1d0cf6bfe6c5b7311bbfe08af9dd6e8f27e6c7cd82e3b2d529aa
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
d834f5f95f4ebe70ec0af0748c8632c99a4f57b69dc14db1a38becdfcb03406b32febf39f772f37bd145538147099fa7433edce845e14ee77cd8f38fd9774fc1 0037-loongarch-disable-multilib-support.patch
65df1d489e8d07a811f39e27fd29e3b2b4164fbc2c5fdc16a5142886d94a96e3fb28ccf4f20dd297ba6540ef8ea1ac3eb65a4279494639bf2f0f8376a3896cc3 0035-loongarch-disable-multilib-support.patch
"
@@ -150,13 +150,13 @@ 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 \
@@ -1177,6 +1187,8 @@ proper position among the other output files. */
"-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} \
+ %{Werror=poison-system-directories:--error-poison-system-directories} \
%{static|no-pie|static-pie:} %@{L*} %(mfwrap) %(link_libgcc) " \
%{static|no-pie|static-pie:} %@{L*} %(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
+45 -35
View File
@@ -9,23 +9,22 @@ Subject: [PATCH 13/35] nopie
2 files changed, 40 insertions(+)
diff --git a/gcc/configure b/gcc/configure
index 8c46369f73f..e59cbee1767 100755
index 23da7d55d..f38732bb2 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -32268,6 +32268,33 @@ fi
@@ -34534,6 +34534,29 @@ rm -f core conftest.err conftest.$ac_objext \
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_no_pie" >&5
$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
+# 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 :
+if ${gcc_cv_nopie+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ saved_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -nopie"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ LDFLAGS="$LDFLAGS -nopie"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int main(void) {return 0;}
+_ACEOF
@@ -36,40 +35,51 @@ index 8c46369f73f..e59cbee1767 100755
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$saved_LDFLAGS"
+ 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
if test x$enable_host_shared = xyes; then
PICFLAG=-fPIC
@@ -34551,6 +34574,8 @@ if test x$enable_host_pie = xyes; then
LD_PICFLAG=-pie
elif test x$gcc_cv_no_pie = xyes; then
LD_PICFLAG=-no-pie
+elif test x$gcc_cv_nopie = xyes; then
+ LD_PICFLAG=-nopie
else
LD_PICFLAG=
fi
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 5504bf6eb01..57268319de1 100644
index d7cf0b92c..db2e2c802 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -7552,6 +7552,19 @@ AC_CACHE_CHECK([for -no-pie option],
@@ -7781,6 +7781,15 @@ AC_CACHE_CHECK([for -no-pie option],
[gcc_cv_no_pie=yes],
[gcc_cv_no_pie=no])
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])
+# Check if -nopie works.
+AC_CACHE_CHECK([for -nopie option],
+ [gcc_cv_nopie],
+ [saved_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -nopie"
+ AC_LINK_IFELSE([AC_LANG_SOURCE([int main(void) {return 0;}])],
+ [gcc_cv_nopie=yes],
+ [gcc_cv_nopie=no])
+ LDFLAGS="$saved_LDFLAGS"])
if test x$enable_host_shared = xyes; then
PICFLAG=-fPIC
@@ -7798,6 +7807,8 @@ if test x$enable_host_pie = xyes; then
LD_PICFLAG=-pie
elif test x$gcc_cv_no_pie = xyes; then
LD_PICFLAG=-no-pie
+elif test x$gcc_cv_nopie = xyes; then
+ LD_PICFLAG=-nopie
else
LD_PICFLAG=
fi
--
2.41.0
@@ -46,10 +46,10 @@ 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
@@ -60,11 +60,3 @@ along with GCC; see the file COPYING3. If not see
%{rdynamic:-export-dynamic} \
-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}} \
%{static:-static} %{static-pie:-static -pie --no-dynamic-linker -z text}}"
-
-#define STARTFILE_PREFIX_SPEC \
- "/lib" XLEN_SPEC "/" ABI_SPEC "/ " \
@@ -41,6 +41,15 @@ index 96306f8cc9a..090b6770ae5 100644
LIBGNAT_TARGET_PAIRS = \
a-intnam.ads<libgnarl/a-intnam__linux.ads \
s-inmaop.adb<libgnarl/s-inmaop__posix.adb \
@@ -2311,7 +2311,7 @@ ifeq ($(strip $(filter-out aarch64% linux%,$(target_cpu) $(target_os))),)
s-intman.adb<libgnarl/s-intman__posix.adb \
s-linux.ads<libgnarl/s-linux.ads \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
s-mudido.adb<libgnarl/s-mudido__affinity.adb \
s-osinte.ads<libgnarl/s-osinte__linux.ads \
s-osinte.adb<libgnarl/s-osinte__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 \
@@ -0,0 +1,32 @@
From c4f484f465a32e796ae384aa3f90e79fa218b4e9 Mon Sep 17 00:00:00 2001
From: Jingyun Hua <huajingyun@loongson.cn>
Date: Mon, 7 Aug 2023 15:25:58 +0800
Subject: [PATCH] loongarch disable multilib support
Signed-off-by: Jingyun Hua <huajingyun@loongson.cn>
---
gcc/config/loongarch/t-linux | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/gcc/config/loongarch/t-linux b/gcc/config/loongarch/t-linux
index 23e1fb979..c2753abb8 100644
--- a/gcc/config/loongarch/t-linux
+++ b/gcc/config/loongarch/t-linux
@@ -21,11 +21,6 @@ MULTIOSDIR_lp64f := ../lib64/f32$(call if_multiarch,:loongarch64-linux-gnuf32)
MULTIOSDIR_lp64s := ../lib64/sf$(call if_multiarch,:loongarch64-linux-gnusf)
# Don't define MULTILIB_OSDIRNAMES if multilib is disabled.
-ifeq ($(filter LA_DISABLE_MULTILIB,$(tm_defines)),)
-
- MULTILIB_OSDIRNAMES = .=$(MULTIOSDIR_$(mlib_default))
- MULTILIB_OSDIRNAMES += mabi.lp64d=$(MULTIOSDIR_lp64d)
- MULTILIB_OSDIRNAMES += mabi.lp64f=$(MULTIOSDIR_lp64f)
- MULTILIB_OSDIRNAMES += mabi.lp64s=$(MULTIOSDIR_lp64s)
-
-endif
+ MULTILIB_OSDIRNAMES = mabi.lp64d=../lib
+ MULTILIB_OSDIRNAMES += mabi.lp64f=../lib
+ MULTILIB_OSDIRNAMES += mabi.lp64s=../lib
--
2.41.0
@@ -1,186 +0,0 @@
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
@@ -1,61 +0,0 @@
From c4f484f465a32e796ae384aa3f90e79fa218b4e9 Mon Sep 17 00:00:00 2001
From: Jingyun Hua <huajingyun@loongson.cn>
Date: Mon, 7 Aug 2023 15:25:58 +0800
Subject: [PATCH] loongarch disable multilib support
Signed-off-by: Jingyun Hua <huajingyun@loongson.cn>
---
gcc/config/loongarch/linux.h | 10 +---------
gcc/config/loongarch/t-linux | 18 +++---------------
3 files changed, 5 insertions(+), 25 deletions(-)
diff --git a/gcc/config/loongarch/linux.h b/gcc/config/loongarch/linux.h
index 9059d2441..23eaff0cc 100644
--- a/gcc/config/loongarch/linux.h
+++ b/gcc/config/loongarch/linux.h
@@ -22,15 +22,7 @@ along with GCC; see the file COPYING3. If not see
* can work in a multilib environment. */
#if defined(LA_DISABLE_MULTILIB) && defined(LA_DISABLE_MULTIARCH)
-
- #if DEFAULT_ABI_BASE == ABI_BASE_LP64D
- #define ABI_LIBDIR "lib64"
- #elif DEFAULT_ABI_BASE == ABI_BASE_LP64F
- #define ABI_LIBDIR "lib64/f32"
- #elif DEFAULT_ABI_BASE == ABI_BASE_LP64S
- #define ABI_LIBDIR "lib64/sf"
- #endif
-
+ #define ABI_LIBDIR "lib"
#endif
#ifndef ABI_LIBDIR
diff --git a/gcc/config/loongarch/t-linux b/gcc/config/loongarch/t-linux
index e40da1792..f72c6e878 100644
--- a/gcc/config/loongarch/t-linux
+++ b/gcc/config/loongarch/t-linux
@@ -36,18 +36,6 @@ else
endif
# Don't define MULTILIB_OSDIRNAMES if multilib is disabled.
-ifeq ($(filter LA_DISABLE_MULTILIB,$(tm_defines)),)
-
- MULTILIB_OSDIRNAMES = \
- mabi.lp64d=../lib64$\
- $(call if_multiarch,:loongarch64-linux-gnu)
-
- MULTILIB_OSDIRNAMES += \
- mabi.lp64f=../lib64/f32$\
- $(call if_multiarch,:loongarch64-linux-gnuf32)
-
- MULTILIB_OSDIRNAMES += \
- mabi.lp64s=../lib64/sf$\
- $(call if_multiarch,:loongarch64-linux-gnusf)
-
-endif
+ MULTILIB_OSDIRNAMES = mabi.lp64d=../lib
+ MULTILIB_OSDIRNAMES += mabi.lp64f=../lib
+ MULTILIB_OSDIRNAMES += mabi.lp64s=../lib
--
2.41.0
+21 -14
View File
@@ -24,7 +24,7 @@ CBUILDROOT="/"
_cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
pkgname=gcc-x86_64
pkgver=13.2.1_git20240309
pkgver=14.2.0
# i.e. 13.2.1, must match gcc/BASE-VER
_pkgbase="${pkgver%%_git*}"
# date component from snapshots
@@ -171,7 +171,7 @@ esac
# currently on x86, x86_64 and ia64
_libquadmath=$LANG_FORTRAN
case "$CTARGET_ARCH" in
x86 | x86_64 | ppc64le) _libquadmath=$LANG_FORTRAN ;;
x86 | x86_64) _libquadmath=$LANG_FORTRAN ;;
*) _libquadmath=false ;;
esac
@@ -241,7 +241,8 @@ makedepends="$makedepends_build $makedepends_host"
#
# PLEASE submit all patches to gcc to https://gitlab.alpinelinux.org/kaniini/alpine-gcc-patches,
# so that they can be properly tracked and easily rebased if needed.
source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${_pkgbase%%.*}-$_pkgsnap.tar.xz
#source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${_pkgbase%%.*}-$_pkgsnap.tar.xz
source="https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkgbase:-$pkgver}.tar.xz
0001-posix_memalign.patch
0002-gcc-poison-system-directories.patch
0003-specs-turn-on-Wl-z-now-by-default.patch
@@ -276,8 +277,7 @@ source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${
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
0037-loongarch-disable-multilib-support.patch
0035-loongarch-disable-multilib-support.patch
"
# secfixes:
@@ -285,7 +285,8 @@ source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${
# - CVE-2023-4039
# we build out-of-tree
_gccdir="$srcdir"/gcc-${_pkgbase%%.*}-$_pkgsnap
#_gccdir="$srcdir"/gcc-${_pkgbase%%.*}-$_pkgsnap
_gccdir="$srcdir"/gcc-${_pkgbase:-$pkgver}
_gcclibdir="/usr/lib/gcc/$CTARGET/${_pkgbase:-$pkgver}"
_gcclibexec="/usr/libexec/gcc/$CTARGET/${_pkgbase:-$pkgver}"
@@ -364,7 +365,14 @@ build() {
$_libgomp || _bootstrap_configure="$_bootstrap_configure --disable-libgomp"
$_libatomic || _bootstrap_configure="$_bootstrap_configure --disable-libatomic"
$_libitm || _bootstrap_configure="$_bootstrap_configure --disable-libitm"
$_libquadmath || _arch_configure="$_arch_configure --disable-libquadmath"
if ! $_libquadmath; then
_arch_configure="$_arch_configure --disable-libquadmath"
# ppc64le needs both --disable-libquadmath{,-support}
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116007
[ "$CARCH" = "ppc64le" ] &&
_arch_configure="$_arch_configure
--disable-libquadmath-support"
fi
msg "Building the following:"
echo ""
@@ -793,9 +801,9 @@ gdb() {
}
sha512sums="
2d1e0374ebdee526f0549319fc9c364968c52a0d4aaa16759f00453cb083fe58d8f463c47d97f3bb74a0a92e251989eb75a50ee5800b4569978c72d25446b44e gcc-13-20240309.tar.xz
932bdef0cda94bacedf452ab17f103c0cb511ff2cec55e9112fc0328cbf1d803b42595728ea7b200e0a057c03e85626f937012e49a7515bc5dd256b2bf4bc396 gcc-14.2.0.tar.xz
1ecffba1b07d60e1b4422302b032bbea918b674c8e12b30aa6965b544d700ce86b61e9f7b8d402c6caf59257f491a394dd0912f0948565d6eae9335ee54f3b35 0001-posix_memalign.patch
163f282455b6a4df33f011bcd8b0440566ba0ffaeeab30d8ac52d39948980a56881ca0eff60687129d59556389a58b9d64e7768750bd70b1fe0fedbc9fc30dc2 0002-gcc-poison-system-directories.patch
1d102a7b17683909dde4d8591dd889149299e77a2b2003cdc0635dc816666be940e41ae534b469485391a9bed183cd5cd337f130e4e1ecb62cb9ad86c4a081db 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
@@ -806,7 +814,7 @@ sha512sums="
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
91dde3079c1400c124ab5604597f5857185d075809649603aa3641a4581b34029bfcbd4281a5bd925d1c5e6e3b1f5f3322efda34345c6930652d685a6c9525f4 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
@@ -816,10 +824,10 @@ b2c4921c5eef33ee43a92ab5ec7f09d5d3adb49a2416595001e6376ffdf652ef9d0dc21778c3a86e
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
abf845792433a21fed5dd06167b9f6cf5e8f8026a409acce93824e466c5148e192bf5f404a271931fe4b65283499329bf67bb01019f2f3e02501f20619404e6c 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
5fd23a506b55c88d4f000e01c539eb25d6da2516949c9d7a1c9ee20f4c6b627e4788541284d9c14c33bafa7cb43ce2e0469dd91006152f00e30815107150320f 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
@@ -828,6 +836,5 @@ d47b559075f40d526235f47b91da1d0cf6bfe6c5b7311bbfe08af9dd6e8f27e6c7cd82e3b2d529aa
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
d834f5f95f4ebe70ec0af0748c8632c99a4f57b69dc14db1a38becdfcb03406b32febf39f772f37bd145538147099fa7433edce845e14ee77cd8f38fd9774fc1 0037-loongarch-disable-multilib-support.patch
65df1d489e8d07a811f39e27fd29e3b2b4164fbc2c5fdc16a5142886d94a96e3fb28ccf4f20dd297ba6540ef8ea1ac3eb65a4279494639bf2f0f8376a3896cc3 0035-loongarch-disable-multilib-support.patch
"
+2 -2
View File
@@ -3,7 +3,7 @@
pkgname=grub-efi-x86
pkgver=2.12
pkgrel=3
pkgrel=6
_arch="x86"
_mirror="http://dl-4.alpinelinux.org/alpine/"
@@ -22,5 +22,5 @@ package() {
}
sha512sums="
4bd0750236a556ad833c27892a55624a324e8ec7cadb0b7287cabd3a9cdded836357ae959aea7ba828be8727b86c6ed4844a1572b68ad3ce3f3e6f913e43ae72 grub-efi-2.12-r3-x86-edge.apk
bad54187b4fbb9f78f2d619ff9a652a4927c557070c2c39334fd9900ae5aeb956144055602ca56295d7966c2d10090ef142a073dd67eb14f7b41ba0d54c78d4d grub-efi-2.12-r6-x86-edge.apk
"
+3 -3
View File
@@ -8,7 +8,7 @@ fi
pkgname=musl-aarch64
pkgver=1.2.5
pkgrel=0
pkgrel=1
arch="x86_64"
subpackages="musl-dev-aarch64:package_dev"
@@ -57,6 +57,6 @@ package_dev() {
}
sha512sums="
dddd12728842e84bf7d532901d9b9e26e2c8c86e25a3625329586c9088ec9b3825ce3e512c56b7e875b923905308b89494d31d7ca05ebda5485bd00de3954236 musl-1.2.5-r0-aarch64-edge.apk
061e68319d2069c211169d7f39b1da572a4c0ab56f8cfe5267c024921ea0e5f44ecc1cca6051bebaa9c83d067f0fd2cbc6b6b73d0e3075410eaf889a25cc82b4 musl-dev-1.2.5-r0-aarch64-edge.apk
5ad546aca584d77f6fcf7d92bc5e6432d8c32b3db2922a4099423649e674b5c149464bd0048021e50b18398a00382bbeb6a0a598148bea4fa6d783f5c4c4445d musl-1.2.5-r1-aarch64-edge.apk
b6fed1441c0eacfea0061967915a876ce0af79b83511d9b05ae7e7cf489d88e36a544fa7f7512f390429d7d0217b672c04a83dfceea603ce0e86d2a47c50f4cc musl-dev-1.2.5-r1-aarch64-edge.apk
"
+3 -3
View File
@@ -8,7 +8,7 @@ fi
pkgname=musl-armhf
pkgver=1.2.5
pkgrel=0
pkgrel=1
arch="x86_64"
subpackages="musl-dev-armhf:package_dev"
@@ -57,6 +57,6 @@ package_dev() {
}
sha512sums="
4d76f479017b6f666c36782183f3bdb3e58a48f7400cd125c129e380a8654cf99f685f8d3e97b51cb0199b59720a320e251dd9b89fe55ef8f542a043ab3e7355 musl-1.2.5-r0-armhf-edge.apk
7fa4e9ed4acb6292d46939a63e572eb92085e577bbfce75139a3ebef910434230fcbbb7a236efde7ad6d150d84e31c46edcfe835f4102cb9e68f062eb8488a1e musl-dev-1.2.5-r0-armhf-edge.apk
148883dfd80bb670df4c6a919aaf3334d203a87fac98df8046a920a2e4c1c3439347f5653abc2994e9a9fe2946764395cd83e2f2437ab903e37f8ad3fcc6637a musl-1.2.5-r1-armhf-edge.apk
052f4f3ff6974aadbe90c1a69c4b29a1fefc25d2f2f794b3d55ed49b79a94dab900592a65b3c80ae9824580eab4fb99cb2cfdf9399354e74a1804871d97774a0 musl-dev-1.2.5-r1-armhf-edge.apk
"
+3 -3
View File
@@ -8,7 +8,7 @@ fi
pkgname=musl-armv7
pkgver=1.2.5
pkgrel=0
pkgrel=1
arch="x86_64"
subpackages="musl-dev-armv7:package_dev"
@@ -57,6 +57,6 @@ package_dev() {
}
sha512sums="
74e482403f77b9d302a4bb0ad6b86a18e81b5be0eb987296a4b0033c996e474b86eac079abc52bd8f02723aa242ea2a74e61bbd0eee036fbf79a21ae250a6e04 musl-1.2.5-r0-armv7-edge.apk
02321d629aaa3712546b01645f1eb308f5e25e49bc3c2c42eff3a7cf84cd60327c6bc9818ebeb7d1d9556ddfaa2e132fdab0dc2142eec4df3a799e3402329c49 musl-dev-1.2.5-r0-armv7-edge.apk
f3da7602184940c3ca4ddc973fd127fe08eb5e9141cf4c22cf49ccf131ef836b7f697f20dc64c7e18661f88779354c8b93c14521d18fb2e83d10638c3c8ed7d5 musl-1.2.5-r1-armv7-edge.apk
b2678887dfc565691d92c1604137d984c5ce68f7c39c1ec2fd7200d4df4f818d4690c323f93b76ca1d4498a5dc36dff61959e06cc749099c706f85601d915d8e musl-dev-1.2.5-r1-armv7-edge.apk
"
+3 -3
View File
@@ -8,7 +8,7 @@ fi
pkgname=musl-riscv64
pkgver=1.2.5
pkgrel=0
pkgrel=1
arch="x86_64"
subpackages="musl-dev-riscv64:package_dev"
@@ -57,6 +57,6 @@ package_dev() {
}
sha512sums="
c11fb5eed8dab05504d88660a4750981a40020a1609b4ec4f9184cf7645283893e7cafc48da471012a4095699d371517cc9e09c0ec73fef4612280c95feebca2 musl-1.2.5-r0-riscv64-edge.apk
77eba42ed78e680419f838f47a9a9f17d42288259540b70792af23b22f85ba1d2f87958e7db77b11b43629d8593fa58a02902453ecb0a46dd7c33cfca750b820 musl-dev-1.2.5-r0-riscv64-edge.apk
822f24faaf2285174742788da0dceef3bada4dbd0db9f67362876b3c0ab6bc647a0f2f0cc70e2e28dbb90121f08b65640a344e7cae8416a84bfb389db32e7d9c musl-1.2.5-r1-riscv64-edge.apk
04ac4a81d713f71b68082767ce2afab3ce458730664c140f49a0b33f257666a6b4289c5b53935fe16345f8445a458e5307511773651c4574526cfaaf232c239a musl-dev-1.2.5-r1-riscv64-edge.apk
"
+3 -3
View File
@@ -8,7 +8,7 @@ fi
pkgname=musl-x86
pkgver=1.2.5
pkgrel=0
pkgrel=1
arch="x86_64"
subpackages="musl-dev-x86:package_dev"
@@ -57,6 +57,6 @@ package_dev() {
}
sha512sums="
7403427bbe6683739ce00c0396dc4bfa8fce2f3e4957d12bc6c31bfb1a60bafca9e7ba266d1ba7ca469ab3738874965cf25e8f3bd838c002b4e5aad702a79e18 musl-1.2.5-r0-x86-edge.apk
f5b0dfe7543bd7d1de3bfc8617c61fb7287227ea4dd9a722bfd4ec99e8a9405826973375a81a380b04bcba419c18e292cf60aaf1c9503eec3b420ed7adbacd68 musl-dev-1.2.5-r0-x86-edge.apk
53a30a57f0db29e8d73d7190590fce18a19bcd358f9b0f3d4fa0b8821dad4ed5f1065c3c07dbc373a23cbd98c9a9dc1c2c2d864ac88eefd53dc5f89d8e57ed67 musl-1.2.5-r1-x86-edge.apk
e9178fcfe27bdc7568c35889cff8cf20829f67460fd6dc22a6ca0465063a809081ee1267b4275432d23d1e7d457a4b207a0ff11c678233c4e430a1173d4ccea8 musl-dev-1.2.5-r1-x86-edge.apk
"
+3 -3
View File
@@ -8,7 +8,7 @@ fi
pkgname=musl-x86_64
pkgver=1.2.5
pkgrel=0
pkgrel=1
arch="aarch64"
subpackages="musl-dev-x86_64:package_dev"
@@ -57,6 +57,6 @@ package_dev() {
}
sha512sums="
8bb997e077850195621916ee0722be7e054086fa5c2907c7d290ee8892910c073e3aece13a2839589966987711f4af6b2f4bffdc6c45d636a24655ef9cbec101 musl-1.2.5-r0-x86_64-edge.apk
5d93191c3c9bf03b466dc169b57e519f0165c6551d117ae09538907c57a49f58afa3c9225aafc7a61625f224276eff4ee2dbe79d65cf684d03a46c24dd78aa4c musl-dev-1.2.5-r0-x86_64-edge.apk
5506970c66b6da294d32961e94cadc6926a7405915a3d4dd519ed8c2aae829f2fbfaab2ccc8d0794f4aa102aa3e8cbd62099aa54668a11ac0c5072f59befece6 musl-1.2.5-r1-x86_64-edge.apk
bd2602e59831ba860a548c8281bb62be3382b4035f18c9e36350be644db61a762a413e1d696697d402a57d4bc565faf86c2a212e27c9b9a890d765f794bbe829 musl-dev-1.2.5-r1-x86_64-edge.apk
"
@@ -0,0 +1,22 @@
From c6b821b1281f7ce2b54aad3b0b2acd0e29039c8f Mon Sep 17 00:00:00 2001
From: Stefan Hansson <newbyte@postmarketos.org>
Date: Mon, 6 May 2024 10:59:58 +0200
Subject: [PATCH] Fix lzma piggy
---
arch/arm/boot/compressed/piggy.lzma.S | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/compressed/piggy.lzma.S b/arch/arm/boot/compressed/piggy.lzma.S
index d7e69cffbc0..cfea81ae8f4 100644
--- a/arch/arm/boot/compressed/piggy.lzma.S
+++ b/arch/arm/boot/compressed/piggy.lzma.S
@@ -1,4 +1,4 @@
- .section .piggydata,#alloc
+ .section .piggydata, "a"
.globl input_data
input_data:
.incbin "arch/arm/boot/compressed/piggy.lzma"
--
2.45.0
@@ -0,0 +1,22 @@
From 6083916292864215fe4af6c0829186d5cc520f7f Mon Sep 17 00:00:00 2001
From: Stefan Hansson <newbyte@postmarketos.org>
Date: Mon, 6 May 2024 19:08:35 +0200
Subject: [PATCH] Fix lzo piggy
---
arch/arm/boot/compressed/piggy.lzo.S | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/compressed/piggy.lzo.S b/arch/arm/boot/compressed/piggy.lzo.S
index a425ad95..236976d8 100644
--- a/arch/arm/boot/compressed/piggy.lzo.S
+++ b/arch/arm/boot/compressed/piggy.lzo.S
@@ -1,4 +1,4 @@
- .section .piggydata,#alloc
+ .section .piggydata, "a"
.globl input_data
input_data:
.incbin "arch/arm/boot/compressed/piggy.lzo"
--
2.45.0
@@ -1,4 +1,4 @@
# Unmaintained: Downstream port, only for testing. Use mainline port (alcatel-idol347)!
# Archived: Downstream port, only for testing. Use mainline port (alcatel-idol347)!
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-alcatel-idol347-downstream
pkgdesc="Alcatel OneTouch Idol 3 (4.7) (Downstream)"
@@ -1,4 +1,4 @@
# Unmaintained: Downstream port, only for testing. Use mainline port (bq-paella)!
# Archived: Downstream port, only for testing. Use mainline port (bq-paella)!
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-bq-paella-downstream
pkgdesc="BQ Aquaris X5 (Downstream)"
@@ -1,4 +1,4 @@
# Unmaintained: Downstream port, only for testing. Use mainline port (htc-flounder)!
# Archived: Downstream port, only for testing. Use mainline port (htc-flounder)!
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-htc-flounder-downstream
pkgdesc="Google Nexus 9"
@@ -1,4 +1,4 @@
# Unmaintained: Downstream port, only for testing. Use mainline port (huawei-kiwi)!
# Archived: Downstream port, only for testing. Use mainline port (huawei-kiwi)!
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-huawei-kiwi-downstream
pkgdesc="Huawei Honor 5X (Downstream)"
@@ -1,4 +1,4 @@
# Unmaintained: Downstream port, maybe useful for EPDC performance improvement
# Archived: Downstream port, maybe useful for EPDC performance improvement
# needs special userspace to show up anything
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-kobo-clara-downstream
@@ -1,4 +1,4 @@
# Unmaintained: Downstream port, only for testing. Use mainline port (motorola-ocean)!
# Archived: Downstream port, only for testing. Use mainline port (motorola-ocean)!
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-motorola-ocean-downstream
pkgdesc="Motorola Moto G7 Power"
@@ -1,4 +1,4 @@
# Unmaintained: Downstream port, only for reference. Use mainline port (oneplus-cheeseburger)!
# Archived: Downstream port, only for reference. Use mainline port (oneplus-cheeseburger)!
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-oneplus-cheeseburger-downstream
pkgdesc="OnePlus 5 (Downstream)"
@@ -1,4 +1,4 @@
# Unmaintained: Downstream port, only for reference. Use mainline port (oneplus-dumpling)!
# Archived: Downstream port, only for reference. Use mainline port (oneplus-dumpling)!
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-oneplus-dumpling-downstream
pkgdesc="OnePlus 5T (Downstream)"
@@ -1,4 +1,4 @@
# Unmaintained: Downstream port, only for testing. Use mainline port (samsung-a5lte)!
# Archived: Downstream port, only for testing. Use mainline port (samsung-a5lte)!
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-samsung-a5lte-downstream
pkgdesc="Samsung Galaxy A5 (SM-A500F)"
@@ -1,4 +1,4 @@
# Unmaintained: Downstream port, only for testing. Use mainline port (samsung-a5ulte)!
# Archived: Downstream port, only for testing. Use mainline port (samsung-a5ulte)!
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-samsung-a5ulte-downstream
pkgdesc="Samsung Galaxy A5 (SM-A500FU)"
@@ -1,17 +1,17 @@
# Unmaintained: Downstream port, only for testing. Use mainline port (samsung-coreprimevelte)!
# This kernel is used only for bringing up new features, thus unmaintained
# Archived: Downstream port, only for testing. Use mainline port (samsung-coreprimevelte)!
# This kernel is used only for bringing up new features, thus archived
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-samsung-coreprimevelte-downstream
pkgdesc="Samsung Galaxy Core Prime VE LTE downstream"
pkgver=1
pkgrel=0
pkgrel=3
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
depends="mkbootimg linux-samsung-coreprimevelte-downstream postmarketos-base pxa-mkbootimg u-boot-tools"
depends="mkbootimg linux-samsung-coreprimevelte-downstream postmarketos-base postmarketos-initramfs-minimal pxa-mkbootimg u-boot-tools"
makedepends="devicepkg-dev"
subpackages="$pkgname-nonfree-firmware:nonfree_firmware"
_pmb_recommends="firmware-samsung-pxa1908-downstream"
source="deviceinfo 90-coreprimevelte.conf"
build() {
@@ -23,12 +23,6 @@ package() {
install -Dm444 $startdir/90-coreprimevelte.conf $pkgdir/etc/sysctl.d/90-coreprimevelte.conf
}
nonfree_firmware() {
pkgdesc="Wi-Fi firmware"
depends="firmware-samsung-pxa1908"
mkdir "$subpkgdir"
}
sha512sums="
741f46736c2742d4a6f118a924eee89954fb14e5b1dc00f372bda41b63ec975cf960909f915fcb31ad965f136a712905bc8626cd7e530f40e110885f7c861790 deviceinfo
4854cc57b86e1199dbc165110514e672dabf45044fe9f7ebbde5b2b24768fb5497273b5f38612cf2dfeffc9bf0648c725114b4fa01165bf7fb02f7d741ee5806 90-coreprimevelte.conf
@@ -1,4 +1,4 @@
# Unmaintained: Downstream port, only for testing. Use mainline port (samsung-espresso10/samsung-espresso7)!
# Archived: Downstream port, only for testing. Use mainline port (samsung-espresso10/samsung-espresso7)!
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-samsung-espresso10-downstream
pkgdesc="Samsung Galaxy Tab 2 (10.1 inch)"
@@ -1,4 +1,4 @@
# Unmaintained: Downstream port
# Archived: Downstream port
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-samsung-expressatt-downstream
pkgdesc="Samsung Galaxy Express SGH-I437"
Loaded 100 of 1389 files, more files were not shown because too many files have changed in this diff. Show more