Compare commits

...
547 Commits
Author SHA1 Message Date
Oliver Smith 7e7224f4c1 main/postmarketos-base-ui: show EOL message 2023-07-10 08:23:46 +02:00
Oliver Smith 895e7b9243 main/postmarketos-upgrade-gtk3: new aport 2023-07-10 08:23:40 +02:00
Oliver Smith d4c9d4ee7b main/postmarketos-release-upgrade: upgrade to 1.4.0 (MR 4163)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 6dee0fe989)
2023-06-07 12:34:59 +02:00
Oliver Smith a97633d3b6 cross/musl-*: upgrade to 1.2.3-r5 2023-05-22 09:01:59 +02:00
Joel Selvaraj 09a254cef5 community/linux-postmarketos-qcom-sdm845: upgrade to 6.3.2 (MR 4079)
[ci:skip-build]: Already built successfully in CI
2023-05-16 09:34:28 +02:00
Oliver Smith 4603073188 main/mobile-config-firefox: upgrade to 4.0.1 (MR 4017)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 102e0a57f1)
2023-04-18 19:52:21 +02:00
Oliver Smith bb6b5a3c65 main/postmarketos-base: bump to v22.12.2 (MR 4001)
[ci:skip-vercheck]: some packages don't have -r0 intentionally
[ci:skip-build]: will not finish in time, I will build it locally
		 before merge
2023-04-10 16:53:22 +02:00
Oliver Smith bab8b148c3 temp/phosh-mobile-settings: upgrade to 0.26.0 (MR 4001) 2023-04-10 16:53:22 +02:00
Oliver Smith 0ccf10be48 temp/phosh: upgrade to 0.26.0 (MR 4001) 2023-04-10 16:53:22 +02:00
Oliver Smith a4601656df temp/phoc: upgrade to 0.26.0 (MR 4001) 2023-04-10 16:53:22 +02:00
Oliver Smith b76ae0db5b temp/tuba: fork from Alpine (MR 4001) 2023-04-10 16:53:22 +02:00
Oliver Smith d9ab765da2 main/mobile-config-firefox: upgrade to 4.0.0 (MR 4000) (MR 4001)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 0f05f84507)
2023-04-10 16:53:22 +02:00
Oliver Smith 9ec55552d4 linux-postmarketos-qcom-sm6350: update waydroid opts (MR 3901) (MR 4001)
(cherry picked from commit d7ccebce2a)
2023-04-10 16:53:21 +02:00
Jan Jasper de Kroon bc6850abf5 linux-pine64-pinephonepro: upgrade to 6.2.7 (MR 3967) (MR 4001)
Signed-off-by: Jan Jasper de Kroon <jajadekroon@gmail.com>

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

(cherry picked from commit 507f1149ee)
2023-04-10 16:53:21 +02:00
Tom Fitzhenry 9567ed68e8 pine64-pinephonepro: fix dev_internal_storage (MR 3978) (MR 4001)
Change /dev/mmcblk0 to /dev/mmcblk2. Motivation: Fix ondev SD->eMMC
installation.

Related: https://gitlab.com/postmarketOS/postmarketos-ondev/-/issues/61
(cherry picked from commit 9b4b663a38)
2023-04-10 16:53:21 +02:00
Jan Jasper de Kroon b72e5f8dd4 device/community/linux-pine64-pinephonepro: upgrade to 6.2.2 (MR 3928) (MR 4001)
Kernel configuration addition:
Enabled the newly added Lazy RCU scheduler.

RCU_LAZY can help battery-powered systems like the PinePhone Pro in a few ways:

    1. Reduced CPU usage: Because RCU_LAZY allows readers to access shared data structures without acquiring locks or other synchronization primitives,
       it reduces the amount of CPU time that is required to manage synchronization. This can be particularly beneficial in battery-powered systems,
       where reducing CPU usage can extend battery life.

    2. Reduced memory usage: RCU_LAZY delays the creation of multiple versions of the shared data structure until they are actually needed.
       This reduces the amount of memory that is required to store these versions.
       In battery-powered systems, where memory usage can be a critical resource, this can help to conserve power.

    3. Reduced synchronization overhead: RCU_LAZY reduces the overhead of synchronization by delaying the creation of multiple versions of the shared data structure.
       This can reduce the amount of time that is spent acquiring and releasing locks or other synchronization primitives,
       which can help to conserve power in battery-powered systems.

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

(cherry picked from commit 01c47c5f3a)
2023-04-10 16:53:21 +02:00
Oliver Smith 2233382f74 linux-postmarketos-allwinner: update waydroid opts (MR 4001)
Enable:
* CONFIG_BPF_SYSCALL
* CONFIG_CGROUP_BPF

Disable:
* CONFIG_ANDROID_BINDER_IPC_SELFTEST

Same as MR 3901 and 3975, but done again on current kernel config on
v22.12 due to git conflicts.
2023-04-10 16:53:21 +02:00
Willow Barraco 017083de0b linux-postmarketos-allwinner: enable FSCACHE and NFS caching (MR 3979) (MR 4001)
See https://gitlab.com/postmarketOS/pmaports/-/issues/2034

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

(cherry picked from commit 7517c6cfad)
2023-04-10 16:53:21 +02:00
Seshan (seshpenguin) 4efc39dce7 linux-postmarketos-rockchip: enable kexec (MR 3999) (MR 4001)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 387043b5ce)
2023-04-10 16:53:21 +02:00
Clayton Craft e9e595f547 linux-postmarketos-rockchip: update waydroid opts (MR 3901) (MR 4001)
[ci:skip-build]: won't finish in time, I've verified that all of them
build (before rebasing again on master, but pretty sure it will build)

(cherry picked from commit 977d4b9d58)
2023-04-10 16:53:20 +02:00
Anton Bambura c0cf2530cf linux-postmarketos-rockchip: enable elan touchscreen for scarlet devices (MR 3903) (MR 4001)
(cherry picked from commit 45adf82081)
2023-04-10 16:53:20 +02:00
Kieran Bingham 687bb34612 community/linux-postmarketos-rockchip: Add ATH10K wireless support (MR 3899) (MR 4001)
The google-dru package provides the linux-postmarketos-rockchip as a
kernel and supports linux-firmware-ath10k linux-firmware-rockchip
packages as additional non-free firmware.

Enable the ATH10K kernel module in the kernel config
config-postmarketos-rockchip.aarch64 to enable wifi on devices such as
the Acer Chrometab 10.

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
[ci:skip-build]: already built successfully in CI
(cherry picked from commit de591be7d8)
2023-04-10 16:53:20 +02:00
Kieran Bingham 91c0010f89 community/linux-postmarketos-rockchip: Update install for packaging (MR 3899) (MR 4001)
Add the missing kernel.release file to support packaging and fix builds
with:

 `pmbootstrap build --envkernel linux-postmarketos-rockchip`

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
(cherry picked from commit 60821d3a09)
2023-04-10 16:53:20 +02:00
Furkan Sonkaya d7eae54a64 linux-postmarketos-qcom-msm8996: Re-Add TUSB320 and TYPEC flags (MR 3969) (MR 4001)
Must've been removed accidentally. It's causing usb port not to work.

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

(cherry picked from commit 3a6d9e5aa5)
2023-04-10 16:53:20 +02:00
Oliver Smith 1710ccc8e5 linux-postmarketos-qcom-msm8996: update waydroid opts (MR 3901) (MR 4001)
(cherry picked from commit 647c4233a3)
2023-04-10 16:53:20 +02:00
Yassine Oudjana 1009e1aacc community/linux-postmarketos-qcom-msm8996: upgrade to 6.1.14 (MR 3910) (MR 4001)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit e8519a8a91)
2023-04-10 16:53:20 +02:00
Oliver Smith ec32733b78 linux-postmarketos-omap: update waydroid opts (MR 3901) (MR 4001)
(cherry picked from commit cac809dc31)
2023-04-10 16:53:19 +02:00
Sicelo A. Mhlongo d8ed4d8ab2 linux-postmarketos-omap: support nokia n900 (MR 3956) (MR 4001)
- enable OMAP 3430 SoC features
- enable drivers for N900 peripherals

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

(cherry picked from commit 615d6f0ebe)
2023-04-10 16:53:19 +02:00
Sicelo A. Mhlongo 3dc9888af4 linux-postmarketos-omap: upgrade to 6.2.1 (MR 3911) (MR 4001)
- upgrade to 6.2.1
 - drop musb patch (not needed since linux mainline commit
     ffbe2feac59b37c8dc536727552b4f375e1b9aec)
 - enable LRU_GEN

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

(cherry picked from commit ab8767a08f)
2023-04-10 16:53:19 +02:00
Oliver Smith 3ed2d67fa7 linux-postmarketos-exynos4: update waydroid opts (MR 3901) (MR 4001)
(cherry picked from commit d5ed9e0350)
2023-04-10 16:53:19 +02:00
Oliver Smith 9a6f1c5605 linux-postmarketos-exynos4: mention pma#1990 (cosmetic) (MR 3929) (MR 4001)
Replace the large comment with a shorter one where the issue is getting
tracked.

(cherry picked from commit 3d84175a0f)
2023-04-10 16:53:19 +02:00
Oliver Smith 45a1bc668e linux-postmarketos-exynos4: add V=1 to build (MR 3914) (MR 4001)
Fix the build running silently, and running into the timeout for not
printing anything for a long time.

Related: https://builds.sr.ht/~postmarketos/job/948827#task-pmbootstrap_build-462
(cherry picked from commit c30dd812f2)
2023-04-10 16:53:19 +02:00
Affe Null 30d319b973 linux-postmarketos-exynos4: Add missing ea8061 panel driver (MR 3549) (MR 4001)
Add a driver for the Magnachip EA8061 panel found on some Samsung
Galaxy Note II devices. Split the device trees into two (one for devices
with the already supported S6EVR02 panel and one for the new EA8061
panel).

Note: I didn't write this driver myself. Just like the old S6EVR02
driver, it has been ported from https://github.com/fourkbomb/linux
to the latest mainline Linux version.

(cherry picked from commit d4b54d1249)
2023-04-10 16:53:19 +02:00
Newbyte 66ecfdb8ce linux-postmarketos-exynos4: upgrade to 6.1 (MR 3717) (MR 4001)
And also enable MGLRU.

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

(cherry picked from commit cce08f092a)
2023-04-10 16:53:18 +02:00
Oliver Smith a27349969b temp/millipixels: fork from Alpine (MR 4001) 2023-04-10 16:53:18 +02:00
Oliver Smith 242a192cc1 temp/libcamera: fork from Alpine (MR 4001) 2023-04-10 16:53:18 +02:00
Alistair Francis 6ed31b7088 purism-librem5: upgrade to librem5-base 58 (MR 3989) (MR 4001)
Update from librem5-bae 56 to 58, which includes the following changes
from Purism

  * default: gadget: Use CDC-NCM instead of CDC-ECM
  * defaults: Add an initramfs script to reencrypt LUKS rootfs
  * defaults: librem5-pm: Add rules for EM7565 and SIM7912G
  * defaults: pulse: Reduce fragment size to 22 ms
  * defaults: Switch USB PM timeouts back to 2s for devices and 0 for hub
  * defaults: Enable WiFi powersave with brcmfmac driver
  * defaults: usb_gadget: Run service as a dependency of UDC device unit
  * defaults: usb_gadget: Set Before= relation to network.target
  * defaults: librem5-pm: Enable NO_SUSPEND quirk and adjust PM properties
  * d/control: Bump Librem 5 kernel dependency to 6.1.19pureos1

Note, that this update doesn't fix the modem disapearing modem during
suspend. So we keep the current workarounds we have.

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

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

(cherry picked from commit 8c13dd3d7a)
2023-04-10 16:53:18 +02:00
Alistair Francis fcb007329b linux-purism-librem5: upgrade to 6.2.8 (MR 3986) (MR 4001)
Signed-off-by: Alistair Francis <alistair@alistair23.me>

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

(cherry picked from commit dfbf4f1c82)
2023-04-10 16:53:18 +02:00
Alistair Francis d9d7064cb4 linux-purism-librem5: upgrade to 6.2.6 (MR 3957) (MR 4001)
Signed-off-by: Alistair Francis <alistair@alistair23.me>

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

(cherry picked from commit 619bf897d4)
2023-04-10 16:53:18 +02:00
Alistair Francis 39beeb1634 linux-purism-librem5: upgrade to 6.2.2 (MR 3957) (MR 4001)
Signed-off-by: Alistair Francis <alistair@alistair23.me>
(cherry picked from commit adf423de58)
2023-04-10 16:53:17 +02:00
Clayton Craft 72ab9cccd8 purism-librem5: re-enable PM for the Sparklan module (MR 3921) (MR 4001)
According to Purism, PM on the Sparklan WiFi module works now with
recent kernels, the upstream bug referenced earlier (see diff) was
closed.

Note that this has no effect on the Redpine WiFi module, which is the
default module shipped with the L5.

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

(cherry picked from commit 4fc0f7eec6)
2023-04-10 16:53:17 +02:00
Clayton Craft d18734de87 device/purism-librem5: upgrade librem5-base to v56 (MR 3913) (MR 4001)
Includes changes that might improve modem stability (with resetting,
that is...), and some ucm tweaks.

Changelog from upstream:
https://source.puri.sm/Librem5/librem5-base/-/blob/1b154d93164ff0473654d5abbbd5e619392a9559/debian/changelog

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

(cherry picked from commit a5978b8561)
2023-04-10 16:53:17 +02:00
Alistair Francis 8fa7a06367 linux-purism-librem5: upgrade to 6.2.1 (MR 3916) (MR 4001)
Signed-off-by: Alistair Francis <alistair@alistair23.me>
[ci:skip-build]: already built successfully in CI
(cherry picked from commit 597eefcfcd)
2023-04-10 16:53:17 +02:00
Clayton Craft 1651db540a purism-librem5: add -camera subpackage (MR 3815) (MR 4001)
(cherry picked from commit d49b2087e5)
2023-04-10 16:53:17 +02:00
Clayton Craft d8a11027a8 purism-librem5: replace -phosh subpkg with -gnome (MR 3815) (MR 4001)
Installing wys and anything else on all gnome-related UIs is better than
just having a special case for phosh. Phosh should pull in
pmos-base-ui-gnome.

(cherry picked from commit a8450a53f2)
2023-04-10 16:53:17 +02:00
Oliver Smith b75bb6312b CI: kconfig: don't print unrelated warnings (MR 3961) (MR 4001)
Run the "pmbootstrap kconfig check" only on the kernels that have been
modified.

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

(cherry picked from commit cfb582cba0)
2023-04-10 16:53:16 +02:00
Oliver Smith 361c3e41e6 CI: adjust scripts to pass shellcheck (MR 3960) (MR 4001)
(cherry picked from commit eb37732514)
2023-04-10 16:53:16 +02:00
Oliver Smith dfde72a8e1 CI: remove arches not supported on stable (MR 4001) 2023-04-10 16:53:16 +02:00
Oliver Smith e42709359a CI: editor-config check: allow failure (MR 3900)
[ci:skip-build]: will not finish in time, I built it locally
[ci:skip-vercheck]: some packages don't have -r0 intentionally
2023-02-26 19:05:49 +01:00
Alistair Francis 303530aa85 device-purism-librem5: Disable modem power management (MR 3902) (MR 3900)
According to
https://source.puri.sm/Librem5/linux/-/issues/303#note_160864 enabling
the modem power management results in a unreliable modem, but more power
savings.

With power management on the modem can disconnect at any time,
including during calls. This makes the Librem 5 a very bad phone.
Instead let's ensure it works as a phone with a semi-reliable modem
(there is still the sleep/resume issue
https://source.puri.sm/Librem5/linux/-/issues/423) at the cost of
battery life.

As the Librem5's battery life is already poor, a little bit worse
isn't much different. Either way you need an external battery pack.

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

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

(cherry picked from commit e1efe18136)
2023-02-26 19:05:49 +01:00
Oliver Smith e791237f90 linux-purism-librem5: add Clayton's rebase comment (MR 3896) (MR 3900)
Taken from here:
https://gitlab.com/postmarketOS/pmaports/-/merge_requests/3896#note_1287206744

[ci:skip-build]: already built successfully in CI (without this cosmetic
		 comment, but it shouldn't change anything.)
[ci:skip-vercheck]: this patch just modifies comments

(cherry picked from commit 92efdacfbf)
2023-02-26 19:05:49 +01:00
Newbyte 308f407aee linux-purism-librem5: upgrade to 6.2.0 (MR 3896) (MR 3900)
I unset CONFIG_ARM64_PTR_AUTH_KERNEL because the i.MX 8 CPU in the
Librem 5 doesn't support features from ARMv8.1-A and above anyway.
Same rationale applies to CONFIG_ARM64_TLB_RANGE being unset.

(cherry picked from commit 2affe723e2)
2023-02-26 19:05:49 +01:00
Oliver Smith 5b88456815 temp/feedbackd-device-themes: fork 0.0.3 from alpine edge (MR 3900) 2023-02-26 19:05:49 +01:00
Oliver Smith 5b7ddf10b1 temp/feedbackd: fork 0.0.3 from alpine edge (MR 3900) 2023-02-26 19:05:49 +01:00
Jan Jasper de Kroon 29675ca3d3 device/community/linux-pine64-pinephonepro: upgrade to 6.1.10 (MR 3817) (MR 3900)
- Commit upstreamed: usb: dwc3: Save desired_dr_role on stack during set_mode processing

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

(cherry picked from commit a07e4621e8)
2023-02-26 19:05:49 +01:00
Jan Jasper de Kroon 651bca989d device/community/linux-pine64-pinephonepro: Switch to CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL (MR 3719) (MR 3900)
Schedutil is a CPU scheduler that is designed to be more efficient than other schedulers, such as the conservative scheduler, in terms of energy consumption.
This is because schedutil uses information about the utilization of individual CPU cores to make more intelligent decisions about when and how to scale the frequency of the CPU.
This can help to reduce the overall power consumption of the device, which can be particularly beneficial for battery-powered devices.
Additionally, schedutil can also help to improve the overall performance of the device by ensuring that the CPU is able to operate at its maximum frequency when needed.

In my personal testing I haven't seen any noticable impact on power consumption, while the performance does certainly noticeably increase

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

(cherry picked from commit 433e4155f1)
2023-02-26 19:05:48 +01:00
Oliver Smith dbe34a0fac temp/phosh-mobile-settings: fork 0.24.1 from alpine edge (MR 3900) 2023-02-26 19:05:48 +01:00
Oliver Smith e803584966 main/postmarketos-base: bump to v22.12.1 (MR 3900)
[ci:skip-build]: will not finish in time, I built it locally
[ci:skip-vercheck]: some packages don't have -r0 intentionally
2023-02-26 19:05:48 +01:00
Oliver Smith 075bca4280 temp/phosh: fork 0.24.0 from alpine edge (MR 3900) 2023-02-26 19:05:48 +01:00
Oliver Smith 1a8db72889 temp/phoc: fork 0.24.0 from alpine edge (MR 3900) 2023-02-26 19:05:48 +01:00
Raymond Hackley 911d963f9a samsung-grandmax: move to community (MR 3696) (MR 3900)
Like samsung-e7, samsung-grandmax works quite well. Move it to community.

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

(cherry picked from commit ecc98c26de)
2023-02-26 19:05:48 +01:00
Newbyte e5901ec93d linux-purism-librem5: upgrade to 6.1.12 (MR 3888) (MR 3900)
Includes more power management fixes.

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

(cherry picked from commit 8496464c47)
2023-02-26 19:05:48 +01:00
Newbyte 440b7845bb linux-purism-librem5: disable CONFIG_LOGO (MR 3881) (MR 3900)
This gets rid of the Tux army on bootup. While it hurts my soul,
removing Tux from bootup makes it less flickery.

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

(cherry picked from commit 624a384a9f)
2023-02-26 19:05:48 +01:00
Newbyte a12be158ea linux-purism-librem5: update url (MR 3859) (MR 3900)
Repository was moved.

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

(cherry picked from commit 3a50065ed8)
2023-02-26 19:05:48 +01:00
Newbyte 025e3e5fb7 linux-purism-librem5: upgrade to 6.1.10 (MR 3859) (MR 3900)
(cherry picked from commit 279c363323)
2023-02-26 19:05:47 +01:00
Newbyte 40be9410d6 linux-purism-librem5: add myself as co-maintainer (MR 3850) (MR 3900)
(cherry picked from commit 518101fc2f)
2023-02-26 19:05:47 +01:00
Newbyte 2f633ce87e linux-purism-librem5: enable MGLRU (MR 3850) (MR 3900)
See https://gitlab.com/postmarketOS/pmaports/-/issues/1918

(cherry picked from commit 678fdf53d2)
2023-02-26 19:05:47 +01:00
Alistair Francis 622c91598f linux-purism-librem5: upgrade to 6.1.8pureos1 (MR 3832) (MR 3900)
Signed-off-by: Alistair Francis <alistair@alistair23.me>
[ci:skip-build]: already built successfully in CI
(cherry picked from commit e6f1fe7e73)
2023-02-26 19:05:47 +01:00
Alistair Francis e688964dd4 linux-purism-librem5: upgrade to 6.1.4pureos1 (MR 3809) (MR 3900)
Signed-off-by: Alistair Francis <alistair@alistair23.me>

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

(cherry picked from commit 1993e0cc24)
2023-02-26 19:05:47 +01:00
Newbyte d7ab5888f5 device-purism-librem5: don't specify cma size in U-Boot bootargs (MR 3889) (MR 3900)
This allows the back camera to work reliably for me as the CMA size then
grows to what's specified in the kernel configuration which is slightly
larger (320 MiB).

Closes https://gitlab.com/postmarketOS/pmaports/-/issues/1947

See https://source.puri.sm/Librem5/millipixels/-/issues/65

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

(cherry picked from commit c3540b4678)
2023-02-26 19:05:47 +01:00
Newbyte b07f8cbf93 device-purism-librem5: add myself as co-maintainer (MR 3850) (MR 3900)
(cherry picked from commit ac917294cc)
2023-02-26 19:05:47 +01:00
Clayton Craft 83dce068cf purism-librem5: disable power management for Sparklan/brcmfmac wifi (MR 3793) (MR 3900)
This wifi module doesn't ship with the L5, but I have one because it's
generally more stable than the redpine thing that does ship with the
L5... however there's a known problem with having PM enabled on it.

This adds a NM config option, that matches specifically on this
device/driver, to disable wifi. PM for the redpine should not be
affected by this config change.

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

(cherry picked from commit c3669975e9)
2023-02-26 19:05:47 +01:00
Alistair Francis 63e169fb16 purism-librem5: add alistair23 as co-maintainer (MR 3705) (MR 3900)
Signed-off-by: Alistair Francis <alistair@alistair23.me>

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

(cherry picked from commit bb359dfc4f)
2023-02-26 19:05:47 +01:00
Clayton Craft c5603919e3 *-purism-librem5: remove Bhushan as co-maintainer (MR 3705) (MR 3900)
He is not actively maintaining this device in pmOS

(cherry picked from commit 280605a1f9)
2023-02-26 19:05:46 +01:00
Elagost 8329328701 postmarketos-base: replace sudo with cmd:sudo (MR 3721) (MR 3900)
[ci:skip-build] already built successfully in CI

(cherry picked from commit fd90572c61)
2023-02-26 19:05:46 +01:00
Arnavion 00599e1b49 device/main/linux-postmarketos-allwinner: enable CONFIG_ARM_SUN8I_A33_MBUS_DEVFREQ and devfreq governors (MR 3864) (MR 3900)
This enables the DRAM frequency stats driver that can be useful for debugging
issues with the PinePhone. This came up in a discussion in #pinephone on IRC
where megi was helping a pmos user with idle power draw issues.

This also enables the performance, powersave and userspace devfreq governors.

Ref: https://github.com/torvalds/linux/commit/8bfd4858b4bba8fec14e4296cbac71aa55260d60

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

(cherry picked from commit 025105c5a4)
2023-02-26 19:05:46 +01:00
Jan Jasper de Kroon 90eaee0460 device/main/linux-postmarketos-allwinner: upgrade to 6.1.9 (MR 3858) (MR 3900)
Also added: 0013-media-ov5640-Update-last-busy-timestamp-to-reset-aut.patch
This solves bug of taking greenish pictures with Megapixels, due to
sensor being shutdown to early after taking a picture.

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

(cherry picked from commit fecd1c038d)
2023-02-26 19:05:46 +01:00
Jan Jasper de Kroon 2b47059660 device/main/linux-postmarketos-allwinner: upgrade to 6.1.7 (MR 3816) (MR 3900)
[ci:skip-build]: Already built successfully in CI

(cherry picked from commit 52fd44825a)
2023-02-26 19:05:46 +01:00
Bobby The Builder e4892c9700 main/u-boot-pinephone: upgrade to v2023.01 (MR 3806) (MR 3900)
[ci:skip-build]: Already built successfully in CI

(cherry picked from commit c2d091a3a7)
2023-02-26 19:05:46 +01:00
Bobby The Builder 7daf121a82 temp/arm-trusted-firmware: upgrade to 2.8.0 (MR 3806) (MR 3900)
(cherry picked from commit 631d5eb418)
2023-02-26 19:05:46 +01:00
Bobby The Builder d3b63990da main/device-pine64-pinephone: U-Boot script update (MR 3806) (MR 3900)
Protect script when ram_freq is not set
   Safely load PSCI DTO to enable CPUidle driver: psci_idle
      The PSCI DTO shall only be applied if TF-A & Crust
      support CPU idle states [0]. Otherwise the CPU usage
      will be at 100%. This will not be visible in top,
      lead to overheating and battery drain.
      Worst case scenario would lead to a fried chip if
      the CPU thermal_zone does not work or is not enabled
      in DTS.

[0] https://gitlab.com/postmarketOS/pmaports/-/issues/1901#note_1238456920

(cherry picked from commit ae74e11664)
2023-02-26 19:05:46 +01:00
Luca Weiss 08844895e1 pine64-pinephone: Remove myself as maintainer (MR 3804) (MR 3900)
I have enough other devices to care about, and honestly haven't touched
my PinePhone in a while. Remove myself as Co-Maintainer from all
relevant packages.

[ci:skip-vercheck]: No rebuild necessary
[ci:skip-build]: Doesn't change resulting packages

(cherry picked from commit 31a651d0d7)
2023-02-26 19:05:40 +01:00
Anjandev Momi 56c817b951 main/sxmo-common: new bluetooth-pulse subpackage (MR 3763)
Add easy support for pulseaudio bluetooth like we have for pipewire
bluetooth.

Will update docs when this is merged.

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

(cherry picked from commit 41a8429257)
Note by ollieparanoid: set pkgver to 1.12.0, as that's what is currently
in v22.12. It was incorrectly at 1.11.0 before.
2023-02-13 08:38:09 +01:00
Anjandev Momi 388392ff40 soc-qcom-sdm845: supervise call audio workaround, add conf.d, and fix Sxmo audio (MR 3763)
(cherry picked from commit f1ef7e279b)
2023-02-13 08:38:09 +01:00
Michal Vasilek c63a9bda33 main/postmarketos-base-ui-gnome: add xdg-desktop-portal-gnome dep (MR 3863)
xdg-desktop-portal-gnome is needed for example for mime type associations.
Without it, the default gnome based shell installations couldn't detect which
mime types were provided by which applications, xdg-open and the
Default Applications tab in GNOME Control Center didn't work.

This dependency was missing from postmarketos-ui-phosh, so let's add it
and xdg-user-dirs to postmarketos-base-ui-gnome to make sure it's not repeated
in every gnome based UI.
2023-02-11 12:09:43 +01:00
Yassine Oudjana dae1595f1c xiaomi-scorpio: use absolute paths for GPU firmware files (MR 3837)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit af6cc1f110)
2023-02-02 11:08:37 +01:00
Alex 838ffb3c8f main/postmarketos-ui-sway: fix date FMT in status bar (MR 3811)
busybox date command does not seem to understand the
%l formatting character. Replace with the equivalent
%_I instead.

(cherry picked from commit 4bbd01460d)
2023-01-19 08:21:27 +01:00
Jan Jasper de Kroon 19615b79b0 device/main/linux-postmarketos-allwinner: upgrade to 6.1.3_git20230104 (MR 3781)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 314d1e58c3)
2023-01-15 21:24:39 +01:00
Cédric Bellegarde 7832b463a5 main/postmarketos-ui-phosh: clean up dconf overrides (MR 3775)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit fb119cc8e2)
2023-01-10 12:46:23 +01:00
Alistair Francis e712c0b947 linux-purism-librem5: upgrade to 6.1.1pureos1 (MR 3758)
Signed-off-by: Alistair Francis <alistair@alistair23.me>
[ci:skip-build]: already built successfully in CI
(cherry picked from commit 22e26ced4f)
2023-01-05 04:26:59 +01:00
Alistair Francis 8e4526c298 linux-purism-librem5: Add 166MHz to DDRC OPP table (MR 3754)
Backport the Purism patch from https://source.puri.sm/Librem5/linux/-/merge_requests/640

"With this patch, older revisions (2.0) should be able to switch between
166MHz and 800MHz as opposed to being stuck to 800MHz all the time, since
that was the only supported frequency in the OPP table."

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

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

(cherry picked from commit 9183be336b)
2023-01-05 04:26:46 +01:00
Oliver Smith 2d3f0db7f8 main/postmarketos-ui-plasma-desktop: move some deps to extra (MR 3756)
Move some dependencies from plasma-desktop to the -extras subpackage, so
they don't get installed by default:

* audiocd-kio (2 MiB): using a CD drive with postmarketOS seems to be a
  very rare combination
* kolourpaint (3 MiB): very basic image editor with featureset of MS
  paint, I don't think it's that useful in a default install. Users
  looking for an image editor may want to use e.g. krita instead and can
  install whatever they want to use after the default install is done.
* kwrite (20 MiB): another text editor, kate (3 MiB), is already getting
  installed by default
* okular (81 MiB): quite big, and pdfs can also be viewed in firefox
  which we install by default
* mesa-demos (50 MiB): rather big for just being some graphical demos

It's always a good idea to keep the install image small, but in this
instance the change was prompted because we currently hit a size limit
when generating install images. In particular, when generating the
v22.12 image for the pinebookpro. The process for generating install
images is not optimized for size (see bpo issue 116) and this should be
improved, but in the meantime let's just reduce the install size with
this patch on edge and backport it to v22.12 so building this image
doesn't fail anymore.

Sizes listed above are for aarch64 and include dependencies that get
removed together with removing the package.

(cherry picked from commit 3afcd215a7)
2022-12-29 17:42:33 +01:00
Oliver Smith 18ece5d863 main/postmarketos-release-upgrade: upgrade to 1.3.1 (MR 3750)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 7d673c4301)
2022-12-18 14:56:02 +01:00
Anjandev Momi 07739527af main/sxmo-common: allow switching between pipewire and pulseaudio (MR 3711)
Users can switch to pulseaudio with:
  doas apk add sxmo-audio-common-pulse

We can make the poco f1 device APKBUILD depend on
sxmo-common-audio-pulse. This allows you to install pulseaudio on Sxmo
which was the reason Joel said the poco f1 was having issues with call
audio: https://gitlab.com/postmarketOS/pmaports/-/issues/1821

After installing pulseaudio with this patch, the other side still
cannot hear me. I am posting this work so that others can just run
pulseaudio on sxmo and find out what's causing this bug.

Note by ollieparanoid: while it doesn't fix the bug completely, it seems
it's required to make calling work again, something we definitively want
to have in v22.12 so I'm merging this now. Also the sxmo-utils patch was
merged to sxmo-utils upstream, but isn't in alpine yet. Adding this
package (previous patch) temporarily makes sense.

Co-developed-by: Oliver Smith <ollieparanoid@postmarketos.org>
[ci:skip-vercheck]: pkg forked from alpine has pkgrel > 0
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 8c466207dd)
2022-12-18 14:37:06 +01:00
Anjandev Momi eee453a0ab temp/sxmo-utils: patch to support pulseaudio (MR 3711)
This package is just forked from alpine upstream and patched to support
pulseaudio. This patch should be upstreamed to sxmo but posting here so
that others can help me figure out why audio calls with poco f1 and Sxmo
are broken:

https://gitlab.com/postmarketOS/pmaports/-/issues/1821
(cherry picked from commit 3ff8cfa528)
2022-12-18 14:36:56 +01:00
Jan Jasper de Kroon 0fd90ca441 device/main/linux-postmarketos-allwinner: Switch to CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL (MR 3720)
Schedutil is a CPU scheduler that is designed to be more efficient than other schedulers, such as the conservative scheduler, in terms of energy consumption.
This is because schedutil uses information about the utilization of individual CPU cores to make more intelligent decisions about when and how to scale the frequency of the CPU.
This can help to reduce the overall power consumption of the device, which can be particularly beneficial for battery-powered devices.
Additionally, schedutil can also help to improve the overall performance of the device by ensuring that the CPU is able to operate at its maximum frequency when needed.

In my personal testing I haven't seen any noticable impact on power consumption, while the performance does certainly noticeably increase
Note: This is only a change in the aarch64 configuration as the armv7 configuration already used the schedutil scheduler as default.

[ci:skip-build]: Already built successfully in CI
2022-12-18 13:33:55 +01:00
Clayton Craft b42157b663 linux-purism-librem5: update to 6.1.0pureos1 (MR 3725)
Most of the config diff is from rebasing the kconfig in pmaports with
mainline + purism changes

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

(cherry picked from commit 1f2aab3a86)
2022-12-16 23:37:51 -08:00
Joel Selvaraj 1f46f2a7af community/linux-postmarketos-qcom-sdm845: upgrade to 6.1.0 (MR 3739)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 1191682ea6)
2022-12-16 11:00:25 +01:00
Oliver Smith c3fd504374 main/mobile-config-firefox: upgrade to 3.2.0 (MR 3729)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 16b24bb86f)
2022-12-14 21:19:05 +01:00
Mas Ahmad Muhammad aa664c2e0d lenovo-a6010: add panel-wingtech-qimei-ili9881 (MR 3574)
Signed-off-by: Mas Ahmad Muhammad (m.charly81@gmail.com)
2022-12-14 17:59:58 +01:00
Mas Ahmad Muhammad ffe73c53ff lenovo-a6000: add panel-wingtech-qimei-ili9881 (MR 3574)
Signed-off-by: Mas Ahmad Muhammad (m.charly81@gmail.com)
2022-12-14 17:59:58 +01:00
Jan Jasper de Kroon 2b1fc78f73 device/community/linux-pine64-pinephonepro: upgrade v6.1 (MR 3713)
Fix included in this build:
- Patch which sets GPIO pin for stk3311 as input
- ppp: don't reset 'display state of charge' (dsoc) to 0 on vbat low interrupt

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

(cherry picked from commit b86f80890e)
2022-12-14 10:14:53 +01:00
Minecrell 0d89e5ba2b community/linux-postmarketos-qcom-msm8916: upgrade to 6.1 (MR 3718)
- Update to Linux v6.1
- Initial support for MSM8905/MSM8909 and MSM8939 SoCs
- Various kernel configuration tweaks
  - Disabled support for system suspend since it provides little advantages
    at the moment and keeps causing trouble (device fails to wake up etc).

Device changes:
  - alcatel-idol347
    - Torch/indicator LEDs
  - samsung-a3 and a5
    - Vibrator
  - samsung-cprime and grandmax
    - Touchscreen
  - wingtech-wt865x8 (lenovo-a6000/a6010)
    - qimei-ili9881 panel driver
  - wingtech-wt88047 (xiaomi-wt88047)
    - Flash LED

New devices:
  - alcatel-idol3 (MSM8939)
    - eMMC, SD card, USB, Buttons, WiFi/BT, Vibrator
    - Display, Brightness control
    - Touchscreen
    - Sensors (Accelerometer, Magnetometer, Gyroscope, Proximity)
    - Sound/Modem
    - Battery/Charging
    - Torch/indicator LEDs
  - huawei-kiwi (MSM8939)
    - eMMC, SD card, USB, Buttons, WiFi/BT, Vibrator
    - Display, Brightness control
    - Touchscreen
    - Sensors (Accelerometer, Magnetometer, Proximity, Hall)
    - Sound
    - Indicator LEDs
  - longcheer-l9100 (bq-piccolo, MSM8939)
    - eMMC, SD card, USB, Buttons, WiFi/BT, Vibrator
    - Display, Brightness control
    - Touchscreen
    - Sensors (Accelerometer/Gyroscope/IMU, Magnetometer, Light, Hall)
    - Battery/Charging
    - Flash LED
  - samsung-a7 (MSM8939)
    - eMMC, SD card, USB, Buttons, WiFi/BT, Vibrator
    - Display (with some quirks)
    - Touchscreen, touch keys
    - Sensors (Accelerometer, Magnetometer, Hall)
    - Sound/Modem
    - Battery status
    - NFC
  - nokia-argon/leo/sparkler (MSM8905)
    - eMMC, SD card, USB, Keypad/Buttons, WiFi/BT, Vibrator (argon-only)
    - Display, Brightness control
    - Modem
    - Battery/Charging

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

(cherry picked from commit 9784f1b83f)
2022-12-13 21:23:24 -08:00
Mithil Bavishi 8b1aa56632 linux-postmarketos-omap: upgrade to 6.1 (MR 3716)
Update the omap kernel to stable 6.1 release. This commit also contains a patch that
fixes broken usb, which should only be needed for versions 5.19 to 6.1 as later
releases will have a proper fix merged.

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

(cherry picked from commit 32532c7530)
2022-12-13 09:45:16 +01:00
Martijn Braam cc3dc5f735 device/pine64-pinephone: increase lima timeout (MR 3070)
The lima timeout is increased to 2000ms to prevent an issue
where the screen starts flickering between 2 frames when the
CPU load is high.

For details see https://gitlab.com/postmarketOS/pmaports/-/issues/805

Cherry picking note: we already had this in v22.06 and not in edge,
since it's masking a bigger issue. applying the patch to v22.12 as well.

Related: issue 805
(cherry picked from commit 606c55ed3c)
2022-12-11 23:15:07 +01:00
Bobby The Builder 93e323beca pine64-pinephonepro: add --test-quick-suspend-resume to ModemManager (MR 3701)
Prevent losing the Modem after a resume

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

(cherry picked from commit 61c985a901)
2022-12-09 18:36:43 +01:00
Bobby The Builder 01cb2ade37 pine64-pinephonepro: enhance mic sensitivity (MR 3701)
(cherry picked from commit 575bbc458e)
2022-12-09 18:36:35 +01:00
Clayton Craft 59d4bc1451 purism-librem5: use gnss-share with geoclue (MR 3698)
This fixes gnss out of the box on the librem 5, by configuring geoclue
to use gnss-share as a nmea source.

I went this route, of overriding a .service file that invokes geoclue
with a command line option, because forking this .service file is much
nicer than forking geoclue.conf. The conf file will likely change over
time to add new app permissions or whatever, and it's unlikely
(hopefull!) that this .service file will change much upstream...

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

(cherry picked from commit 4c5c74bb8a)
2022-12-09 08:20:32 +01:00
Joel Selvaraj 665f7bc32b community/soc-qcom-sdm845: update alsa ucm conf (MR 3702)
Update ucm conf to latest commit. Fixes headphones volume too high issue.

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

(cherry picked from commit cba716d2ec)
2022-12-09 08:19:15 +01:00
Jan Jasper de Kroon 70838b3288 device/main/linux-postmarketos-allwinner: upgrade to 6.1.0_rc7_git20221205 (MR 3694)
Contains the following fix:
- don't reinitialize bluetooth on Pinephone during resume

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

(cherry picked from commit 1542dbfb9d)
2022-12-07 21:16:58 +01:00
Bobby The Builder 3834f83ded linux-pine64-pinephonepro: Enable on-boot USB network initialization (MR 3688)
CONFIG_USB_GADGET=y
   CONFIG_USB_DWC3_DUAL_ROLE=y
   CONFIG_USB_XHCI_HCD=y
   CONFIG_USB_XHCI_PLATFORM=y
   CONFIG_USB_DWC2=y
   remove un-necessary activated configs

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

(cherry picked from commit c7dc9e5fc3)
2022-12-07 20:56:04 +01:00
Sicelo A. Mhlongo 4d619d77b3 linux-nokia-n900: upgrade to lts 5.15.81 (MR 3692)
- Upgrade to linux 5.15.81
- Remove SPI driver for accelerometer to stop unnecessary dmesg output

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

(cherry picked from commit fcc93a83df)
2022-12-07 09:53:11 +01:00
Raymond Hackley 542c9863dc main/postmarketos-base: add regulator-haptic udev rules (MR 3691)
Add rules for regulator-haptic, which is used on:
- samsung-e5/e7
- samsung-cprime/gprime
- samsung-j3/j5(x)

Note that regulator-haptic is not supported on some devices yet,
and samsung-e5 is not ported at the moment.

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

(cherry picked from commit d6cb995b99)
2022-12-07 09:49:18 +01:00
Jan Jasper de Kroon fb71f8b3f4 device/community/linux-pine64-pinephonepro: Upgrade to 6.1-rc8 (MR 3685)
- Also enabled LRU_GEN by default like on the PinePhone OG
- Set Ext4 module to built-in as this currently is the main fs used for PPP.
Contains the following patch:
- pinephone pro: finished fix for LCD to make it refresh at precisely 60 Hz

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

(cherry picked from commit d8be6416d2)
2022-12-07 09:39:03 +01:00
Jacopo Mondi a280482ee3 device/pine64-pinephonepro: Build DW9714 lens module (MR 3677)
Add the CONFIG_DW9714 symbol to the PinephonePro defconfig.

The PinephonePro rear camera module uses the DW9714 VCM to drive the
lens, and a driver is required to successfully complete the media
graph probe sequence.

Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
(cherry picked from commit 9db5f1d9f6)
2022-12-07 09:38:47 +01:00
Oliver Smith 118ea3d970 main/postmarketos-release-upgrade: upgrade to 1.3.0 (MR 3690)
(cherry picked from commit 594304eb29)
2022-12-05 08:05:39 +01:00
Newbyte e9b3f0753d linux-postmarketos-exynos4: reduce boot image size (MR 3656)
Otherwise it doesn't fit the small kernel partition on some exynos4
devices (such as samsung-p4note).

Closes https://gitlab.com/postmarketOS/pmaports/-/issues/1785

[ci:skip-build]: Already built successfully in CI
2022-12-04 18:17:15 +01:00
Jan Jasper de Kroon 7572de7e4f device/main/linux-postmarketos-allwinner: Enabe LRU_GEN by default (MR 3686)
MGLRU seeks to address Linux's poor page reclamation behavior with this new high performance LRU implementation to over-commit memory.
MGLRU has shown to be beneficial in a variety of benchmarks especially on memory constrained systems.

Some benchmarks:
- https://www.phoronix.com/news/Linux-MGLRU-v9-Promising
- https://www.phoronix.com/news/MGLRU-Reaches-mm-stable

[ci:skip-build]: Already built successfully in CI
2022-12-03 12:10:07 +01:00
Luca Weiss 1c9c424fe6 community/firmware-fairphone-fp4: move from testing (MR 3687)
I missed moving this package when moving the device package to
community.

[ci:skip-vercheck]
2022-12-03 12:01:25 +01:00
Mithil Bavishi da715daa69 linux-postmarketos-omap: update config (MR 3653)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit b7fd6c90b0)
2022-12-02 08:53:05 +01:00
Mithil Bavishi f9e1e2019c device: New device samsung-espresso10
(cherry picked from commit 91035012b1)
2022-12-02 08:52:56 +01:00
Mithil Bavishi 800d251a9d device-samsung-espresso3g: Rename to espresso7
(cherry picked from commit c45c27008c)
2022-12-02 08:52:47 +01:00
Clayton Craft cc7fc720cc linux-purism-librem5: upgrade to 6.0.8 (MR 3684)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 4f712b5771)
2022-12-02 07:29:09 +01:00
Clayton Craft 1aeaad6eea purism-librem5: upgrade to latest ucm, fix udev rule installation (MR 3684)
Apparently upstream names udev rules with the .udev extension... which
doesn't work with udev (I guess debian has a helper for installing rules
and it renames them?). This adds the expected ".rules" extension to them
so that udev actually uses them.

This update also includes improved ucm config from Purism.

"Lockdown suppport" is also added here, which allows toggling off all of
the hks on the L5 to disable all radios, etc without breaking some
sensors. For more info, see 65ec7038 in librem5-base.

(cherry picked from commit 584337aa82)
2022-12-02 07:29:02 +01:00
Oliver Smith 0978619238 device/main/u-boot-librem5: fix build on gcc 12 (MR 3683)
Disable Werror and add -no-warn-rwx-segment to LDFLAGS of
arm-trusted-firmware to make it build with gcc 12, smilar to:
https://gitlab.alpinelinux.org/alpine/aports/-/commit/769f9666b663ba06dca63ddbff6eb1af458355f3

Related: https://builds.sr.ht/~postmarketos/job/894728#task-pmbootstrap_build-422

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

(cherry picked from commit 5e7faf1a09)
2022-12-01 09:30:29 -08:00
Clayton Craft f4030e5f61 purism-librem5: change default device tree (MR 3614)
Based on some new (to me...) info from Purism's Sebastian K, there are
apparently Evergreen devices that return different values for board rev,
so we shouldn't assume only r4 are Evergreen, and default to the r2 DT.

But many earlier devices (Birch, Chestnut, Dogwood) may or may not have
the board rev set either. Who knows! Defaulting to the Evergreen DT on
these devices is bad too, but there weren't many of those shipped (I
guess?), at least not compared to the number of Evergreens that aren't
properly identifiable in u-boot... so this using this DT by default is
the best of the two bad options we have.

This comment thread has more info:
https://gitlab.com/postmarketOS/pmaports/-/issues/1643#note_1147248594

fixes #1643

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

(cherry picked from commit 2ccd927e23)
2022-12-01 09:29:18 -08:00
Newbyte 62f19c7819 main/postmarketos-ui-sxmo-de-sway: don't install bonsai on aarch64 (MR 3682)
bonsai is only available on x86_64 on Alpine v3.17 as Hare is only is
available for x86_64 on that release of Alpine.

See
https://pkgs.alpinelinux.org/packages?name=hare&branch=v3.17&repo=&arch=&maintainer=
[ci:skip-build]: built successfully for x86_64, aarch64 had unrelated
error since the initial build isn't complete yet
2022-12-01 09:07:01 +01:00
Jan Jasper de Kroon 886ce1dcb5 device/main/linux-postmarketos-allwinner: Upgrade to 6.1-rc7 (MR 3678)
Kernel source updated to 6.1-rc7
Ext2 and Ext3 modules in aarch64 config disabled because Ext4 is backwards compatible.
2 fixes for PinePhone included in this source:
pinephone: fix power key behavior during suspend (avoid stuck key during resume)
pinephone keyboard: wait for 100ms after enabling power supply and before probing.

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

(cherry picked from commit ccc870dcf9)
2022-12-01 09:03:32 +01:00
Oliver Smith 83f14570d3 temp/arm-trusted-firmware: fix build on gcc 12 (MR 3681)
Apply the same fix as in Alpine:
https://gitlab.alpinelinux.org/alpine/aports/-/commit/769f9666b663ba06dca63ddbff6eb1af458355f3

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

(cherry picked from commit 3802b2cd40)
2022-11-30 09:55:14 +01:00
Oliver Smith 8e6335e940 temp/xf86-video-opentegra: remove
not used by any devices in v22.12. Issue to follow up on the build
failure: https://gitlab.com/postmarketOS/pmaports/-/issues/1810
2022-11-30 09:19:20 +01:00
Newbyte c5c69ef682 main/crust: fix build with GCC 12 (MR 3676)
Patch picked from https://github.com/crust-firmware/crust/pull/209

[ci:skip-build]: Already built successfully in CI
2022-11-29 00:00:30 +01:00
Joel Selvaraj 73ad02102d CI: shellcheck: include call_audio_idle_suspend_workaround script (MR 3639)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit eab0457e00)
2022-11-28 09:09:48 +01:00
Joel Selvaraj b3c9d41df0 community/device-oneplus-fajita: add q6voiced conf as it can make calls now (MR 3639)
Related dts and alsa ucm confs are merged in our tree.

(cherry picked from commit ba6c4be060)
2022-11-28 09:09:39 +01:00
Joel Selvaraj 1fd6c89339 community/device-oneplus-enchilada: update q6voiced conf to match kernel (MR 3639)
(cherry picked from commit 156d093bc5)
2022-11-28 09:09:31 +01:00
Joel Selvaraj c45caecadc community/soc-qcom-sdm845: update ucm confs and add call audio idle suspend workaround (MR 3639)
In SDM845, the q6voice kernel driver connects modem and audio backends.
Callaudiod seems to switch to correct audio device and prepares it, however, the audio
device get's closed since no one from the userspace is actively listening to it.
This cuts the audio in call. As a workaround, I have added to script to disable the
suspend-on-idle pulseaudio module during calls, so the audio devices don't close automatically.

(cherry picked from commit e95d28a6e7)
2022-11-28 09:09:23 +01:00
Alexander Martinz a5025a9229 community/linux-postmarketos-qcom-sdm845: upgrade to 6.1.0_rc4 (MR 3639)
Includes the following changes:
- rebase onto rc4
- squash a few changes which were marked to get squashed/fixups
- dropped "wcd934x: use .prepare and .shutdown instead of .trigger"
- OP6 audio device tree changes
- revert of a DSI DCS commit[1], which caused havoc in unprepare
  hooks of panel drivers

[1] - https://lore.kernel.org/linux-arm-msm/1892d0af-8aa4-dc03-887a-e44bb623b836@linaro.org/

Change-Id: I4790a278c0d35618ca824a036982769e66767ffd
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
(cherry picked from commit 8e5d58b8ad)
2022-11-28 09:09:13 +01:00
Oliver Smith b5928e58a5 cross/busybox-static-*: regen for alpine 3.17 2022-11-28 08:39:57 +01:00
Oliver Smith 415d8949a1 main/postmarketos-ui-framebufferphone: remove 2022-11-28 08:39:51 +01:00
Oliver Smith 307a81a6a1 main/postmarketos-ui-asteroid: remove 2022-11-28 08:39:47 +01:00
Oliver Smith 860b7b24f7 cross: remove unsupported arches for v22.12 2022-11-28 08:39:41 +01:00
Oliver Smith 47fbf94df6 device: remove testing and unmaintained 2022-11-28 08:39:22 +01:00
Oliver Smith 76b91b617a main/postmarketos-base: set version to v22.12 2022-11-28 08:38:41 +01:00
Oliver Smith 3fd150dd25 === Branch v22.12 from master ===
Related: https://wiki.postmarketos.org/wiki/Create_release_branch
2022-11-28 08:23:10 +01:00
Oliver Smith 50f178a8fd temp/mutter-mobile: fix dep mutter-mobile-schemas (MR 3672)
It should have depended on mutter-mobile-schemas instead of
mutter-mobile. Looks like mutter-mobile-schemas was getting installed
instead of mutter-mobile for it only by chance until now.

[ci:skip-build]: already built successfully in CI
2022-11-27 19:00:26 +01:00
Dylan Van Assche 1cbc021701 unmaintained/shift-axolotl-downstream: new device (MR 3637)
Downstream for kernel development, not for actual use.

Kernel defconfig taken from stock with:
- CONFIG_ANDROID_PARANOID_NETWORK unset
- CONFIG_DEVTMPFS set
- CONFIG_EXT4_FS_POSIX_ACL set
- CONFIG_LOCALVERSION set to "-downstream"
- CONFIG_SYSVIPC set
- CONFIG_USB_CONFIGFS_RNDIS set
- CONFIG_USER_NS set

Change-Id: I22bfd30dfc664dfaa2123c856b3662ddb37e760f
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
Signed-off-by: Dylan Van Assche <me@dylanvanassche.be>
[ci:skip-build]: already built successfully in CI
2022-11-27 18:56:37 +01:00
Anton Bambura de609bf946 CODEOWNERS: update owners of Tegra-related packages (MR 3671) 2022-11-27 18:41:19 +01:00
Oliver Smith c1b08d8c60 u-boot-pinephone: disable automatic upgrade (MR 3664)
Don't upgrade u-boot automatically anymore as it doesn't work reliably
and isn't necessary anymore. See the wiki article for details.

Related: https://wiki.postmarketos.org/wiki/PinePhone_U-Boot_Upgrade
2022-11-27 17:52:30 +01:00
Oliver Smith 1af1eafd23 CI: mark deviceinfo_usb_rndis_function as obsolete (MR 3669)
[ci:skip-build]: already built successfully in CI
2022-11-27 17:30:03 +01:00
Luca Weiss 9271ab80b6 device/*: rename deviceinfo_usb_rndis_function (MR 3669)
Use the new variable name as used in initfs
2022-11-27 17:29:55 +01:00
Luca Weiss f60539ea18 main/postmarketos-mkinitfs: rename usb_rndis_function variable (MR 3669)
The variable describes the configfs function name to use, no matter if
it's rndis, ncm, ecm or any other function. So change the name of the
variable, the string we write to the configuration file and some
comments.
2022-11-27 17:29:37 +01:00
Jan Jasper de Kroon a3ae92f0ff device/main/linux-postmarketos-allwinner: upgrade to 6.1-rc6 (MR 3666)
[ci:skip-build]: already built successfully in CI
2022-11-27 17:13:01 +01:00
Alexander Martinz 2f6a7c9f77 testing/tablet-x64uefi: reformat depends and bump pkgrel (MR 3663)
Change-Id: I015f35f3e1b7563e341183cc08afb924aa2ed80b
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
2022-11-26 14:45:52 +01:00
Alexander Martinz 21facd5cd5 testing/tablet-x64uefi: add libva subpackage (MR 3663)
Change-Id: I302321b7908ab7af989ca1e93f88eb575bbf2048
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
2022-11-26 14:45:52 +01:00
Alexander Martinz f8285416e1 testing/tablet-x64uefi: add vulkan subpackage (MR 3663)
Enable vulkan on supported hardware configurations
out of the box.

Change-Id: I6c8e1713e7c834aae3a162b8a681f5abde02ed5e
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
2022-11-26 14:45:51 +01:00
Anton Bambura 2163de2a5f linux-postmarketos-mediatek-mt8183: add kconfigcheck-community (MR 3667)
[ci:skip-build]: Already built successfully in CI
2022-11-26 14:22:03 +01:00
Anton Bambura 0109016e86 CODEOWNERS: update mt8183 packages owners (MR 3667) 2022-11-26 14:21:50 +01:00
Anton Bambura af5183e062 linux-postmarketos-mediatek-mt8183: add myself as a co-maintainer (MR 3667) 2022-11-26 14:21:49 +01:00
Sicelo A. Mhlongo e3154dd055 nokia-n900: use updated serial console name (MR 3662)
Since 00648d0282dcca1da453c0b20d27e24bf901a854, the correct serial console name
is ttySx instead of the older ttyOx. Reflect this in cmdline passed to kernel
via u-boot

[ci:skip-build]: already built successfully in CI
2022-11-23 09:07:39 +01:00
Alexander Martinz 5ce0b6ae4d main/postmarketos-ui-plasma-desktop: add various recommended packages (MR 3659)
Recommend installing:
  - fwupd
    - Receive firmware updates for supported hardware

The following packages are required to show device information at:
  - Settings -> About this System -> Show More Information

Devices
  - Firmware Security
    - aha
    - fwupd
  - PCI
    - pciutils

Graphics
  - OpenGL
    - mesa-demos
  - Vulkan
    - vulkan-tools
  - Wayland
    - wayland-utils
  - X-Server
    - xdpyinfo

Change-Id: I8a1eb484720f717f0504418f7c5c6af505b081b6
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
[ci:skip-build]: already built successfully in CI
2022-11-23 09:04:19 +01:00
Luca Weiss c960b3d941 raspberry-pi4: remove conflicting brcmfmac firmware link (MR 3636)
The file brcmfmac43455-sdio.raspberrypi,4-model-b.bin is now provided by
linux-firmware-brcm package in Alpine. Remove to symlink to stop the
file conflict.
2022-11-22 16:32:08 +01:00
Mithil Bavishi 9147bbd9bc linux-postmarketos-omap: update config (MR 3653) 2022-11-22 10:29:33 +01:00
uclydde ecb08a4388 motorola-ali: use mainline kernel and add firmware (MR 3569)
[ci:skip-build]: already built successfully in CI
2022-11-21 09:08:46 +01:00
Oliver Smith 245d41d7c5 CI scripts: fix typo in URL (MR 3655)
Note that the URLs in these scripts are not only for information, but
they are also used as marker by pmbootstrap so it knows these are
compatible with 'pmbootstrap ci'. I just fixed the typo in the
pmbootstrap code as well and made a new release, use pmbootstrap 1.50.0
or above to have it recognize these scripts with 'pmbootstrap ci' again.
2022-11-20 16:50:42 +01:00
Raymond Hackley e9e3295925 main/postmarketos-ui-kodi: Add armv7 (MR 3647)
flatbuffers should have been available on armv7,
since aports 0f3295fb0660f5caf59b8b2385f7c9305f1d57f0

[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
2022-11-20 16:22:44 +01:00
Minecrell 63373d18a5 unmaintained/linux-{alcatel,samsung-a5}*: fix checksums (MR 3654)
I renamed the repository so GitHub changed all the checksums. :(

[ci:skip-vercheck]: the source files are still exactly the same
[ci:skip-build]: Already built successfully in CI
2022-11-20 16:13:28 +01:00
Oliver Smith 03ee2e9bba cross/busybox-static-*: upgrade to 1.35.0-r29 2022-11-20 16:01:34 +01:00
Newbyte aacc9f48dd temp/mutter-mobile: remove zenity dependency (MR 3648)
mutter no longer depends on zenity as of version 43.alpha.

See https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2370
And https://gitlab.gnome.org/GNOME/mutter/-/blob/e331e38a191a36faaa5bb049157ab77f94fd7654/NEWS#L137

Alpine commit: https://gitlab.alpinelinux.org/alpine/aports/-/commit/80c64759d16d1161ba706f83fca4d7518ebc3302

[ci:skip-build]: already built successfully in CI
2022-11-20 15:54:57 +01:00
Luca Weiss 7553dc4011 qemu-riscv64: new device (MR 3571)
Support launching postmarketOS in QEMU on riscv64 architecture. It is
mostly copied from device-qemu-aarch64 with some riscv64-specific
modifications.

Currently UIs using Xorg like Mate, XFCE4 and LXQT work fine, Wayland
UIs like weston, plasma-mobile etc didn't work in my testing.

Also using "pmbootstrap qemu --tablet" is needed to make mouse input
work, the defaults don't seem to work at the moment.

[ci:skip-build]: already built successfully in CI
2022-11-20 15:22:22 +01:00
Svyatoslav Ryhel 3301dc90d8 device-lg-p895: add support for LG Optimus Vu (MR 3645)
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
[ci:skip-build]: already built successfully in CI
2022-11-20 15:19:06 +01:00
Svyatoslav Ryhel a7467afe2f firmware-lg-x3: add LG Optimus 4X HD and Vu firmwares (MR 3645)
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2022-11-20 15:18:56 +01:00
Svyatoslav Ryhel 4f72f9b96c linux-postmarketos-grate: upgrade to 6.0.6 stable (MR 3645)
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2022-11-20 15:18:47 +01:00
Luca Weiss e03c6469a7 fairphone-fp3: include touchscreen driver in initfs (MR 3651)
Now that touchscreen driver is supported in kernel, include the module
in initfs so it's available there.

[ci:skip-build]: Already built successfully in CI
2022-11-19 11:44:39 +01:00
Luca Weiss 96179b88df testing/linux-postmarketos-qcom-msm8953: support Moto G6 & FP3 touchscreen (MR 3651)
Upgrade to a newer 5.18.3 commit that adds this support, and enable the
relevant kconfig options.
2022-11-19 00:21:14 +01:00
Luca Weiss 502474cc3a main/*: rebuild against Python 3.10 (MR 3650) 2022-11-18 18:35:26 +01:00
Oliver Smith bbead6a9c6 main/postmarketos-android-recovery-installer: upgrade to 1.0.7 (MR 3646)
[ci:skip-build]: already built successfully in CI
2022-11-18 08:03:08 +01:00
Johannes Marbach b13fe4ece0 main/unl0kr: upgrade to 0.3.0 (MR 3641)
[ci:skip-build]: already built successfully in CI
2022-11-17 21:23:07 +01:00
Oliver Smith a1242ed35e CI: implement distfile-check as python test (MR 3608)
Reimplement the distfile-check as python test inside this git
repository, so we don't need to download a tarball of ci-common.git to
run it. This would not have been nice for running the test with
'pmbootstrap ci', as we don't want it to get downloaded every time the
test runs.

This new implementation is done in less than 40 lines of code, very fast
and doesn't need to create a lot of files in /tmp to build a
"distfiletree".
2022-11-17 19:10:56 +01:00
Oliver Smith 3c4080e8f5 CI: make test_unreferenced_files more generic (MR 3608)
Prepare to add a new test making use of the
parse_source_from_checksums() function in test_unreferenced_files.py by
extending the function to not only return the checksum file names, but
also the checksums. Also rename the file from test_unreferenced_files.py
to test_source.py.
2022-11-17 19:10:56 +01:00
Oliver Smith 6dbe4fdc31 CI: move_logs.sh: put in .ci/lib (MR 3608) 2022-11-17 19:10:56 +01:00
Oliver Smith 196abb1575 CI: kconfig adjust for 'pmbootstrap ci' (MR 3608) 2022-11-17 19:10:56 +01:00
Oliver Smith da52dace85 CI: adjust .ci/common.py users to pmbootstrap ci (MR 3608)
Adjust all CI scripts that make use of .ci/common.py to
'pmbootstrap ci'. Move all scripts that are not direct entry points to
running CI scripts to .ci/lib.

Comment out the dtb check, as it is failing. Apparently it didn't run
properly before. Let's fix this after this CI change is done.
2022-11-17 19:10:56 +01:00
Oliver Smith 8f78988b33 CI: editor-config: adjust for 'pmbootstrap ci' (MR 3608) 2022-11-17 19:10:56 +01:00
Oliver Smith c88cfa516f CI: shellcheck: adjust for 'pmbootstrap ci' (MR 3608)
Split out the grep for CHANGEME into a separate .ci/grep.sh script, as
it's not related to shellcheck and also there's another grep check that
I'll move there in a follow-up patch.
2022-11-17 19:10:56 +01:00
Oliver Smith 613aa1c68a CI: flake8: adjust for 'pmbootstrap ci' (MR 3608) 2022-11-17 19:10:56 +01:00
Oliver Smith a2f75963bf CI: wiki: adjust for 'pmbootstrap ci' (MR 3608)
Add a wrapper .ci/wiki.sh, that pmbootstrap ci can run and use it in
gitlab-ci.yml. Add a .ci/lib/gitlab_prepare_ci.sh script that makes a
user available with sudo, as expected by the pmbootstrap ci compatible
scripts. Set up binfmt_misc too while at it, it will be needed for
running pmbootstrap.

The next patches will adjust the rest of the CI scripts and move the old
scripts in the .ci/lib dir, so only the scripts that should be called
directly are in the .ci dir.

Related: https://postmarketos.org/pmb-ci
2022-11-17 19:10:56 +01:00
Oliver Smith 23790a3577 .ci/check_devices_in_wiki: remove <> around url (MR 3608)
I added this around all urls in the beginning of postmarketOS, but now I
think it makes it less readable and doesn't have a benefit.
2022-11-17 19:09:57 +01:00
Oliver Smith cb79ff57d3 cross/busybox-static-*: upgrade to 1.35.0-r28 2022-11-17 08:35:52 +01:00
Oliver Smith dadfca1fb8 pmaports.cfg: add supported_heimdall_depends
Add the new variable, similar to supported_fastboot_depends.

Related: https://lists.sr.ht/~postmarketos/pmbootstrap-devel/patches/36815
Related: https://wiki.postmarketos.org/wiki/Pmaports.cfg_reference
2022-11-16 08:45:07 +01:00
Dzmitry Sankouski c18d2da154 xiaomi-sagit: fix initramfs module list and blacklist ipa module (MR 3644)
Remove mainline postfix in initramfs module list,
because sagit has only 1 kernel for now.
Blacklisting ipa module fixes poweroff.
See 68cdc1ea2b commit for more info.

[ci:skip-build]: already built successfully in CI
2022-11-16 08:22:47 +01:00
Jakob Hauser 67b5dd49dd main/swclock-offset: move to its own repository (MR 3642)
To make "swclock-offset" available to other projects as well, it was
moved to its own repository.
2022-11-15 10:32:29 +01:00
Jami Kettunen fa69d91465 volla-yggdrasil: new device (Volla Phone) (MR 3319) 2022-11-14 19:44:54 +02:00
Jami Kettunen cf6b0ff530 linux-postmarketos-mediatek-mt6763: new aport (6.1_rc5) (MR 3319)
This is an early mainline port for the MediaTek MT6763 Helio P23 SoC
that just about boots in about 3 minutes with one core online, logs on
display (simplefb) or UART serial console and USB gadget mode
facilitating netbooting postmarketOS while tethered via RNDIS.
2022-11-14 19:44:54 +02:00
medsouz 59c3894c44 device/pine64-pinephonepro: Load Pinephone Pro devicetree with Grub (MR 3628)
Restores Pinephone Keyboard functionality
2022-11-14 09:38:27 -05:00
Newbyte 5230a69c3a temp/megapixels-purism: update url to point to millipixels repo (MR 3640)
Repository was moved.
2022-11-14 08:48:12 +01:00
Newbyte 4ee3b769fb main/postmarketos-ui-phosh: rename kgx to gnome-console (MR 3638)
kgx was renamed to gnome-console with the release of version 42.beta, so
let's reflect that in our Phosh UI package.

[ci:skip-vercheck]: pkgrel bump is not necessary when changing
recommends.
2022-11-14 08:41:45 +01:00
Asutosh Variar 7f12e90c18 apple-iphone6: new device (MR 3629)
[ci:skip-build]: already built successfully in CI
2022-11-14 08:03:23 +01:00
Mithil Bavishi 432c4991fd linux-postmarketos-omap: Add charger (SMB347) support for espresso10 (MR 3626)
[ci:skip-build]: already built successfully in CI
2022-11-13 20:16:20 +01:00
Jan Jasper de Kroon c7c7fbce18 pine64-pinephonepro: Clean up double handled modem udev-rules (MR 3635)
Same as with PinePhone, remove some udev rules already handled by eg25-manager udev.

[ci:skip-build]: already built successfully in CI
2022-11-12 13:05:38 +01:00
Jan Jasper de Kroon 955ac29f0d device/community/linux-pine64-pinephonepro: upgrade to 6.0.8 (MR 3599)
Upgrade PinePhone Pro kernel to rebased 6.0.8
Including 11 PinePhone Keyboard patches.

[ci:skip-build]: already built successfully in CI
2022-11-11 08:21:36 +01:00
Devin Lin 1c42df3769 main/postmarketos-ui-plasma-mobile: Sync configuration with upstream (MR 3634)
[ci:skip-build]: already built successfully in CI
2022-11-11 08:16:18 +01:00
alikates e38db6e4de main/postmarketos-mkinitfs: don't use uevent helper (MR 3351)
Instead of using the uevent helper binary, mdev daemon listens for kernel
events using the netlink interface. Then the requirement of enabling
UEVENT_HELPER for pmOS kernels can be dropped, as it's use is discouraged.

From CONFIG_UEVENT_HELPER kernel config help:

> This should not be used today, because usual systems create many events
> at bootup or device discovery in a very short time frame. One forked
> process per event can create so many processes that it creates a high
> system load, or on smaller systems it is known to create out-of-memory
> situations during bootup.

Support for running mdev as a daemon was added in 2019 with commit [1].

From that same commit:

> Adds the -d option to run mdev in daemon mode handling hotplug events
> from the kernel like udev. If the system generates many hotplug events
> this mode of operation will consume less resources than registering
> mdev as hotplug helper or using the uevent applet.

[1] https://git.busybox.net/busybox/commit/?id=498cec202adbf69a7a72af5e204260682d614183
[ci:skip-build]: already built successfully in CI
2022-11-11 08:11:19 +01:00
Johannes Marbach 0b523f354b main/unl0kr: upgrade to 0.2.0_git20221110 (MR 3633)
[ci:skip-build]: already built successfully in CI
2022-11-11 07:52:20 +01:00
Gareth Peoples c906b166b2 samsung-heatqlte: new device (Samsung Galaxy Ace 4) (MR 3620)
[ci:skip-build]: already built successfully in CI
2022-11-10 21:50:10 +01:00
Alexey Minnekhanov ad249d3b87 linux-postmarketos-qcom-msm8974: upgrade to 5.19.17 (MR 3625)
This contains a fix for second panel variant for samsung-hlte.

No more manual changes, .config was regenerated using kconfig migrate.

[ci:skip-build]: already built successfully in CI
2022-11-10 21:41:20 +01:00
exkc 4a43f241ee linux-postmarketos-allwinner: enable compiling sunxi-cir (MR 3609)
This gets IR RX working on Allwinner-based devices that have IR.

[ci:skip-build]: already built successfully in CI
2022-11-10 21:32:49 +01:00
Oliver Smith 1009f265d1 cross/musl-*: upgrade to 1.2.3-r4 2022-11-10 21:20:18 +01:00
Jan Jasper de Kroon 64e671aea3 Revert "device/pine64-pinephone: add recommended modem udev rules (MR 3235)" (MR 3632)
This reverts commit b62d7f6e7c.
These are already handled by 80-modem-eg25.rules in eg25-manager.

[ci:skip-build]: already built successfully in CI
2022-11-10 21:14:07 +01:00
Jan Jasper de Kroon d4e96df17d Revert "device/pine64-pinephone: add additional modem udev rule for new community firmware serial (MR 3240)" (MR 3632)
This reverts commit f8df093985.
These are already handled by 80-modem-eg25.rules in eg25-manager.
2022-11-10 21:13:55 +01:00
Pablo Correa Gómez df76034e32 main/avbtool: remove (MR 3630)
avbtool is now included in android-tools upstream

Relates #1779
2022-11-09 17:52:50 +01:00
Oliver Smith 8c77e7e42f pmaports.cfg: add supported_fastboot_depends
Add this new variable so pmbootstrap can use it to determine which
depends need to be installed for the fastboot flashing method. It used
to be android-tools,avbtool but now it's only android-tools as avbtool
became part of android-tools.

Related: issue 1779
Related: https://postmarketos.org/pmaports.cfg
2022-11-09 09:00:51 +01:00
iAboothahir 3bf4fe443f firmware-asus-x00td: add missing mba.mbn firmware (MR 3617)
Signed-off-by: Aboothahir U <aboothahirpkd@gmail.com>

[ci:skip-build]: Already built successfully in CI
2022-11-08 08:46:27 +01:00
iAboothahir 7f6b7fb2d0 device-asus-x00td: add qcom_fg ,qcom_pmi8998_charger module to initfs (MR 3617)
Signed-off-by: Aboothahir U <aboothahirpkd@gmail.com>
2022-11-08 08:46:23 +01:00
iAboothahir f7cf971e40 linux-postmarketos-qcom-sdm660: upgrade to 6.0.5 (MR 3617)
Signed-off-by: Aboothahir U <aboothahirpkd@gmail.com>
2022-11-08 08:46:13 +01:00
Jan Jasper de Kroon 62f19c3e03 device/main/linux-postmarketos-allwinner: upgrade to 6.0.7 (MR 3624)
[ci:skip-build]: Already built successfully in CI
2022-11-08 08:39:44 +01:00
Barnabás Czémán 68c728e63c testing/xiaomi-riva: Fix fb.modes (MR 3616)
Fixes fb.modes values.
2022-11-07 21:44:09 +01:00
Segfault a2365ffc57 device/testing: update htc-flounder to use mainline kernel (MR 3623)
This is an incomplete port but it has greater functionality than the existing downstream based one, which has been moved to unmaintained.

[ci:skip-build]: Already built successfully in CI
2022-11-07 21:29:24 +01:00
Segfault d4eed06542 htc-flounder: move downstream pieces to unmaintained (MR 3623)
It can still be chosen as 'htc-flounder-downstream' in
pmbootstrap init.
2022-11-07 21:29:11 +01:00
Dylan Van Assche 64dc758fed community/soc-qcom-sdm845: fix earpiece SHIFT6mq (MR 3618)
Update to latest ALSA UCM configs to fix earpiece on SHIFT6mq

[ci:skip-build] already built successfully in CI
2022-11-06 21:40:54 -08:00
Raymond Hackley 27e98026e4 samsung-{gprimelte{can,xx},fortuna3g}: add both available panel variants (MR 3604)
There are 2 panel variants supported:
- panel-samsung-hx8389c-gh9607501a
- panel-samsung-s6d78a0-gh9607501a

Add both of them to enable panel display during splash and FDE.
Note that fortunaltezt has only one panel variant so it's not included.

[ci:skip-build] already built successfully in CI
2022-11-06 21:38:51 -08:00
Clayton Craft 6ec2ba3c03 postmarketos-android-recovery-installer: upgrade to 1.0.6 (MR 3619)
Fixes:
- Fix installation with FDE
- Use new path to kpartx (MR 16)

Other:
- pmos_install: Increase boot partition size to 256MB (MR 14)
- pmos_install_functions: make shellcheck happy
- update-binary: make shellcheck happy

[ci:skip-build] already built successfully in CI
2022-11-06 21:36:40 -08:00
Newbyte 63b661faa4 cross/musl-riscv64: upgrade to 1.2.3-r2 2022-11-06 15:11:25 +01:00
Newbyte cbb3d09687 cross/musl-armv7: upgrade to 1.2.3-r2 2022-11-06 15:11:13 +01:00
Newbyte fe0c0492a1 cross/musl-armhf: upgrade to 1.2.3-r2 2022-11-06 15:11:06 +01:00
Newbyte 8611e23f3c cross/musl-aarch64: upgrade to 1.2.3-r2 2022-11-06 15:10:52 +01:00
Martijn Braam 4c3be3aa14 main/postmarketos-tweaks: upgrade to 0.13.0 (MR 3613)
[ci:skip-build] already built successfully in CI
2022-11-03 23:27:05 -07:00
Clayton Craft 02198dccdd postmarketos-mkinitfs: upgrade to 1.5.1
Fixes a crash due to the path for kpartx changing in a multipath update
in Alpine Edge.
2022-11-03 12:05:23 -07:00
Dzmitry Sankouski 341e959e45 xiaomi-sagit: new device (Xiaomi Mi6) (MR 3134)
Device uses mainline kernel. What works:
- boots
- display
- touchscreen
- wifi

Also add firmware package

[ci:skip-build]: already built successfully in CI
2022-11-03 07:58:19 +01:00
Raymond Hackley db00e85baf main/postmarketos-config-nftables: 50_*.nft: drop unused wwan rules (MR 3594)
There is "iifname "wwan*" drop" defined in 01_wwan.nft, which drops
any not "established, related" incoming packet from WWAN.

[ci:skip-build]: already built successfully in CI
2022-11-03 07:48:33 +01:00
Richard Acayan 259e8cc44f google-sargo: add nonfree firmware (MR 3590)
Non-free firmware is required for:
 - 3D acceleration
 - Video acceleration
 - Bluetooth

[ci:skip-build]: already built successfully in CI
2022-11-03 07:37:46 +01:00
Richard Acayan f2b1d7e206 device/testing/linux-postmarketos-qcom-sdm670: upgrade to 6.0.6 (MR 3590)
New features for google-sargo:
 - GPU acceleration
 - Bluetooth
 - Haptics (currently only rumble effect)
 - Video acceleration (still untested)
 - NFC (only detection was tested)
2022-11-03 07:37:35 +01:00
Alexander Martinz 0307dc695e tablet-x64uefi: add kernel-edge as additional option (MR 3610)
Certain newer hardware may require a newer kernel than the current
lts in order to work.

Change-Id: Iae0d91f8bf8d1b8516698841895f942e527b0813
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
[ci:skip-build]: already built successfully in CI
2022-11-03 07:33:56 +01:00
Anton Bambura fac4d7e178 temp/alsa-ucm-conf-google-kukui: add myself as maintainer (MR 3611) 2022-11-02 19:07:31 +01:00
Anton Bambura 12d2830ba7 testing/firmware-google-veyron-brcm: add myself as maintainer (MR 3611) 2022-11-02 19:07:31 +01:00
Anton Bambura a98c9ab918 testing/device-microsoft-surface-rt: add myself as maintainer (MR 3611) 2022-11-02 19:07:31 +01:00
Anton Bambura be2368a676 testing/device-lg-judyp: add myself as maintainer (MR 3611) 2022-11-02 19:07:31 +01:00
Anton Bambura 99d21ecfef community/firmware-lenovo-a6010: add myself as maintainer (MR 3611) 2022-11-02 19:07:31 +01:00
Anton Bambura c1a125b56f community/firmware-lenovo-a6000: add myself as maintainer (MR 3611) 2022-11-02 19:07:30 +01:00
Anton Bambura bdec0258b6 CODEOWNERS: add myself for packages that I maintain (MR 3611) 2022-11-02 19:07:30 +01:00
Bart Ribbers 97b18eafb2 community/postmarketos-ui-plasma-desktop: add bluetooth service to default runlevel (MR 3592) 2022-11-02 18:46:07 +01:00
Barnabás Czémán 7ff30616ef xiaomi-riva: Add initial support for Redmi 5A (MR 3595)
[ci:skip-build]: already built successfully in CI
2022-11-02 18:41:19 +01:00
Oliver Smith 1fcbdb1819 pmaports.cfg: set pmbootstrap_min_version=1.47.0
With recent cross/gcc-* upgrades, we actually require pmbootstrap
1.47.0 to avoid the following error:
  ERROR: Invalid pkgver '${_pkgbase}_git${_pkgsnap}' in APKBUILD: /home/user/.local/var/pmbootstrap/cache_git/pmaports/cross/gcc-aarch64/APKBUILD
2022-11-02 15:37:03 +01:00
Oliver Smith d86cd0c188 cross/gcc-*: upgrade to 12.2.1_git20220924-r4 2022-11-02 15:29:48 +01:00
Oliver Smith 5e2730d2db CI: add new test for correct usage of provides (MR 3597)
[ci:ignore-count]
[ci:skip-build]: does not finish for aarch64, I'll verify that it builds
for aarch64 before merging.
2022-11-02 15:02:56 +01:00
Oliver Smith 73376dee97 temp/megapixels-purism: fix provides (MR 3597)
The pkgver is significantly lower (0.19) than the one of megapixels
(1.5.2 as of writing), so we can use the versioned provides here. If it
was closer so megapixels-purism's pkgver could become higher than
megapixels in the future, then we should use unversioned provides with
provider priorities instead.
2022-11-02 15:02:55 +01:00
Oliver Smith 5e73fe103a main/mobile-config-firefox: upgrade to 3.1.0 (MR 3597)
Drop replaces, provides for postmarketos-config-firefox. This was the
name of the package until August of 2020, not relevant anymore. Also
the provides didn't have pkgrel and therefore was wrong.
2022-11-02 15:02:55 +01:00
Oliver Smith f8d12ed781 main/msm-firmware-loader: fix provides (MR 3597) 2022-11-02 15:02:55 +01:00
Oliver Smith f01b561b97 device/community/soc-*-ucm: set provider_priority (MR 3597)
Setting unversioned provides= without provider_priority is not valid.
Set provider_priority=1, the related aports MR will set it to 10 in
alsa-ucm-conf.

Related: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/40814
2022-11-02 15:02:55 +01:00
Oliver Smith a258f27d03 device/community/firmware-bq-picmt: fix provides (MR 3597) 2022-11-02 15:02:54 +01:00
Oliver Smith f288cdaa77 treewide: remove linux-headers replacements (MR 3597)
Remove the -dev subpackages of kernels that replace the linux-headers
package. As I understand, the only case where this would make sense is
if you wanted to build a kernel module against headers that need to be
newer than the headers in Alpine's linux-headers package (currently
5.19.5).

While this might have been historically relevant when wireguard wasn't
in the kernel and you might have needed newer linux-headers to build
the module, it seems irrelevant today. If somebody should need this in
the future, then bring it back properly / consider getting the
linux-headers package in Alpine upgraded. Right now the -dev packages
are broken in several ways:

* Use of unversioned provides= (pma#1766)
* Don't contain binaries needed to build binary packages (pma#462).
  This was worked around in 6aba5f ("Package kernel-scripts
  separately"), but later this didn't build anymore and we removed it.

So in short: broken and unused, drop them.
2022-11-02 15:02:54 +01:00
Oliver Smith 96f8084bcd main/postmarketos-ui-sxmo-de-dwm: set provider_priority=5 (MR 3597)
apk treats provider_priority=0 as if it is not there, not as lowest
value. The previous patch set it to =10 for …-sxmo-de-sway, so set it to
=5 for the dwm version.

Related: https://gitlab.alpinelinux.org/alpine/apk-tools/-/blob/c21f61ddd8d742e4de2202aa623b0c06573f567b/src/solver.c#L713-721
2022-11-02 15:02:54 +01:00
Oliver Smith 04250e1e41 main/postmarketos-ui-sxmo-de-sway: set provider_priority=10 (MR 3597)
apk ignores a provider_priority of 0. In order to have …-sxmo-de-dwm
have a lower provider priority than …-sxmo-de-sway, set a higher
priority than 1 for the sway version.
2022-11-02 15:02:54 +01:00
Oliver Smith 36cff31884 main/mkbootimg-osm0sis: upgrade to 2021.08.06 (MR 3597)
Also fix wrong use of provides.
2022-11-02 15:02:48 +01:00
Alexander Martinz a2c2a6573e community/linux-postmarketos-qcom-sdm845: upgrade to 6.1.0_rc3 (MR 3580)
Change-Id: Ice7c2942892eb0a173dcded835d5fac5a8f32066
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
[ci:skip-build]: already built successfully in CI
2022-11-02 14:54:57 +01:00
Anton Bambura 909df1c8e5 google-hana: depend on alsa-utils (MR 3601)
This makes sound working
[ci:skip-build]: already built successfully in CI
2022-11-02 14:50:51 +01:00
Anton Bambura 6d22ee8398 google-elm: depend on alsa-utils (MR 3601)
This makes sound working
2022-11-02 14:50:39 +01:00
Anton Bambura c689986438 alsa-ucm-conf-google-kukui: add symlinks (MR 3600)
For some reason, alsa sometimes probes it from another locations.
Add symlinks to handle it

Tested-by: Eric Curtin <ecurtin@redhat.com>
[ci:skip-build]: already built successfully in CI
2022-11-02 14:45:54 +01:00
Luca Weiss 5c78e255a6 CI: disallow firmware packages to be noarch (MR 3607)
As explained in the previous commit, it's just unnecessary.

[ci:ignore-count]
[ci:skip-vercheck] no need to rebuild for arch change
2022-11-01 18:20:08 +01:00
Luca Weiss 44f1e77115 device/*/firmware-*: move away from arch="noarch" (MR 3607)
Stop building many firmware packages for architectures that aren't used
by those devices. This should reduce CI/bpo time and repo space by a
bit.
2022-11-01 18:20:03 +01:00
Newbyte 909aebe26f temp/gtk+2.0: remove (MR 3598)
gtk+2.0 for aarch64 is available in Alpine again.
2022-11-01 17:31:01 +01:00
niko 623702d4cf main/postmarketos-ui-gnome-mobile: replace gedit with gnome-text-editor (MR 3603)
[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
2022-11-01 16:58:41 +01:00
Dylan Van Assche d8c4343bea community/soc-qcom-sdm845: add ALSA UCM for SHIFT6mq (MR 3606)
Update the ALSA UCM package for the SDM845 so the ALSA UCM configs for
the SHIFT6mq are included. Speaker, microphones, headset work fine in
HiFi mode. In Voice Call mode, the microphone works, but the earpiece is
still silent.

[ci:skip-build]: already built successfully in CI
2022-11-01 16:53:49 +01:00
Dylan Van Assche 9ce52b3587 community/device-shift-axolotl: add q6voiced config (MR 3606)
q6voiced is a daemon to allow voice calls with the q6voice kernel
driver. Add its config so it can open the right audio device on the
SHIFT6mq during a call.
2022-11-01 16:53:49 +01:00
Luca Weiss c4fac0adfa community/linux-postmarketos-qcom-sm6350: enable new community options (MR 3560)
[ci:skip-build] # too many packages for 3h
2022-10-31 21:20:26 +01:00
Luca Weiss 5db3c291f2 community/linux-postmarketos-qcom-msm8996: enable new community options (MR 3560) 2022-10-31 21:19:46 +01:00
Luca Weiss 9ecbd62fce community/linux-postmarketos-qcom-msm8916: enable new community options (MR 3560) 2022-10-31 21:19:35 +01:00
Luca Weiss d49ecb9dbb community/linux-postmarketos-omap: enable new community options (MR 3560) 2022-10-31 21:18:22 +01:00
Luca Weiss 9a462d3759 community/linux-postmarketos-exynos4: enable new community options (MR 3560) 2022-10-31 21:17:39 +01:00
Luca Weiss 76f5a4ab50 community/linux-pine64-pinephonepro: enable new community options (MR 3560) 2022-10-31 21:17:36 +01:00
Luca Weiss bbce946108 community/linux-nokia-n900: enable new community options (MR 3560) 2022-10-31 21:16:39 +01:00
Luca Weiss 0948a1659c main/linux-postmarketos-allwinner: enable new community options (MR 3560) 2022-10-31 21:07:16 +01:00
Sicelo A. Mhlongo 930d8ecad2 device-nokia-n900: fix Fn key in latest xkb-config (MR 3596)
Explicitly set Fn key as Mod5. In xkeyboard-config up to 2.36, this was somehow
set implicitly, since it was working, although I am not sure where/how. In 2.37
it only works when specified.

[ci:skip-build]: already built successfully in CI
2022-10-31 12:34:01 +01:00
Barnabás Czémán e2c984606f firmware-xiaomi-rolex: replace broken source link (MR 3593)
[ci:skip-build]: already built successfully in CI
2022-10-28 09:48:53 +02:00
Sicelo A. Mhlongo 789343b8c7 device-nokia-n900: enable use of rtc time at boot (MR 3586)
Since N900 rtc works fine, remove swclock from boot as it causes time to be set
wrong. Additionally, rtc device is set correctly in kernel, so remove old,
adjusted hwclock config.

Partially reverts pmaports 0e502a5139
[ci:skip-build]: already built successfully in CI
2022-10-28 08:37:16 +02:00
Oliver Smith 2acece294a temp/gtk+2.0: fork from Alpine for aarch64
Fork it as the package is currently gone in Alpine edge for aarch64 and
the builder seems to be stuck.
2022-10-28 08:31:52 +02:00
Luca Weiss 8c19bf2f9b CI: add riscv64 (MR 3566)
Now that we have the cross compilers in place, make the CI build riscv64
as well.
2022-10-26 20:56:18 +02:00
Oliver Smith d410854f6c temp/gnome-shell-mobile: disable on riscv64
[ci:skip-vercheck] [ci:skip-build]: just changing arches
2022-10-26 20:29:19 +02:00
Oliver Smith 2d51770a74 main/postmarketos-ui-gnome-mobile: disable on riscv64 2022-10-26 20:27:13 +02:00
Oliver Smith 5e9e802c67 temp/mutter-mobile: disable on riscv64
Fails for a weird reason, disable to get the initial bpo build for
riscv64 done.

Related: https://builds.sr.ht/~postmarketos/job/869829
2022-10-26 20:25:26 +02:00
Sam Day e017c774f1 linux-postmarketos-qcom-msm8974: compile modules for netboot and iptables 'statistic' (MR 3581)
[ci:skip-build]: already built successfully in CI
2022-10-26 09:55:13 +02:00
Oliver Smith 8185d66b73 main/unixbench: disable on riscv64 (MR 3588)
Related: https://builds.sr.ht/~postmarketos/job/868522
[ci:skip-build], [ci:skip-vercheck]: just disabling arches
2022-10-26 09:24:38 +02:00
Oliver Smith 594a34459e main/postmarketos-ui-plasma-desktop: disable on riscv64 (MR 3588)
Related: https://builds.sr.ht/~postmarketos/job/868600
2022-10-26 09:24:38 +02:00
Oliver Smith 9529c0ab42 main/postmarketos-ondev: disable on riscv64 (MR 3588)
Related: https://builds.sr.ht/~postmarketos/job/868406
2022-10-26 09:24:38 +02:00
Luca Weiss 2852f55ff0 temp/gnome-shell-mobile: enable on riscv64 (MR 3588) 2022-10-26 09:24:38 +02:00
Luca Weiss aaf1306126 temp/mutter-mobile: enable on riscv64 (MR 3588) 2022-10-26 09:24:38 +02:00
Oliver Smith c102971e27 main/qtwebbrowser: remove (MR 3589)
Remove this obsolete package. It was added four years ago because we
didn't have working webbrowsers and hasn't been updated since.
2022-10-26 09:05:35 +02:00
Pablo Correa Gómez b47abadccc temp/gnome-software-plugin-apk: drop (MR 3577) 2022-10-25 09:35:32 +02:00
Pablo Correa Gómez f4acff31f9 temp/gnome-software: drop (MR 3577)
Alpine's version is now mostly adaptive
2022-10-25 09:35:27 +02:00
Luca Weiss 766020c811 main/gcc6: disable on riscv64 (MR 3583)
[ci:skip-vercheck]: Changing arches doesn't require a rebuild
[ci:skip-build]: already built successfully in CI
2022-10-25 08:31:21 +02:00
Luca Weiss 9d15b45746 main/gcc4: disable on riscv64 (MR 3583) 2022-10-25 08:31:09 +02:00
Jan Jasper de Kroon 8b3c4eb6d3 linux-postmarketos-allwinner: upgrade to 6.0.3 (MR 3572)
[ci:skip-build]: already built in CI
2022-10-25 08:26:39 +02:00
Luca Weiss c31c11cad9 main/hello-world-rust: allow textrels on riscv64 (MR 3584)
[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
2022-10-25 08:18:11 +02:00
Oliver Smith 8029ed0762 temp/gnome-shell-mobile: remove dep gnome-themes-standard (MR 3587)
Follow what Alpine is doing with gnome-shell.

Fix for upstream-compat check:
  missing depend(s): gnome-themes-standard

Related: https://gitlab.alpinelinux.org/alpine/aports/-/commit/b745f99744d915c51d97bf17d8a9a4a59502a923
Related: https://gitlab.alpinelinux.org/alpine/aports/-/commit/959ad322e0cb616257443206fd3ca85f7492012d
2022-10-25 08:01:32 +02:00
iAboothahir 5361b42aeb device-asus-x00td: add firmware-asus-x00td (MR 3579)
Signed-off-by: Aboothahir U <aboothahirpkd@gmail.com>
2022-10-24 13:25:38 +03:00
iAboothahir 4a8a890148 firmware-asus-x00td: add firmware for GPU, WiFi, Bluetooth, ADSP, etc. (MR 3579)
Signed-off-by: iAboothahir <aboothahirpkd@gmail.com>
2022-10-24 13:25:04 +03:00
Alexey Minnekhanov e78098c34f main/postmarketos-ui-fbkeyboard: fix dejavu font path (MR 3582)
Alpine has changed location and package name of ttf-dejavu
fonts, adjust to new location.

Without this, fbkeyboard service crashes with error:

  unable to load font file: No such file or directory

Default font path is hardcoded [1] to
  "/usr/share/fonts/ttf-dejavu/DejaVuSans.ttf".
Luckily there is a CLI switch to change default, use it.

[1] https://github.com/bakonyiferenc/fbkeyboard/blob/master/fbkeyboard.c#L37
2022-10-24 13:10:52 +03:00
Joel Selvaraj c9dc088afd community/firmware-xiaomi-beryllium: update maintainer info (MR 3497)
Venji10 is no longer involved in actively maintaining the package for more than a year plus.
Changing myself to be the maintainer and also updated my email id.

[ci:skip-build]: already built successfully in CI
2022-10-24 09:46:44 +02:00
Joel Selvaraj 2decd7eb54 community/xiaomi-beryllium: update q6voiced conf and update maintainer information (MR 3497)
Because of recent changes to kernel and alsa-ucm-conf,
the q6voiced device is changed.

Venji10 is no longer involved in actively maintaining the package for more than a year plus.
Changing myself to be the maintainer and also updated my email id.
2022-10-24 09:46:39 +02:00
Joel Selvaraj c831889cb3 community/soc-qcom-sdm845: upgrade alsa-ucm-conf and add co-maintainer (MR 3497)
Rebased our work on top of latest upstram alsa-ucm-conf.
The beryllium ucm conf is also reworked to fix wrong default audio device issue
and now headphones auto-switching on plugin also works as expected.

Adding myself as a co-maintainer for this package.

Change-Id: I360c60d1675c884c9e85cd95f940fa6cb4b75e83
Signed-off-by: Joel Selvaraj <joelselvaraj.oss@gmail.com>
2022-10-24 09:46:38 +02:00
Alexander Martinz e5334cd8fa community/linux-postmarketos-qcom-sdm845: upgrade to 6.0.3 and update co-maintainer email id (MR 3497)
Change-Id: I986b3401fd81ac18b7336f8f0be53e2cf4c4515c
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
Signed-off-by: Joel Selvaraj <joelselvaraj.oss@gmail.com>
2022-10-24 09:46:34 +02:00
Newbyte 63e8cff254 main/postmarketos-ui-phosh: replace gedit with gnome-text-editor (MR 3551)
Text Editor is a new modern text editor for GNOME. It is the new
default, replacing gedit upstream. As such, let's do the same here
downstream.

[ci:skip-vercheck]: pkgrel bump is not necessary when changing
recommends.
[ci:skip-build]: already built successfully in CI
2022-10-24 09:39:26 +02:00
Newbyte 665bcc199d temp/dino: drop (MR 3575)
For whatever reason, Alpine includes the mobile adaptivity patches for
this app:
https://gitlab.alpinelinux.org/alpine/aports/-/blob/cb88c5701fd93e78b133e746c6c3fa6db0001c66/community/dino/mobile-ui.patch

As such, drop our fork since it's unnecessary.

Reported-by: Airtower
2022-10-24 08:53:07 +02:00
Newbyte 445e530314 temp/xkeyboard-config: drop (MR 3573)
The PinePhone keyboard patches should be available in upstream
xkeyboard-config since version 2.36.
2022-10-24 08:49:16 +02:00
Mithil Bavishi fb9bc89df8 linux-samsung-espresso3g: remove (MR 3563)
[ci:skip-build]: ollie verified it builds locally
2022-10-23 14:01:38 +02:00
Mithil Bavishi 784919ce5e samsung-espresso3g: use linux-postmarketos-omap (MR 3563) 2022-10-23 14:01:33 +02:00
Mithil Bavishi e34cce6e0f community/linux-postmarketos-omap: upgrade to 6.0.2 (MR 3563) 2022-10-23 14:01:28 +02:00
Alexey Min adcc988069 temp/dino: rebuild against new libicuuc.so (MR 3568)
[ci:skip-build]: Already built successfully in CI
2022-10-22 15:41:56 +02:00
Clayton Craft 052fdf55ac linux-purism-librem5: upgrade to 6.0.2 (MR 3570)
[ci:skip-build]: Already built successfully in CI
2022-10-22 13:32:58 +02:00
Sergey Lisov 8d07a9897a mdoem/libsamsung-ipc: upgrade to 6.0.0004 (MR 3456)
1. Upgrades the library to version 6.0.0004
2. Adds runtime overrides for detected device and board,
   to facilitate running on devices where autodetect fails.
2022-10-21 15:19:07 +03:00
Sicelo A. Mhlongo 45aaac6d30 linux-nokia-n900: fix usbnet regression (MR 3567)
After c49180f8cf, usbnet did not come up on N900
automatically since the UDC probed a little late. Fix this by making the driver
built-in.

While at it, make watchdog built-in so it can be kicked even when boot takes
long for any reason.

[ci:skip-build]: already built successfully in CI
2022-10-21 09:17:26 +02:00
Jan Jasper de Kroon a526c9213d linux-pine64-pinephonepro: add WiFi CVE backports (MR 3552)
These are the patches added to mitigate the CVE's which have been found in wifi stack.
More information on these CVE's can be found over here: https://seclists.org/oss-sec/2022/q4/20

[ci:skip-build]: Already built successfully in CI
2022-10-20 19:04:43 +02:00
Bobby The Builder 5c42cad7a6 linux-postmarketos-allwinner: regenerate config and enable ARM CPU Idle driver (MR 3564)
[ci:skip-build]: Already built successfully in CI
2022-10-20 18:57:23 +02:00
Luca Weiss dc9e47ae00 cross/{binutils,gcc,musl}-riscv64: new aport (MR 3559)
Use pmbootstrap aportgen to generate these new packages.

[ci:skip-vercheck]
2022-10-20 18:52:37 +02:00
Newbyte eafbfdc95c temp/megapixels-purism: rebuild against libcamera 0.0.1 (MR 3565)
[ci:skip-build]: Already built successfully in CI
2022-10-20 09:50:58 +02:00
Yassine Oudjana 2837bdb657 community/linux-postmarketos-qcom-msm8996: upgrade to 6.0.2 (MR 3561)
[ci:skip-build]: already built successfully in CI
2022-10-20 09:21:42 +02:00
Lorenz Wildberg d6931ca312 temp/gnome-shell-mobile: upgrade to 43.0 (MR 3555)
[ci:skip-build]: Already built successfully in CI
2022-10-19 13:02:46 +02:00
Lorenz Wildberg 924a2cb8d3 temp/mutter-mobile: upgrade to 43.0 (MR 3555) 2022-10-19 13:02:41 +02:00
Luca Weiss 5985852e77 temp/gtk+3.0: fix build (MR 3557)
Pick some patches from gtk 3.24.34 to fix compilation under GCC 12.

[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
2022-10-19 09:05:15 +02:00
Sicelo A. Mhlongo c49180f8cf linux-nokia-n900: apply wifi cve fixes (MR 3558)
- Downgrade kernel from EOL 5.18 to LTS 5.15 in order to apply WiFi CVE fixes.
  It is currently not possible to upgrade to newer (5.19+) kernels due to a USB
  regression.
- Modify 0005-iio-accel-st-accel-add-lis302dl.patch so it applies on 5.15.74
- Reinstate 0008-wl1251-specify-max.-IE-length.patch for nl80211 support. Patch
  was dropped because it is in mainline since 5.18

[ci:skip-vercheck]: downgrade
[ci:skip-build]: already built successfully in CI
2022-10-19 08:34:43 +02:00
Alexander Martinz 13046d8972 community/linux-postmarketos-qcom-sdm845: upgrade to 5.19.16 (MR 3556)
For a merge list, please see the merge commits:
  - 5.19.13 - (https://gitlab.com/sdm845-mainline/linux/-/commit/6384fddb508e3af48adade641fc74e124085d1ee)
  - 5.19.14 - (https://gitlab.com/sdm845-mainline/linux/-/commit/85caddc9c87626e005000b45d724371d7c8ad177)
  - 5.19.15 - (https://gitlab.com/sdm845-mainline/linux/-/commit/fca27cdc51f207b1acbc66e896382d3240650f60)
  - 5.19.16 - (https://gitlab.com/sdm845-mainline/linux/-/commit/9aa25bf492928bc7a4542e87d28919c9ac36d27c)

Note: This is an important release, as 5.19.16 fixes the recently
      published wifi stack vulnerabilities.

Change-Id: Iffff2c65bdd697b01bc5d8fc090e9a2f2577c701
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
2022-10-18 10:54:34 +02:00
Caleb Connolly 82ad096a42 CODEOWNERS: add Alex to axolotl codeowners (MR 3547) 2022-10-18 09:55:49 +02:00
Newbyte 99abd2fdf0 linux-postmarketos-stericsson: upgrade to 5.19.8 (MR 3307)
Also enable iwd options and disable ux500 crypto hardware driver due to
bugs.

[ci:skip-build]: already built successfully in CI
2022-10-18 09:48:47 +02:00
Jan Jasper de Kroon 62bd0f84bd linux-postmarketos-allwinner: upgrade to 6.0.2 - 1017-0205 Megi Tag (MR 3553)
This updates the APKBUILD with the new Megi 6.0.2 tag release.
The 2 incremental patches on top of 6.0 have hereby been removed.

[ci:skip-build]: already built successfully in CI
2022-10-18 09:17:11 +02:00
Alexey Min 4fe645dead main/lk2nd: upgrade to 0.13.0 (MR 3554)
- Support for the huawei-g7 display panel in lk1st
- FS based boot is skipped when going to the recovery
- Generate image without appended dtb for lk2nd-msm8226
- Some bug fixes and device improvements

New devices:
 - Samsung Galaxy Ace 4 (SM-G357FZ)
 - Samsung Galaxy Grand 2 (SM-G7102)
 - Samsung Galaxy Grand Max (SM-G720AX)
 - Samsung Galaxy Tab 4 10.1 (2014) (SM-T530)
 - Huawei Ascend G6 L11 LTE
 - Some new variants for the existing Samsung devices

Changelog: https://github.com/msm8916-mainline/lk2nd/releases/tag/0.13.0
2022-10-18 02:03:55 +03:00
Oliver Smith 89a5382518 cross/gcc-*: add fixme note for the isl workaround (MR 3548)
Make sure we drop !tracedeps next time when upgrading the gcc packages
(after Alpine's gcc has been upgraded). The workaround we have in
pmbootstrap is tied to the current version, and that's the only way we
can remove it for good. The FIXME line can be deleted after this has
been done. Note that current 'pmbootstrap aportgen gcc-*' code will
automatically remove the !tracedeps option - a reminder to double check
it.

[ci:skip-build] [ci:skip-vercheck]: just adding a comment
2022-10-16 18:11:21 +02:00
Caleb Connolly 94b2f1a6f0 CODEOWNERS: sdm845 and axolotl (MR 3546)
* Specify the whole sdm845-mainline group for *-qcom-sdm845 packages.
* Add myself and Dylan for axolotl
2022-10-16 17:28:01 +02:00
Caleb Connolly 6a161e0a2d CODEOWNERS: reformat (MR 3546)
* Switch to tab indenting with tab size 8 to improve rendering
* Fix my entries (missing trailing /)
2022-10-16 17:28:01 +02:00
Newbyte d0d05b39cd main/boot-deploy: upgrade to 0.6.1 (MR 3534) 2022-10-16 17:19:57 +02:00
blacksilver ff797d6bfe samsung-xcover3lte: use samsung sparse format (MR 3500)
RootFS cannot be flashed on this devices since Samsung uses a different sparse format.
Enable this in the deviceinfo file to allow flashing the rootFS.

[ci:skip-build]: already built successfully in CI
2022-10-16 16:46:43 +02:00
Newbyte 2f8a5bf400 linux-postmarketos-exynos4: upgrade to 6.0.2 (MR 3539)
Part of https://gitlab.com/postmarketOS/pmaports/-/issues/1749
[ci:skip-build]: already built successfully in CI
2022-10-16 16:32:37 +02:00
Anjandev Momi 20713e27a3 editorconfig-check: set "tabs for indentation, spaces for alignment" style (MR 3530)
https://github.com/editorconfig-checker/editorconfig-checker/issues/66
[ci:ignore-count] [ci:skip-build]: already built successfully in CI
2022-10-16 16:27:25 +02:00
Anjandev Momi e7a8141113 CI: check if most text files have final_newline and conform to editorconfig (MR 3530)
fixes #592
2022-10-16 16:27:25 +02:00
Anjandev Momi 7270f472e3 treewide: fix tabs, final newline, trailing whitespace (MR 3530) 2022-10-16 16:27:22 +02:00
Martijn Braam 8ff73a7de4 pine64-pinebookpro: enable deep sleep (MR 3543)
After testing 6.0.0 I retried deep sleep and it seems to work fine now

[ci:skip-build]: already built successfully in CI
2022-10-16 16:07:00 +02:00
Jan Jasper de Kroon 97ed826c3c linux-postmarketos-rockchip: upgrade to 6.0.2
This kernel upgrade comprises of 2 point releases 6.0.1 and 6.0.2.
the release from 6.0 to 6.0.2 is a regular maintenance release.
Kernel update 6.0.2 addresses 5 important CVE's in the Wifi stack.
More info can be found over here: https://seclists.org/oss-sec/2022/q4/20

[ci:skip-build]: already built successfully in CI
2022-10-16 16:03:21 +02:00
Jan Jasper de Kroon 32646621be linux-postmarketos-allwinner: upgrade to 6.0.2
This kernel update addresses 5 important CVE's in the Wifi stack.
More info can be found over here: https://seclists.org/oss-sec/2022/q4/20

[ci:skip-build]: already built successfully in CI
2022-10-16 15:01:28 +02:00
Oliver Smith 2b3254df32 CI: test_unreferenced_files: remove debug prints (MR 3545)
Drop these debug prints which I added while extending the test to work
with MR 3386.
2022-10-16 14:26:48 +02:00
Luca Weiss f007868914 community/linux-postmarketos-qcom-sm6350: upgrade to 6.0.2 (MR 3542)
* Merge 6.0.2 stable
* Add pm7250b PMIC to dts

[ci:skip-build] Already built successfuly on CI in MR
2022-10-16 13:47:54 +02:00
Raymond Hackley a8dbcc046f samsung-cprime: new device (MR 3103)
[ci:skip-build] Already built successfuly on CI in MR
2022-10-16 13:44:13 +02:00
Minecrell d4762ed74f community/linux-postmarketos-qcom-msm8916: upgrade to 6.0.2 (MR 3532)
- Update to Linux v6.0.2 (includes fixes for WiFi CVEs)
- Tweak kernel configuration slightly (especially crypto options)

[ci:skip-build] Already built successfuly on CI in MR
2022-10-16 13:15:35 +02:00
Minecrell 8f37872995 community/linux-postmarketos-qcom-msm8916: upgrade to 6.0.1 (MR 3532)
- Update to Linux v6.0.1
- Upstreamed some patches this time
- Fixed register address in smb1360 driver

Device changes:
  - samsung-gtelwifiue
    - Audio
    - Better USB detection
  - samsung-e5/e7/grandmax
    - Refactoring for changes that landed upstream
    - Key LED control

New devices:
  - samsung-cprime/heatqlte
    - eMMC, SD card, USB, Buttons, WiFi/BT, Vibrator
    - Display, Brightness control (not for AMOLED on heatqlte)
    - Sensors (Accelerometer)
    - Sound/Modem
    - Battery status
    - NFC
    - NOTE: No touchscreen yet
2022-10-16 13:15:33 +02:00
Affe Null cb8105ee14 nokia-argon: new device (Nokia 8110 4G) (MR 3527)
Initial Nokia 8110 4G port with close-to-mainline kernel.

[ci:skip-build] Already built fine on CI in MR
2022-10-16 11:19:17 +03:00
Affe Null f27500700e linux-postmarketos-qcom-msm8909: close-to-mainline kernel for MSM8909 (MR 3527) 2022-10-16 11:18:15 +03:00
Affe Null 10df987e0e main/mipi-dbi-cmd: tool for generating SPI panel init sequence firmware (MR 3527) 2022-10-16 11:18:04 +03:00
Alexey Minnekhanov 4144c7631f main/postmarketos-config-nftables: use versioned constraints in install_if (MR 3536)
Consistently use `install_if="$pkgname=$pkgver-r$pkgrel ...` everywhere,
this is recommended upstream.

See https://wiki.alpinelinux.org/wiki/APKBUILD_Reference#install_if
2022-10-16 08:19:21 +03:00
Raymond Hackley 1efe44bb36 main/postmarketos-config-nftables: add VLC chromecast rules (MR 3536) 2022-10-16 08:08:54 +03:00
Luca Weiss afc11656d8 ci: unreferenced: skip cross/ (MR 3541)
It thinks that the gcc-go.post-install files from the new cross/gcc-*
packages isn't used because those add subpackages dynamically in the
APKBUILD which isn't handled.
2022-10-15 23:26:29 +02:00
Newbyte 2c5274eeed cross/gcc-armv7: upgrade to 12.2.1_git20220924-r3 (MR 3541) 2022-10-15 18:11:21 +02:00
Newbyte 57d953746e cross/gcc-armhf: upgrade to 12.2.1_git20220924-r3 (MR 3541) 2022-10-15 18:11:06 +02:00
Newbyte 192ca97cd5 cross/gcc-aarch64: upgrade to 12.2.1_git20220924-r3 (MR 3541) 2022-10-15 18:10:16 +02:00
Newbyte 4818c2c2cd linux-postmarketos-exynos4: enable zstd compression (MR 3522) 2022-10-15 13:10:31 +02:00
Henrik Grimler 2c68614713 linux-postmarketos-exynos4: update patch 0005 after kernel upgrade (MR 3522)
Our patch needs to be adjusted after commit 58e4a2d27d32 ("extcon: Fix
extcon_get_extcon_dev() error handling").  Also generate all other
patch headers, and make it possible to apply patch 0008 and 0009 with
git am.
2022-10-15 13:10:31 +02:00
Martin Jücker b15f448999 linux-postmarketos-exynos4: add missing lcd patches for p4note (MR 3522) 2022-10-15 13:10:28 +02:00
Martin Jücker 4668038a9a linux-postmarketos-exynos4: update to 6.0.1 (MR 3522) 2022-10-15 13:09:41 +02:00
Anton Bambura 5ec845da6e linux-postmarketos-rockchip: drop armv7 and upgrade to 6.0 (MR 3526)
[ci:skip-build] Already built successfuly on CI in MR
2022-10-14 12:41:30 +02:00
Jami Kettunen bd2cdfbaf4 device-oneplus-dumpling: get linux-edge(-6.0.1) booting again (MR 3531)
Additionally switch mainline kernel from qcom_fg to bq27xxx_battery_i2c.

While at it simplify the deviceinfo_modules_initfs_alpine list to
exclude implicit dependencies that mkinitfs can find itself to make the
line length a bit less unwieldy.

[ci:skip-build] Already built successfuly on CI in MR
2022-10-14 11:56:06 +02:00
Jami Kettunen 1769b565ed device-oneplus-cheeseburger: get linux-edge(-6.0.1) booting again (MR 3531)
Additionally switch mainline kernel from qcom_fg to bq27xxx_battery_i2c
and probe the correct panel driver, this was a regression that came from
the initial linux-edge enablement MR.

While at it simplify the deviceinfo_modules_initfs_alpine list to
exclude implicit dependencies that mkinitfs can find itself to make the
line length a bit less unwieldy.
2022-10-14 11:55:58 +02:00
Jami Kettunen d6f337898e device-oneplus-dumpling: block auto-loading ipa module (MR 3531)
While this provides the ability to use ModemManager, there are quite a
lot of issues with the driver still; keep it enabled in kernel for now
and let users "modprobe ipa" if they want to test modem features
whichever side effects that may cause including:
- Making the device nearly impossible to poweroff or reboot
- Making the UI lag noticeably more due to some interconnect bandwidth
  issues
2022-10-14 11:55:58 +02:00
Jami Kettunen 68cdc1ea2b device-oneplus-cheeseburger: block auto-loading ipa module (MR 3531)
While this provides the ability to use ModemManager, there are quite a
lot of issues with the driver still; keep it enabled in kernel for now
and let users "modprobe ipa" if they want to test modem features
whichever side effects that may cause including:
- Making the device nearly impossible to poweroff or reboot
- Making the UI lag noticeably more due to some interconnect bandwidth
  issues
2022-10-14 11:55:58 +02:00
Jami Kettunen 59716b061d linux-postmarketos-qcom-msm8998: upgrade to 6.0 (MR 3531) 2022-10-14 11:55:58 +02:00
Jami Kettunen 7bdacb41c1 device-oneplus-cheeseburger: workaround wrong touch rotation on PlaMo (MR 3531)
This will have to do until https://invent.kde.org/teams/plasma-mobile/issues/-/issues/160
is solved; the display orientation will remain upside down upon
installation but at least the touchscreen coordinates are correct now.
2022-10-14 11:55:57 +02:00
Jami Kettunen e8fa0d7448 device-oneplus-dumpling: start using soc-qcom-msm8998 (MR 3531) 2022-10-14 11:55:57 +02:00
Jami Kettunen 2fde525443 device-oneplus-cheeseburger: start using soc-qcom-msm8998 (MR 3531) 2022-10-14 11:55:57 +02:00
Jami Kettunen fbd0ebc602 firmware-oneplus-msm8998: use as much as possible from linux-firmware-* (MR 3531)
The qca (Bluetooth) and qcom (non-zap GPU) firmware blobs don't need to
be signed by the OEM, so let's use upstream versions to benefit from
fixes and updates done there.
2022-10-14 11:55:57 +02:00
Jami Kettunen 8ed8d07043 soc-qcom-msm8998: new aport (MR 3531)
The soc-qcom-sdm845* packages are mostly sufficient, but there are a few
issues that all MSM8998 devices on mainline will face, so include
workarounds for them in a generic package all device pkgs can depend on.
2022-10-14 11:55:57 +02:00
Jami Kettunen 57492bf7da soc-qcom-sdm845: move some deps to nonfree subpackage (MR 3531)
Both msm-modem-uim-selection and bootmac depend on nonfree firmware to
be useful, so put them under soc-qcom-sdm845-nonfree-firmware.
2022-10-14 11:55:57 +02:00
Raymond Hackley e0fa89db06 postmarketos-config-nftables: fix syntax errors and coding styles (MR 3535) 2022-10-14 09:35:31 +02:00
reisl fb209f5eeb device-samsung-beyond1lte: fix flashing (MR 3477) 2022-10-14 09:25:12 +03:00
reisl 33d1eef6e7 linux-samsung-beyond1lte: add OTG and vlan network support (MR 3477) 2022-10-14 09:24:08 +03:00
Anton Bambura 330420c648 veyron chromebooks: use linux-google-veyron (MR 3524)
[ci:skip-build] Already built successfuly on CI in MR
2022-10-13 15:48:58 +02:00
Anton Bambura bc70ccdcf4 linux-google-veyron: separate from linux-postmarketos-rockchip and upgrade to 6.0 (MR 3524)
Also, add patches for better HDMI support
2022-10-13 15:47:17 +02:00
Clayton Craft 325cc8e483 linux-purism-librem5: upgrade to 6.0
- the config diff is just rebasing

- drops the ship mode patch I wrote, since it is no longer required
  after a pending update to the device-purism-librem5 package...

- drops the dogwood voltage patch, apparently no longer necessary,
  see: https://source.puri.sm/Librem5/linux/-/issues/442#note_214984

- drops the usdhc bus patch
  see: https://source.puri.sm/Librem5/linux/-/issues/442#note_215026

[ci:skip-build] already built successfully in CI
2022-10-13 06:09:10 -07:00
Jami Kettunen e10cf4fadc testing/linux-*: rename kconfigcheck-anbox to kconfigcheck-waydroid (MR 3507)
This renamed option is being checked for since pmbootstrap 1.47.0[1].

[1] https://gitlab.com/postmarketOS/pmbootstrap/-/tags/1.47.0

[ci:skip-build]
[ci:skip-vercheck]
2022-10-13 13:44:30 +02:00
Raymond Hackley b1e1d7f6d3 postmarketos-config-nftables: add upnp-client rules (MR 3533)
Add rules to accept SSDP/UPnP Replies, which can be used for discovery
in VLC.
2022-10-13 13:12:53 +02:00
Jan Jasper de Kroon 130e15f2ec linux-postmarketos-allwinner: upgrade to 6.0.1_git20221004 (MR 3518) 2022-10-13 10:40:29 +02:00
Oliver Smith f8ce8ef0e3 teclast-x80pro: drop device (MR 3528)
Kernel doesn't compile anymore, and it doesn't seem worth fixing it
again. The kernel has been added in 2017 as a stock mainline kernel from
that time with only two patches and wasn't maintained since then,
looking at git log --follow it was only patched to fix it up when
it didn't build.

As the device is a generic x86_64 tablet: if somebody has that
particular device, try to get the generic device-tablet-x64uefi running
instead.
2022-10-13 09:46:01 +02:00
Luca Weiss 570f7a50b5 community/device-fairphone-fp4: add qbootctl & swclock-offset (MR 3529)
The qbootctl service tells the bootloader that the current boot has
succeeded, so that the bootloader doesn't switch to the other slot after
~7 tries.

The swclock-offset dependency ensures that the time is set correctly
after a reboot, caused by the read-only RTC on Qualcomm.

[ci:skip-build]: already built successfully in CI
2022-10-13 09:37:15 +02:00
Brendan Hardy 29d3abe94d motorola-shamu: port from armhf to armv7 (MR 3415)
[ci:skip-vercheck]
2022-10-12 22:35:57 +02:00
Dang Huynh ae252a05a4 device-nokia-n900: use wl1251-cal for calibration data (MR 3386) 2022-10-12 21:39:13 +02:00
Dang Huynh 69510f79f7 main/wl1251-cal: new pkgbuild (MR 3386)
This program grabs the WLAN calibration data from a NAND partition
on the Nokia N900.

Signed-off-by: Dang Huynh <danct12@disroot.org>
2022-10-12 21:39:12 +02:00
Oliver Smith 4cd4463a21 ci: unreferenced: handle triggers from subpackages (MR 3386)
Depends: pmbootstrap MR 2202
2022-10-12 21:39:12 +02:00
Oliver Smith b01974179c ci: unreferenced: refactor subpackage_installs (MR 3386)
Make it shorter in preparation for adding the same thing for triggers.
2022-10-12 21:39:12 +02:00
Anton Bambura e3904d8796 mt8183 devices: depend on soc-mediatek-mt8183 (MR 3525)
[ci:ignore-count]
2022-10-12 11:20:17 +02:00
Anton Bambura e384f479f2 soc-mediatek-mt8183: new aport (MR 3525) 2022-10-12 11:20:17 +02:00
Jami Kettunen 1d88d8bcdd main/waydroid-image: remove (MR 3508)
This has been out-of-date for almost a year with seemingly stalled
progress on the existing upgrade MR[1] for months now; it really seems
like no one wants to maintain this which currently leaves this
"force-installed-by-default" packaged image broken on all wlroots-based
Wayland compositors for example.

[1] https://gitlab.com/postmarketOS/pmaports/-/merge_requests/3091 ("Draft: main/waydroid-image: upgrade to 17.1.20220419")
2022-10-12 08:57:01 +02:00
knuxify 419cd8bf46 temp/gnome-shell-mobile: don't build against libsoup2 (MR 3523)
Fixes #1735.

[ci:skip-build]: already built successfully in CI
2022-10-12 08:17:16 +02:00
Henrik Grimler bd7c8d15ad linux-postmarketos-exynos5: re-generate patch headers (MR 3516)
Patch header for 0027 was not formatted correctly.  Fix that and
re-generate all other patches while we are at it.

[ci:skip-build] Already built successfuly on CI in MR
2022-10-11 18:39:46 +02:00
Anton Bambura ca3069185b google-snow: add MFC firmware (MR 3516) 2022-10-11 18:39:45 +02:00
Anton Bambura 851d946b72 google-peach-pit: add MFC firmware (MR 3516) 2022-10-11 18:39:45 +02:00
Anton Bambura 24cf355714 google-peach-pi: add MFC firmware (MR 3516) 2022-10-11 18:39:44 +02:00
Anton Bambura 8acf002c17 linux-postmarketos-exynos5: upgrade to 5.18.5 (MR 3516)
Also:

Fix camera on google-snow.

Enable video decoder.

Make boot.img smaller making kernel more modular and making FS-related
modules =y instead of =m (built-in file systems consume less space
than initramfs modules).
2022-10-11 18:39:43 +02:00
Oliver Smith 03ceddb284 CI: check mesa-dri-gallium dependency for devices (MR 3478)
Devices should not depend on it anymore to allow a more minimal install.
postmarketos-base will pull it in if mesa is installed.

[ci:ignore-count]
2022-10-11 11:19:53 +02:00
Newbyte 270e5e28ad device: drop depend on mesa-dri-gallium (MR 3478)
This is now installed by postmarketos-base when appropriate.
2022-10-11 11:19:43 +02:00
Minecrell 5f140538bf main/postmarketos-base: install mesa-dri-gallium only if needed (MR 3478)
At the moment almost all device packages force installation of the Mesa
drivers, even when they are not used by any application (for example on
a minimal headless installation with "none" or "console" UI).
Omitting mesa-dri-gallium from such installations saves about ~150 MiB
of disk space (469 MiB -> 317 MiB rootfs for minimal installation on
arrow-db410c).

The "classic" drivers have been removed from Mesa so only one mesa-dri-
package exists now: mesa-dri-gallium contains all Mesa drivers,
llvmpipe, freedreno, lima, panfrost, Intel (iris/crocus), ...

This means we can easily create an install_if package in
postmarketos-base that installs that driver package only if needed
(= only if another package requires the "mesa" package).

Strictly speaking the install_if could be restricted further since
mesa-dri-gallium is only needed by "mesa-egl", "mesa-gbm" and "mesa-gl"
but not e.g. the Vulkan drivers. Having three postmarketos-base
subpackages (one install_if for each of them) seems a bit
overengineered, though. "mesa" is a common dependency of all three
of them, so using install_if="... mesa" should be good enough.
2022-10-11 11:19:30 +02:00
Clayton Craft e27f63fd40 gnome-shell-mobile: depend on font-cantarell (MR 3521)
renamed in aports@9a0b06a175
2022-10-10 19:10:47 -07:00
Clayton Craft 03b842f3d7 postmarketos-splash: depend on font-droid (MR 3521)
renamed in aports@924a022f24
2022-10-10 18:53:37 -07:00
Clayton Craft 2023292d64 postmarketos-mkinitfs-hook-console-shell: change path to dejavu font (MR 3521)
renamed in aports@ee78772612

this also adds an explicit dependency on the font, since it may not have
been installed if postmarketos-ui-base was installed... (e.g. ui=None)
2022-10-10 18:53:37 -07:00
Clayton Craft 7327bd393f main/*: depend on font-dejavu (MR 3521)
renamed in aports@ee78772612
2022-10-10 18:53:35 -07:00
Newbyte 5c161ce834 mt8183 devices: update kernel dependency name (MR 3512)
[ci:ignore-count]
[ci:skip-build] already built successfully in CI
2022-10-10 18:12:13 -07:00
Newbyte 1ec0acca36 linux-postmarketos-mediatek-mt8183: rename from linux-postmarketos-mtk-mt8183 (MR 3512)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/3475#note_1118700476
2022-10-10 18:12:13 -07:00
Oliver Smith 86a787ffd9 linux-wiko-lenny5: drop python2 dependency (MR 3519)
Don't run python2 drvgen.

Related: https://wiki.postmarketos.org/wiki/Porting_to_a_new_device#Removing_python2_dependency

[ci:skip-build] Already built successfuly on CI in MR
2022-10-10 21:21:55 +02:00
Oliver Smith ce93fd7188 linux-lenovo-p1m: fix dependencies (MR 3519)
It builds just fine with the python2 dependency removed, probably copy
pasted from another kernel. And apk-tools definitively should not be in
there.
2022-10-10 21:21:22 +02:00
Oliver Smith 4b045d8f33 linux-alcatel-5010d: drop python2 dependency (MR 3519)
Don't run python2 drvgen.

Related: https://wiki.postmarketos.org/wiki/Porting_to_a_new_device#Removing_python2_dependency
2022-10-10 21:21:21 +02:00
Jakob Hauser 6b2cd8133c main/postmarketos-ui-xfce4: remove xfce4-battery-plugin and icon link (MR 3503)
The xfce4-battery-plugin doesn't need to be installed anymore since we
switched to the "power manager plugin" in postmarketos-ui-xfce4 0.5.0.

The link to the old PostmarketOS icon isn't needed anymore for new
installations.

[ci:skip-build]: already built successfully in CI
2022-10-10 17:30:22 +02:00
Anton Bambura dd5b85b210 google-veyron-speedy: set deviceinfo_cgpt_kpart_start to 24576 (MR 3517)
This will be needed for	booting	from eMMC.

[ci:skip-build]: already built successfully in CI
2022-10-10 17:17:10 +02:00
Anton Bambura ef31cc225e google-veyron-minnie: set deviceinfo_cgpt_kpart_start to 24576 (MR 3517)
This will be needed for booting from eMMC
2022-10-10 17:16:55 +02:00
Oliver Smith e1ef261c86 Partially revert "linux-*: install dtbs to /boot/dtbs (MR 3254)
Reverts commit 70efe55031 for kernels that
started failing on bpo. I suspect it's caused by a change in binutils,
since I tried building linux-oneplus-billie2 with gcc6 and got the same
error (after trying other workarounds like disabling selinux for it, but
then it failed elsewhere).
2022-10-10 07:34:03 +02:00
Clayton Craft 4b72fbd9da main/osk-sdl: upgrade to 0.67.1, change font dep and add patch to fix path
the ttf-dejavu package was renamed[1] and the path to the font file
changes.

https://gitlab.alpinelinux.org/alpine/aports/-/commit/ee787726123a4ff2dbd19460e53467d891f52456

fixes https://gitlab.com/postmarketOS/postmarketos-mkinitfs/-/issues/15
2022-10-09 14:34:23 -07:00
Elagost a292830ef9 device-pine64-pinephone: add kxkbrc for plasma-mobile pinephone-keyboard (MR 3438) 2022-10-09 12:45:35 -05:00
Newbyte 60d4821f68 CI: add dtb location check (MR 3254)
[ci:ignore-count]: Too many packages probably
[ci:skip-build]: No way this would finish in time
2022-10-09 17:04:36 +02:00
Newbyte a1f8eecde7 linux-postmarketos-qcom-msm8939: update checksums (MR 3254)
Checksums changed for some reason? ???

[ci:ignore-count]: Too many packages probably
[ci:skip-build]: No way this would finish in time
2022-10-09 17:04:36 +02:00
Newbyte 381ffe19cf samsung-starqltechn: update fdt data path to reflect new dtb location (MR 3254) 2022-10-09 17:04:36 +02:00
Newbyte 0308b77c47 lark-freeme-70-2s: remove dtb location workaround (MR 3254)
See previous commit for rationale.
2022-10-09 17:04:35 +02:00
Newbyte b9bb6bbba8 goclever-gcta741l: remove dtb location workaround (MR 3254)
We previously installed dtbs outside of the boot partition, so it
was necessary to copy them from the root partition to boot if you
wanted to utilise them in U-Boot scripts. This is no longer
necessary as we now install dtbs to the boot partition directly, so
remove this workaround and edit the U-Boot script to reflect the
change.
2022-10-09 17:04:35 +02:00
Newbyte 70efe55031 linux-*: install dtbs to /boot/dtbs (MR 3254)
[ci:ignore-count]: Too many packages probably
[ci:skip-build]: No way this would finish in time
2022-10-09 17:04:30 +02:00
Dylan Van Assche 90c11c46ca main/device-pine64-pinephone: refactor fwupd plugins (MR 3513)
fwupd 1.8.6 has all plugins builtin, remove subpackages
2022-10-09 16:22:38 +02:00
Dylan Van Assche 08bed11db5 community/device-shift-axolotl: refactor fwupd plugins (MR 3513)
fwupd 1.8.6 has all plugins builtin, remove subpackages
2022-10-09 16:22:19 +02:00
Dylan Van Assche 2867af783a community/device-pine64-pinephonepro: refactor fwupd plugins (MR 3513)
fwupd 1.8.6 has all plugins builtin, remove subpackages
2022-10-09 16:22:03 +02:00
Newbyte fa048b7517 main/postmarketos-base-ui: run SDL in Wayland mode by default (MR 2669)
This is possible now that all SDL (1) applications use sdl12-compat
instead of "classic" SDL 1.2. Note that this only is applied to user
interfaces that use Wayland and are launched through tinydm.

See https://gitlab.alpinelinux.org/alpine/aports/-/issues/12739
2022-10-09 15:23:59 +02:00
Richard Acayan bfe586d720 google-sargo: add maintainer (MR 3488)
I can maintain this device.

[ci:skip-build] Already built successfuly on CI in MR
2022-10-08 22:10:44 +02:00
Richard Acayan 353297c656 google-sargo: depend on sdm845 soc package (MR 3488)
Some SDM845-specific configurations and packages are also useful for the
Pixel 3a:
 - mesa-dri-gallium
 - qbootctl
 - swclock-offset
2022-10-08 22:10:39 +02:00
Richard Acayan 161f0751b7 google-sargo: enable automatic kernel upgrade (MR 3488) 2022-10-08 22:10:38 +02:00
Richard Acayan c368b64135 google-sargo: alphabetically sort dependencies (MR 3488)
One dependency is not alphabetically sorted. Put it in its place so
the placement of the next additions make sense.
2022-10-08 22:10:38 +02:00
Richard Acayan 7be1ac7f84 google-sargo: switch to close-to mainline kernel (MR 3488)
Note: This kernel does not have support for flash LED or haptics.
2022-10-08 22:10:38 +02:00
Newbyte 29f7006d5d main/postmarketos-ui-plasma-mobile: ttf-droid-nonlatin -> font-droid-nonlatin (MR 3506)
This was renamed in aports: https://gitlab.alpinelinux.org/alpine/aports/-/commit/924a022f242a928be94da4c616218d3fe8ee9ffe

[ci:skip-vercheck]
2022-10-08 19:14:51 +02:00
choc 0921691cbe testing/samsung-gts28velte: new device (MR 3384)
based on samsung-gts210velte

[ci:skip-build] Already built successfuly on CI in MR
2022-10-08 13:24:35 +02:00
Anton Bambura 6d77ccc0e2 google-elm: new device (MR 3505)
[ci:skip-build] Already built successfuly on CI in MR
2022-10-08 13:11:29 +02:00
Anton Bambura 602ecf8bdf google-hana: new device (MR 3505)
This device package represents several devices, so use plural form in
pkgdesc of APKBUILD:

pkgdesc="Google Hana Chromebooks"

However, when deviceinfo is already installed, it is intended to represent
only current device, so use singular form here:

deviceinfo_name="Google Hana Chromebook"
2022-10-08 13:10:49 +02:00
Anton Bambura fc256d626b firmware-powervr-gx6250: new aport (MR 3505) 2022-10-08 13:10:44 +02:00
Anton Bambura c5443e33fd linux-postmarketos-mediatek-mt8173: new aport (MR 3505) 2022-10-08 13:10:39 +02:00
Jakob Hauser b016cef0b2 main/postmarketos-ui-mate: add elogind (MR 3502)
That way rfkill plugin allows to use media keys for WiFi and Bluetooth.
And a suspend button becomes available in the shutdown dialog.
2022-10-08 10:46:42 +02:00
Sergey Lisov ad454e784d modem/samsungipcd: new aport (MR 3460)
Emulates an AT serial modem using libsamsung-ipc
2022-10-07 21:44:11 +02:00
Oliver Smith a53224a8e7 {main,cross}/gcc{4,6}*: remove !tracedeps option (MR 3498)
Don't build with !tracedeps, as otherwise the isl dependency is not
properly added to the built gccs. In practice this probably doesn't
matter since we only use these old gccs to build kernels in the native
chroots (not via crossdirect in foreign arch chroots), and we also
install a proper gcc in the native chroot that pulls in the isl
dependency. But fix it for correctness.

Related: pmaports issue 1732

[ci:skip-build] Already built successfuly on CI in MR
2022-10-07 21:36:17 +02:00
Clayton Craft 67b5efcea1 device-purism-librem5: upgrade to 1.34 (MR 3501)
- update to use librem5-base v52
- install usbguard config / new subpackage
- move xorg.conf to new x11 subpackage
- refactor udev rule install to just install everything available from
  librem5-base upstream
- use purism's shipmode script, see:
  https://source.puri.sm/Librem5/linux/-/merge_requests/333#note_195511
2022-10-07 21:31:45 +02:00
Yassine Oudjana e345f8fae1 samsung-grandpplte: new device (MR 3475)
Add device package for Samsung Galaxy Grand Prime+ (grandpplte).
This device uses U-Boot as a secondary bootloader.
2022-10-07 20:00:12 +02:00
Yassine Oudjana f455193c4a testing/mt6735-bootshim: new package (MR 3475)
Add package for MT6735 aarch64 boot shim, needed for booting arm64
Linux on samsung-grandpplte.
2022-10-07 20:00:12 +02:00
Yassine Oudjana 3601a50cc5 testing/u-boot-grandpplte: new package (MR 3475)
Add package of U-Boot fork for MT6735 with samsung-grandpplte
configuration.
2022-10-07 20:00:11 +02:00
Yassine Oudjana 60256d230e testing/linux-postmarketos-mediatek-mt6735: new package (MR 3475)
Add kernel package for MediaTek MT6735 mainline fork.
2022-10-07 20:00:10 +02:00
Bart Ribbers 122fc4d75a main/postmarketos-ui-plasma-mobile: bump pkgrel
Seems to have been lost in a rebase on the previous commit, sorry
2022-10-07 19:07:33 +02:00
Bhushan Shah 40bd7f1ce8 Use postmarketOS artwork on plasma-mobile (#1464) (MR 3459)
(cherry picked from commit 302b6f5c29)
2022-10-07 09:36:30 +02:00
Bart Ribbers b5c5918126 main/postmarketos-ui-plasma-mobile: remove firefox (MR 3499)
We already ship Angelfish and shipping 2 browser takes up a lot of
space. Besides Angelfish feels more native in Plasma Mobile (being baed
on Qt and made for mobile) and has a built-in adblocker nowadays so it
seems like the better option.

urfkill hasn't been used for quite a while, no need to keep it around

Motivation for this change is that the image builds of the UI are
currently running out of space so we need to decrease the image size
2022-10-06 11:39:54 +02:00
Bart Ribbers 980660b14f main/postmarketos-ui-plasma-mobile: remove urfkill
It hasn't been needed for a while
2022-10-06 08:59:02 +02:00
Oliver Smith d93ba1f372 cross/busybox-static-*: upgrade to 1.35.0-r27 2022-10-06 08:46:53 +02:00
Alexey Minnekhanov 0d0da0e271 testing/device-samsung-hlte: add new panel module to initfs (MR 3493)
[ci:skip-build]: already built successfully in CI
2022-10-06 08:22:42 +02:00
Luca Weiss d42260fd6f testing/device-*: adjust dtbs for msm8974 5.19 kernel (MR 3493)
During the msm8974 cleanup that landed in 5.19 a bunch of dtbs were
renamed to have a better name. Adjust deviceinfo for those devices.
2022-10-06 08:22:39 +02:00
Luca Weiss 655b0e12dd testing/linux-postmarketos-qcom-msm8974: upgrade to 5.19.9 (MR 3493) 2022-10-06 08:22:39 +02:00
Jakob Hauser a7b31e4731 main/postmarketos-ui-{mate,xfce4}: replace pulseaudio-utils by pulseaudio (MR 3479)
Actually package pulseaudio is needed instead of pulseaudio-utils.
Package pulseaudio-utils then gets drawn in by postmarketos-base-ui
sub-package pulseaudio.

For Xfce4 this is a cosmetic change because pulseaudio gets installed
as a dependency of pavucontol already. Keeping pulseaudio in the
_pmb_reccomends list makes sense to be clear which pieces are needed.

For MATE an explicit installation of pulseaudio is needed because it
doesn't use pavucontrol.

[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
2022-10-06 08:17:30 +02:00
Jakob Hauser 485cb2c6bd main/postmarketos-ui-{mate,xfce4}: add alsa-plugins-pulse (MR 3472)
Package alsa-plugins-pulse forewards PulseAudio interfaces to ALSA.
This helps to clean up the mess of PulseAudio vs. ALSA.

[ci:skip-vercheck]
2022-10-06 01:48:06 +03:00
Minecrell 018b1a1a2d community/device-asus-me176c: switch to linux-edge (MR 3167)
Linux 5.18 brought better support for some x86-based Android tablets,
thanks to work from Hans de Goede. This includes asus-me176c: the
modified ACPI table and the Linux fork is no longer necessary,
it can just run linux-edge from Alpine.

Drop the old Linux 5.4 fork and related packages. Instead of using
the proprietary sound firmware from linux-firmware-intel, switch to
using the open-source(!) "Sound Open Firmware" (SOF).

NOTE: The mainline battery driver seems quite a bit less accurate
than the ugly old driver ported from the downstream driver. Also,
Bluetooth seems to fail on some boots now. Overall it works quite
well though. :)
2022-10-06 01:34:42 +03:00
Newbyte 1ebdc7f4ab temp/mutter-mobile: rebuild against latest gnome-desktop (MR 3486) 2022-10-05 20:49:20 +02:00
Newbyte 2528ac7e95 temp/gnome-shell-mobile: rebuild against latest evolution-data-server (MR 3486)
and gnome-desktop
2022-10-05 20:48:37 +02:00
Jami Kettunen abde87678f soc-qcom-sdm845: fix dependency typo of -vulkan subpackage (MR 3495)
Fixes:

  ERROR: unable to select packages:
    mesa-vulkan-freedreeno (no such package):
      required by: soc-qcom-sdm845-vulkan-9-r0[mesa-vulkan-freedreeno]

Reference: https://pkgs.alpinelinux.org/package/edge/main/aarch64/mesa-vulkan-freedreno
2022-10-05 14:52:08 +02:00
Newbyte c995738e07 main/postmarketos-ui-phosh: drop osk.sh (MR 3487)
Since c49d84f4ab1856156d26d59f5c88387776990d24 in Alpine's aports,
the sm.puri.OSK0.desktop service no longer tries to execute
/usr/bin/osk-wayland and instead just executes /usr/bin/squeekboard
directly, thus avoiding this needless indirection. virtboard hasn't
existed in postmarketOS for years at this point and squeekboard is
a hard dependency of phosh, so it's always going to be present
(thus making this check unnecessary) and the fallback if it isn't
wouldn't work anyway.

[ci:skip-build]: already built successfully in CI
2022-10-05 09:20:01 +02:00
Caleb Connolly c24bb158a6 soc-qcom-sdm845: automatically install vulkan support (MR 3494)
[ci:skip-build]: already built successfully in CI
2022-10-05 09:17:24 +02:00
Luca Weiss 686d217dd5 testing/device-lg-lenok: add mainline dtb reference (MR 3491)
[ci:skip-build]: already built successfully in CI
2022-10-05 09:06:22 +02:00
Luca Weiss faec786db5 testing/device-huawei-sturgeon: add mainline dtb reference (MR 3491) 2022-10-05 09:06:13 +02:00
Luca Weiss b1d4e6e45a testing/device-asus-sparrow: add mainline dtb reference (MR 3491) 2022-10-05 09:06:08 +02:00
Luca Weiss 52a8258a5e main/pil-squasher: remove (MR 3490)
Upstreamed to Alpine.
2022-10-04 22:48:30 +02:00
Anton Bambura 5b8c948efd google-willow: new device (MR 3489)
[ci:skip-build] Already built successfuly on CI in MR
2022-10-04 21:45:10 +02:00
Anton Bambura 5bc6b9d97c google-kodama: new device (MR 3489) 2022-10-04 21:45:09 +02:00
Anton Bambura 27156ad6e9 google-kenzo: new device (MR 3489) 2022-10-04 21:45:09 +02:00
Anton Bambura 1291a002e0 google-kappa: new device (MR 3489) 2022-10-04 21:45:08 +02:00
Anton Bambura de4f3c94a8 google-kakadu: new device (MR 3489) 2022-10-04 21:45:07 +02:00
Anton Bambura 2d59881635 google-damu: new device (MR 3489) 2022-10-04 21:45:06 +02:00
Anton Bambura a21e0c569a google-fennel14: new device (MR 3489) 2022-10-04 21:45:06 +02:00
Anton Bambura d123359627 google-fennel: new device (MR 3489) 2022-10-04 21:45:05 +02:00
Anton Bambura 2fdb7ad710 google-cozmo: new device (MR 3489) 2022-10-04 21:45:04 +02:00
Anton Bambura 7d016111fd google-burnet: new device (MR 3489) 2022-10-04 21:45:03 +02:00
Newbyte ffea64b8b1 main/postmarketos-ui-phosh: remove phoc scaling configuration (MR 3434)
At this point the only application preconfigured to be scaled was GNOME
Maps, which nowdays adapts just fine to narrow screens. Having it scaled
like this by default only degrades the user experience by making UI
elements tiny and hard to interact with.

Closes https://gitlab.com/postmarketOS/pmaports/-/issues/1716
2022-10-03 20:25:20 +02:00
Alexander Martinz 37c7f81f55 community/linux-postmarketos-qcom-sdm845: upgrade to 5.19.12 (MR 3474)
For a merge list, please see the merge commits:
  - 5.19.8  - (https://gitlab.com/sdm845-mainline/linux/-/commit/30c780c930820e977088a5a145e623a8791bbe36)
  - 5.19.9  - (https://gitlab.com/sdm845-mainline/linux/-/commit/203e94fc4750025c6757ea576ae60761622de2dd)
  - 5.19.10 - (https://gitlab.com/sdm845-mainline/linux/-/commit/a88cf36006d765f3ac2c888d0ca87fa864b8caec)
  - 5.19.11 - (https://gitlab.com/sdm845-mainline/linux/-/commit/ade68530f5ea5bbe020451923d8232b87499c6ee)
  - 5.19.12 - (https://gitlab.com/sdm845-mainline/linux/-/commit/c19a1c06f1ff61f5d6971757442acf0736585551)

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

[ci:skip-build] Already built successfuly on CI in MR
2022-10-03 17:39:15 +02:00
Jakob Hauser f6db790abc main/swclock-offset: change maintainer name (MR 3481) 2022-10-03 17:09:46 +02:00
Newbyte 92c0846074 cross/gcc-armv7: upgrade to 12.2.1_git20220924-r2 2022-10-03 12:09:39 +02:00
Newbyte 97bbb88f39 cross/gcc-armhf: upgrade to 12.2.1_git20220924-r2 2022-10-03 12:06:50 +02:00
Newbyte 07200b060c cross/gcc-aarch64: upgrade to 12.2.1_git20220924-r2 2022-10-03 12:04:30 +02:00
Clayton Craft 32ea00d3f9 temp/evince: drop aport (MR 3484)
Upstream has evince 43 now, which seems to be adapted (tested on the
Librem 5), and the old evince in this package depends on a package that
no longer exists:
        ERROR: unable to select packages:
          so:libgnome-desktop-3.so.19 (no such package):
            required by: evince-9999_git20211009-r2[so:libgnome-desktop-3.so.19]
2022-10-02 10:44:32 +02:00
Newbyte ce46e963cf main/postmarketos-ui-gnome: disable on armhf (MR 3482)
[ci:skip-vercheck]
2022-10-01 22:42:54 +02:00
Newbyte bed0058f46 temp/gcr4: drop (MR 3465)
gcr4 is now in Alpine.
2022-10-01 22:17:47 +02:00
Newbyte 879c1f6900 temp/gjs: drop (MR 3465)
1.74.0 is now in Alpine.
2022-10-01 22:17:41 +02:00
Caleb Connolly bcd0b58cfb community/firmware-oneplus-sdm845: add OnePlus 6T speaker firmware (MR 3462)
The speaker codec driver is currently carried in the sdm845 mainline
kernel fork, we need the firmware to make use of it.
2022-10-01 22:08:46 +02:00
Caleb Connolly d9e75b4d92 community/firmware-oneplus-sdm845: clean up package logic (MR 3462) 2022-10-01 22:08:41 +02:00
knuxify fba7f73f18 device-raspberry-pi4: enable Bluetooth by default (MR 3461) 2022-10-01 22:03:06 +02:00
knuxify 106379972c device-raspberry-pi4: add firmware subpackage (MR 3461) 2022-10-01 22:03:06 +02:00
Vincent Knecht 63a4d7ab0b community/soc-qcom-msm8916: update ALSA UCM files (MR 3473)
- alcatel-idol347: enable headphones jack control
- msm8916-wcd: fix SpeakerHPHLR switch

[ci:skip-build]: built successfully locally, bpo needs bump
2022-10-01 11:54:28 +02:00
Clayton Craft 2447cb00e0 cross/gcc-*: upgrade to 12.2.1-r1 2022-09-30 17:31:59 -07:00
Newbyte f2c7c48e2a main/postmarketos-base: make apk interactive by default (MR 3444)
This would mitigate issues where apk unexpectedly replaces packages
somewhat as this way the user will be able to see precisely what changes
will happen to their system before they are committed. Furthermore, most
users are likely accustomed to package managers like apt, dnf, pacman,
among others that all are interactive by default and as such this would
provide a more familiar experience for them.

This will not affected pre-existing installs, and advanced users who
do not like this behaviour can restore the old one by deleting
/etc/apk/interactive.

[ci:skip-build]: already built successfully in CI
2022-09-28 09:18:55 +02:00
Raymond Hackley 6f074ad61d samsung-*: Add USB ID (MR 3469)
Some devices have 04e8:6860 as their USB ID. Add it to deviceinfo.

[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
2022-09-28 09:10:57 +02:00
Bart Ribbers aaa238793d linux-postmarketos-qcom-sdm845: add BTRFS support (MR 3458)
pmbootstrap allows generating btrfs images (install --filesystem btrfs)
but the sdm845 devices don't support booting it without this
2022-09-27 15:26:27 +02:00
Jakob Hauser f5669c1621 main/postmarketos-ui-mate: remove pavucontrol from recommends (MR 3468)
After PulseAudio support for MATE sound was enabled in Alpine Linux,
its interfaces are now available in the native MATE sound settings.
The additional PulseAudio volume control application therefore became
redundant.

[ci:skip-vercheck]
2022-09-27 10:28:19 +02:00
Andreas Kemnade 475b892673 kobo-clara, tolino-shine2hd, tolino-shine3: add mesa-dri-gallium dep (MR 3470)
Mesa behaves again, #1658 is fixed, so lets re-revert MR 3306.
Lets also add the dependency to the other devices using the same
graphics driver.

[ci:skip-build] Already built successfuly on CI in MR
2022-09-27 10:24:48 +02:00
Andreas Kemnade 3dadae21d2 linux-kobo-clara-mainline: upgrade to 5.19.11 (MR 3471)
- silence the wifi a bit, it really provides an enormous amout of spam
- enable pxp mem2mem video converter

[ci:skip-build] Already built successfuly on CI in MR
2022-09-27 10:11:42 +02:00
Oliver Smith 18a08fff5d treewide: adjust deviceinfo to new linting rules (MR 3454)
[ci:ignore-count]
2022-09-27 09:26:53 +02:00
Oliver Smith ff24bce15d CI: deviceinfo: add more strict linting (MR 3454)
pmbootstrap and postmarketos-mkinitfs don't support multiple lines in
these files, and the complexity is not worth implementing there. Let's
keep the format dead-simple and enforce it across all files.

While at it, enforce that comments stat with '# ' and make sure each
line has quotations (we had some without).

Related: discussion in postmarketos-mkinitfs MR 21
2022-09-27 09:26:41 +02:00
Clayton Craft d28d2e4a96 main/postmarketos-mkinitfs: upgrade to 1.5 (MR 3445) 2022-09-27 09:09:15 +02:00
omame 6156f79976 samsung-j6primelte: "Fix" EINVAL on FBIOPUT_VSCREENINFO (MR 3466)
This isn't really a fix, but the device's framebuffer has only one mode and it's enough to get Xorg up and running.

[ci:skip-build]: already built successfully in CI
2022-09-27 08:37:26 +02:00
Vincent Knecht 2f63bc3ca7 msm8939 mainline devices: use soc-qcom-msm8939 package (MR 3463)
Make use of soc-qcom-msm8939 package.
2022-09-26 08:19:56 +02:00
Vincent Knecht 78992d37bb soc-qcom-msm8939: new aport (MR 3463)
Add msm8939 SoC package to be used in addition to soc-qcom-msm8916.

For now it provides a shell script setting FD_MESA_DEBUG=nobin env var
to work-around graphical corruption seen on adreno 405 devices.
2022-09-26 08:19:55 +02:00
M0Rf30 54f97936aa testing/device-xiaomi-vince: mainline kernel support (MR 3446)
Also use correct product name.

[ci:skip-build] Already built successfuly on CI in MR
2022-09-25 17:24:04 +02:00
M0Rf30 faebdf6ba8 testing/firmware-xiaomi-vince: switch sources, restructure (MR 3446)
Fix corrupted adreno blob
2022-09-25 17:23:47 +02:00
M0Rf30 06dd3f2093 testing/linux-postmarketos-qcom-msm8953: upgrade to 5.18.3 (MR 3446)
Add xiaomi-vince support
2022-09-25 17:23:43 +02:00
Sicelo A. Mhlongo f18afd9145 device-nokia-n900: remove duplicates in deviceinfo (MR 3455)
Remove duplicated keyboard/keymap definitions in deviceinfo
2022-09-25 16:05:14 +02:00
David Wronek e2d1aa7bcf cross/gcc-*: upgrade to 12.1.1_git20220630-r6 (MR 3464) 2022-09-25 10:42:33 +02:00
Alexander Martinz 67bfa9a8ff device-shift-axolotl: depend on fwupd and friends (MR 3457)
The SHIFT6mq (axolotl) now supports updating the bootloader via
the new android-boot fwupd plugin.

A big shoutout and heartfelt "Thank You!" to Dylan for working
on this plugin and upstreaming it.

Change-Id: I1d608ce293a152e9354ca117cd370952df3f41ad
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
2022-09-23 12:01:00 +02:00
Luca Weiss a1a2f80a51 CI: require pmb:kconfigcheck-community for community/main devices (MR 3422)
Since nftables check is a part of community check, we can safely remove
the explicit nftables check.

[ci:skip-build]
2022-09-21 22:25:56 +02:00
Luca Weiss 2c58ce8e45 device/{community,main}/*: migrate to pmb:kconfigcheck-community (MR 3422)
Replace usages of pmb:kconfigcheck-* options with
pmb:kconfigcheck-community which will be required for all devices in
community/main category. This ensures more consistent features &
behavior across devices.
2022-09-21 22:25:49 +02:00
Craig Comstock 00f8f73a53 main/gesture: upgrade to 0.7 (MR 3453)
Fix dot gestures on several devices

https://gitlab.com/postmarketOS/pmaports/-/issues/1697
[ci:skip-build]: already built successfully in CI
2022-09-21 22:17:51 +02:00
lucasredelive 8982682ea6 samsung-j8y18lte: new device (Samsung Galaxy J8 (2018)) (MR 3426)
[ci:skip-build]: already built successfully in CI
2022-09-21 20:55:53 +02:00
Luca Weiss 2e4f21edaf main/qt5ct: remove
Package is present in Alpine repos since some time.

Closes #1160
2022-09-21 20:19:43 +02:00
Vincent Knecht 2f0a4245d3 huawei-kiwi: add panel-tianma-nt35596-5p5xa (MR 3451) 2022-09-21 11:30:31 +02:00
Oliver Smith 68eb144ba8 cross/binutils-*: upgrade to 2.39-r2 2022-09-18 21:02:32 +02:00
Bobby The Builder b66e58d4e3 linux-postmarketos-allwinner: upgrade to 5.19.8 (MR 3421)
[ci:skip-build]: already built successfully in CI
2022-09-18 20:53:42 +02:00
Raymond Hackley 3a38bcd09e samsung-fortunaltezt: Set deviceinfo_flash_offset_kernel="0x00008000" (MR 3447)
32-bit devices should use 0x00008000.
2022-09-18 20:26:21 +02:00
Oliver Smith 0a578020c2 main/postmarketos-ui-phosh: don't install gnome-mobile forks (MR 3448)
There is no need to install the experimental GNOME mobile forks when
running Phosh, it will probably just cause instabilities. Let's rather
not do it.
2022-09-18 20:03:40 +02:00
Oliver Smith e4994e5719 main/postmarketos-ui-gnome: don't install gnome-mobile forks (MR 3448)
Don't install the experimental gnome-mobile forks of gnome-shell and
mutter in regular GNOME. These are probably more stable, and most
importantly this prevents accidental uninstallation of gnome-shell
without installing gnome-mobile-shell.

Revert the addition of the gnome-shell dependency to
postmarketos-ui-gnome. This isn't needed anymore and caused further
issues.

Fixes: issue 1701
2022-09-18 20:03:35 +02:00
Oliver Smith 48698459ef main/postmarketos-ui-gnome: add dep on gnome-shell (MR 3443)
Since merging the gnome shell on mobile MR 3404, gnome-shell needs to be
explicitly installed or else it gets removed on upgrade.

[ci:skip-build]: already built successfully in CI
2022-09-16 08:56:05 +02:00
Alexey Minnekhanov dfee25cbf6 xiaomi-platina: add touchscreen module to initfs (MR 3342)
[ci:skip-build] Already built successfuly on CI in MR
2022-09-15 20:19:56 +02:00
Alexey Minnekhanov ff94a38671 xiaomi-lavender: add touchscreen module to initfs (MR 3342) 2022-09-15 20:19:33 +02:00
Alexey Minnekhanov 5a2b291aa4 xiaomi-clover: add touchscreen module to initfs (MR 3342) 2022-09-15 20:19:32 +02:00
Alexey Minnekhanov 4f15437c21 asus-x00td: add touchscreen module to initfs (MR 3342)
And panel-simple is now built-in
2022-09-15 20:19:32 +02:00
Alexey Min 4a685bd493 linux-postmarketos-qcom-sdm660: upgrade to 5.19 (MR 3342)
Upgrade to fresh Linux release.

Enable more features in kernel from pmbootstrap kconfig check:
anbox, containers, iwd, nftables, zram.

Disable CONFIG_REGULATOR_DEBUG to reduce dmesg spam.

DRM and PANEL_SIMPLE are now built-in (DRM_MSM is still "m").

Switch to framebuffer from SIMPLEFB to tinydrm (SIMPLEDRM=y).

Switch APKBUILD to use "make zinstall" approach.

(Device packages might need small adjustments to initfs modules list.)
2022-09-15 20:19:32 +02:00
Newbyte f5937947aa temp/upower: drop (MR 3440)
The known affected devices have had the battery display issues resolved.
xiaomi-beryllium and shift-axolotl were fixed in-kernel by Linux for
sdm845 version 5.19.7, and samsung-skomer works fine after backporting
the upstream Upower fix for the issue:
https://gitlab.freedesktop.org/upower/upower/-/merge_requests/170

The sdm845 devices also work fine with just the Upower fix for what it's
worth. The kernel fix is redundant.
2022-09-15 19:45:52 +02:00
Anjandev Momi d25d6e6088 main/postmarketos-ui-sxmo-de-dwm: upgrade to 1.11.1 (MR 3398)
[ci:skip-build] already built successfully in CI
2022-09-15 10:32:46 -07:00
Anjandev Momi 1c3b44199e main/sxmo-common: upgrade to 1.11.1 (MR 3398) 2022-09-15 10:32:40 -07:00
Anjandev Momi 430612a48f main/postmarketos-ui-sxmo-de-sway: upgrade to 1.11.1 (MR 3398) 2022-09-15 10:32:26 -07:00
Newbyte 3d28282ac7 temp/calamares-extensions: drop (MR 3439)
Patch has been moved to Alpine:
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/38950
2022-09-15 11:27:02 +02:00
Oliver Smith dd32a6697b main/postmarketos-welcome: upgrade to 0.7.0 (MR 3441)
[ci:skip-build]: already built successfully in CI
2022-09-15 09:35:27 +02:00
Newbyte b663e55b3a main/postmarketos-ui-gnome-mobile: new aport (MR 3404)
[ci:skip-build]: already built successfully in CI
2022-09-15 09:30:12 +02:00
Caleb Connolly 47e8aa8160 temp/gnome-shell-mobile: new aport (MR 3404) 2022-09-15 09:30:00 +02:00
Caleb Connolly 088b06cfb8 temp/mutter-mobile: new aport (MR 3404) 2022-09-15 09:30:00 +02:00
Caleb Connolly bdb0c4d4c6 temp/gcr4: new aport (for gnome-mobile, will be moved to alpine) (MR 3404) 2022-09-15 09:30:00 +02:00
Caleb Connolly c5051fecfc temp/gjs: temporarily fork to upgrade for gnome-mobile (MR 3404) 2022-09-15 09:29:55 +02:00
Oliver Smith 2176095404 cross/grub-efi-x86: upgrade to 2.06-r6 2022-09-15 09:15:43 +02:00
Oliver Smith 70001d44a6 cross/busybox-static-*: upgrade to 1.35.0-25 2022-09-15 09:15:38 +02:00
Craig Comstock 911065a682 motorola-surnia: change to mainline kernel (MR 3329)
[ci:skip-build] Already built successfuly on CI in MR
2022-09-14 22:56:47 +02:00
Oliver Smith b45db48e69 main/postmarketos-ui-phosh: update ff in favorites (MR 3420)
Adjust to change in Alpine, Firefox ESR is now launched via
firefox-esr.desktop instead of org.mozilla.firefox.desktop.
2022-09-14 09:51:09 +02:00
Newbyte 6c0cfb081b main/postmarketos-ui-phosh: adopt (MR 3435)
Bart has confirmed he's fine with this.
2022-09-14 09:43:57 +02:00
Bart Ribbers 8ead04ba61 main/postmarketos-ui-glacier: drop (MR 3433)
It's broken and I currently don't have any interest in fixing it or
maintaining it in general. If somebody wants to package it later they
can always restore it
2022-09-14 09:32:11 +02:00
Elagost 8ae2fccd41 linux-postmarketos-allwinner: add exfat module to armv7 config (MR 3437)
[ci:skip-build] Already built fine on CI in MR
2022-09-13 22:10:00 +03:00
Elagost ac881faa86 linux-postmarketos-allwinner: add exfat module (MR 3436)
[ci:skip-build] Already built fine on CI once
2022-09-13 18:39:58 +03:00
Oliver Smith 1ff0cac815 main/gcc{4,6}: remove dependency on isl (MR 3432)
Previously only cross/gcc{4,6}-* packages were adjusted in MR 3419, but
these packages need to be adjusted as well.

Fix for error shown in upstream_compat check:
  Increase 'gcc6' pkgrel (10 -> 11), missing depend(s): isl
  Increase 'gcc4' pkgrel (5 -> 6), missing depend(s): isl

Related: pmbootstrap issue  2167

[ci:skip-build] Already built successfully once
2022-09-13 17:20:20 +03:00
Phil Smith fac1dc0a64 main/postmarketos-ui-phosh: Fix firefox-esr mime (MR 3428)
Firefox packaging changed upstream, renaming the desktop files.  This
caused the mime applications to be stale, so update those.

See also
  https://gitlab.alpinelinux.org/alpine/aports/-/issues/13983
[ci:skip-build]: already built successfully in CI
2022-09-13 09:33:12 +02:00
Newbyte 45fc67abeb samsung-p4note: enable automatic kernel upgrades (MR 3425) 2022-09-13 09:17:36 +02:00
Sicelo A. Mhlongo 8d411c7c4d temp/xkeyboard-config: drop rx-51 patches (MR 3431)
Remove rx-51 (Nokia N900) modifications from package.

Related: #1521
[ci:skip-build]: already built successfully in CI
2022-09-13 09:14:54 +02:00
Sicelo A. Mhlongo 5da6060cd9 device-nokia-n900: Add x11 keymap (MR 3430)
Add rx-51 x11 keymap to device package in response to #1521

[ci:skip-build]: already built successfully in CI
2022-09-13 09:10:47 +02:00
Arnavion 2c74889256 main/postmarketos-hidden-desktop-entries: update firefox(-esr) safe-mode filename (MR 3418)
Ref:

- https://gitlab.alpinelinux.org/alpine/aports/-/commit/614929078261d2c438329c786831e0308baf5160

- https://gitlab.alpinelinux.org/alpine/aports/-/commit/525736254c52aa7dc0c9c7d7fdfef94dae3eba1c
2022-09-13 08:55:19 +02:00
Bart Ribbers b79dd34e1d main/postmarketos-ui-plasma-mobile: add dependency on PipeWire to fix window switcher previews (MR 3424) 2022-09-12 11:36:05 +02:00
Bart Ribbers b23d61b547 main/postmarketos-ui-plasma-mobile: add font-noto-extra to _pmb_recommends (MR 3423)
The "Light" weight is used by the keyboard and some applications

[ci:skip-vercheck]
2022-09-12 10:40:43 +02:00
Newbyte d8cb4fea55 postmarketos-ui-phosh: drop firefox subpackage (MR 3414)
The sole purpose of this subpackage was to work around that Firefox's
.desktop file did not match the GTK app ID. This has been fixed as of
the commit linked below, so drop the subpackage.

See https://gitlab.alpinelinux.org/alpine/aports/-/commit/525736254c52aa7dc0c9c7d7fdfef94dae3eba1c
2022-09-11 18:13:13 +02:00
Fiona Klute 72784fcf6f main/mobile-config-firefox: Fix firefox-esr >= 102.2.0-r1 (MR 3417)
The firefox-esr package in versions >= 102.2.0-r1 installs to
/usr/lib/firefox-esr instead of /usr/lib/firefox, adjust FIREFOX_DIR
to match. Install for both firefox-esr and firefox now.

[ci:skip-build]: already built successfully in CI
2022-09-11 18:00:00 +02:00
4166 changed files with 15641 additions and 1522802 deletions

No files matched your search

+22
View File
@@ -0,0 +1,22 @@
#!/bin/sh -e
# Description: run apkbuild-lint on modified APKBUILDs
# Options: native
# Use 'native' because it requires git commit history.
# https://postmarketos.org/pmb-ci
if [ "$(id -u)" = 0 ]; then
set -x
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
# Wrap pmbootstrap to use this repository for --aports
pmaports="$(cd "$(dirname "$0")"/..; pwd -P)"
_pmbootstrap="$(command -v pmbootstrap)"
pmbootstrap() {
"$_pmbootstrap" --aports="$pmaports" "$@"
}
.ci/lib/apkbuild_linting.py
+1
View File
@@ -0,0 +1 @@
lib/build_changed_aports.sh
+1
View File
@@ -0,0 +1 @@
lib/build_changed_aports.sh
+1
View File
@@ -0,0 +1 @@
lib/build_changed_aports.sh
-8
View File
@@ -1,8 +0,0 @@
#!/bin/sh -e
# Convenience wrapper for short arch-specific build jobs in .gitlab-ci.yml
export PYTHONUNBUFFERED=1
JOB_ARCH="${CI_JOB_NAME#build-}"
set -x
su pmos -c ".ci/build_changed_aports.py $JOB_ARCH"
Executable
+20
View File
@@ -0,0 +1,20 @@
#!/bin/sh -e
# Copyright 2022 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
# Description: check pkgver/pkgrel bumps, amount of changed pkgs etc
# Options: native
# Use 'native' because it requires git commit history.
# https://postmarketos.org/pmb-ci
if [ "$(id -u)" = 0 ]; then
set -x
# In .gitlab-ci.yml currently .ci/pytest.sh runs before this and
# already downloads and runs install_pmbootstrap.sh.
if ! [ -e install_pmbootstrap.sh ]; then
wget "https://gitlab.com/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
sh ./install_pmbootstrap.sh
fi
exec su "${TESTUSER:-pmos}" -c "sh -e $0"
fi
.ci/lib/check_changed_aports_versions.py
Executable
+13
View File
@@ -0,0 +1,13 @@
#!/bin/sh -e
# Description: editorconfig-checker: lint for trailing whitespaces etc.
# https://postmarketos.org/pmb-ci
if [ "$(id -u)" = 0 ]; then
set -x
apk -q add \
editorconfig-checker
exec su "${TESTUSER:-build}" -c "sh -e $0"
fi
set -x
ec
Executable
+14
View File
@@ -0,0 +1,14 @@
#!/bin/sh -e
# Description: lint CI related python scripts/tests
# https://postmarketos.org/pmb-ci
if [ "$(id -u)" = 0 ]; then
set -x
apk -q add py3-flake8
exec su "${TESTUSER:-build}" -c "sh -e $0"
fi
set -x
# shellcheck disable=SC2046
flake8 --ignore E501,F401,E722,W504,W605 $(find .ci -name '*.py')
Executable
+24
View File
@@ -0,0 +1,24 @@
#!/bin/sh -e
# Description: check various bad patterns with grep
# https://postmarketos.org/pmb-ci
if [ "$(id -u)" = 0 ]; then
set -x
apk -q add grep
exec su "${TESTUSER:-build}" -c "sh -e $0"
fi
# Find CHANGEMEs in APKBUILDs
if grep -qr '(CHANGEME!)' -- *; then
echo "ERROR: Please replace '(CHANGEME!)' in the following files:"
grep --color=always -r '(CHANGEME!)' -- *
exit 1
fi
# DTBs installed to /usr/share/db
# FIXME: doesn't pass currently, fix it and enable it afterwards
# if grep -r 'INSTALL_DTBS_PATH="$pkgdir"/usr/share/dtb'; then
# echo 'Please do not install dtbs to /usr/share/dtb!'
# echo 'Unless you have a good reason not to, please put them in /boot/dtbs'
# exit 1
# fi
Executable
+16
View File
@@ -0,0 +1,16 @@
#!/bin/sh -e
# Description: check modified kernel configs
# Options: native
# Use 'native' because it requires running pmbootstrap.
# https://postmarketos.org/pmb-ci
if [ "$(id -u)" = 0 ]; then
set -x
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
export PYTHONUNBUFFERED=1
.ci/lib/check_changed_kernels.py
+1
View File
@@ -0,0 +1 @@
../testcases/add_pmbootstrap_to_import_path
File renamed without changes.
@@ -7,7 +7,7 @@ import sys
import common
# pmbootstrap
import testcases.add_pmbootstrap_to_import_path
import add_pmbootstrap_to_import_path
import pmb.parse
import pmb.parse._apkbuild
import pmb.helpers.pmaports
+19
View File
@@ -0,0 +1,19 @@
#!/bin/sh -e
# Description: build modified packages for this architecture
# Options: native slow
# https://postmarketos.org/pmb-ci
if [ "$(id -u)" = 0 ]; then
set -x
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
export PYTHONUNBUFFERED=1
# Get the architecture from the symlink we are running
arch="$(echo "$0" | cut -d '-' -f 2 | cut -d '.' -f 1)"
set -x
.ci/lib/build_changed_aports.py "$arch"
@@ -11,7 +11,7 @@ import subprocess
import common
# pmbootstrap
import testcases.add_pmbootstrap_to_import_path # noqa
import add_pmbootstrap_to_import_path # noqa
import pmb.parse
import pmb.parse.version
import pmb.helpers.logging
+83
View File
@@ -0,0 +1,83 @@
#!/usr/bin/env python3
# Copyright 2023 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
import glob
import tempfile
import sys
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):
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")
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):
last_failed = pkgname
return last_failed
def show_error(last_failed):
print("")
print("Please adjust your kernel config. This is required for getting your"
" patch merged.")
print("")
print("Edit your kernel config:")
print(f" pmbootstrap kconfig edit {last_failed}")
print("")
print("Test this kernel config again:")
print(f" pmbootstrap kconfig check {last_failed}")
print("")
print("Run this check again (on all kernels you modified):")
print(" pmbootstrap ci kconfig")
print("")
if __name__ == "__main__":
common.add_upstream_git_remote()
pkgnames = common.get_changed_kernels()
print(f"Changed kernels: {pkgnames}")
if len(pkgnames) == 0:
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)
if last_failed:
show_error(last_failed)
exit(1)
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# Copyright 2021 Oliver Smith
# Copyright 2022 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
import argparse
@@ -13,7 +13,7 @@ def get_devices():
""":returns: list of all devices"""
ret = []
pmaports = (os.path.realpath(os.path.join(os.path.dirname(__file__) +
"/..")))
"/../..")))
for path in glob.glob(pmaports + "/device/*/device-*/"):
device = os.path.dirname(path).split("device-", 1)[1]
@@ -110,7 +110,7 @@ def main():
print("")
print("Now it's time to add some documentation:")
print("1) Create a device specific wiki page as described here:")
print(" <https://wiki.postmarketos.org/wiki/Help:Device_Page>")
print(" https://wiki.postmarketos.org/wiki/Help:Device_Page")
print("2) Set 'booting = yes' in the infobox of your device page.")
print("3) Run these tests again with an empty commit in your MR:")
print(" $ git commit --allow-empty -m 'run tests again'")
+9 -1
View File
@@ -17,7 +17,7 @@ def get_pmaports_dir():
global cache
if "pmaports_dir" in cache:
return cache["pmaports_dir"]
ret = os.path.realpath(os.path.join(os.path.dirname(__file__) + "/.."))
ret = os.path.realpath(os.path.join(os.path.dirname(__file__) + "/../.."))
cache["pmaports_dir"] = ret
return ret
@@ -190,3 +190,11 @@ def get_changed_packages():
ret.add(os.path.basename(dirname))
return ret
def get_changed_kernels():
ret = []
for pkgname in get_changed_packages():
if pkgname.startswith("linux-"):
ret += [pkgname]
return ret
+17
View File
@@ -0,0 +1,17 @@
#!/bin/sh -e
# Copyright 2022 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
if ! mount | grep -q /proc/sys/fs/binfmt_misc; then
echo "Mounting binfmt_misc"
mount -t binfmt_misc none /proc/sys/fs/binfmt_misc
fi
if id "build" > /dev/null 2>&1; then
echo "User 'build' exists already"
else
echo "Creating build user"
adduser -D build
chown -R build:build .
echo 'build ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
fi
+1 -1
View File
@@ -3,7 +3,7 @@
# SPDX-License-Identifier: GPL-3.0-or-later
if [ -z "$1" ]; then
echo "usage: $(basename $0) \$CI_PROJECT_DIR"
echo "usage: $(basename "$0") \$CI_PROJECT_DIR"
exit 1
fi
+17 -5
View File
@@ -1,15 +1,26 @@
#!/bin/sh -e
# Copyright 2021 Oliver Smith
# Copyright 2022 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
# Description: lint with various python tests
# Options: native
# Use 'native' because it requires pmbootstrap.
# https://postmarketos.org/pmb-ci
# Require pmbootstrap
if ! command -v pmbootstrap > /dev/null; then
echo "ERROR: pmbootstrap needs to be installed."
if [ "$(id -u)" = 0 ]; then
set -x
wget "https://gitlab.com/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
sh ./install_pmbootstrap.sh pytest
exec su "${TESTUSER:-pmos}" -c "sh -e $0"
fi
# Require pytest to be installed on the host system
if [ -z "$(command -v pytest)" ]; then
echo "ERROR: pytest command not found, make sure it is in your PATH."
exit 1
fi
# Wrap pmbootstrap to use this repository for --aports
pmaports="$(cd $(dirname $0)/..; pwd -P)"
pmaports="$(cd "$(dirname "$0")"/..; pwd -P)"
_pmbootstrap="$(command -v pmbootstrap)"
pmbootstrap() {
"$_pmbootstrap" --aports="$pmaports" "$@"
@@ -23,6 +34,7 @@ pmbootstrap -q shutdown
# Make sure we have a valid device (pmbootstrap#1128)
device="$(pmbootstrap config device)"
deviceinfo="$pmaports/device/*/device-$device/deviceinfo"
# shellcheck disable=SC2086
if ! [ -e $deviceinfo ]; then
echo "ERROR: Could not find deviceinfo file for selected device '$device'."
echo "Expected path: $deviceinfo"
+11 -12
View File
@@ -1,16 +1,15 @@
#!/bin/sh -e
# Copyright 2021 Oliver Smith
# Copyright 2022 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
# Description: lint all shell scripts
# https://postmarketos.org/pmb-ci
set -e
DIR="$(cd "$(dirname "$0")" && pwd -P)"
cd "$DIR/.."
DIR="$(cd "$(dirname "$0")/.." && pwd -P)"
# Find CHANGEMEs in APKBUILDs
if grep -qr '(CHANGEME!)' *; then
echo "ERROR: Please replace '(CHANGEME!)' in the following files:"
grep --color=always -r '(CHANGEME!)' *
exit 1
if [ "$(id -u)" = 0 ]; then
set -x
apk -q add shellcheck
exec su "${TESTUSER:-build}" -c "sh -e $0"
fi
# Shell: shellcheck
@@ -24,11 +23,10 @@ sh_files="
./main/postmarketos-mkinitfs-hook-debug-shell/20-debug-shell.sh
./main/postmarketos-mkinitfs-hook-netboot/netboot.sh
./main/postmarketos-update-kernel/update-kernel.sh
./main/swclock-offset/swclock-offset-boot.sh
./main/swclock-offset/swclock-offset-shutdown.sh
./main/ttyescape/*.post-install
./main/unl0kr/unlock.sh
./main/msm-firmware-loader/*.post-install
./device/community/soc-qcom-sdm845/call_audio_idle_suspend_workaround.sh
$(find . -path './main/postmarketos-ui-*/*.sh')
$(find . -path './main/postmarketos-ui-*/*.pre-install')
@@ -44,8 +42,9 @@ sh_files="
$(find . -path '.ci/*.sh')
"
for file in $sh_files; do
echo "Test with shellcheck: $file"
cd "$DIR/../$(dirname "$file")"
cd "$DIR/$(dirname "$file")"
shellcheck -e SC1008 -x "$(basename "$file")"
done
+6 -8
View File
@@ -16,20 +16,18 @@ def device_dependency_check(apkbuild, path):
""" Raise an error if a device package has a dependency that is not allowed
(e.g. because it should be in a subpackage instead). """
# asus-me176c: without this, the device will simply run the broken ACPI
# DSDT table, so we might as well update it. See pmaports!699.
firmware_ok = {"device-asus-me176c": ["firmware-asus-me176c-acpi"]}
pkgname = apkbuild["pkgname"]
for depend in apkbuild["depends"]:
if depend == "linux-firmware-none":
continue
if (depend.startswith("firmware-") or
depend.startswith("linux-firmware")):
if pkgname in firmware_ok and depend in firmware_ok[pkgname]:
continue
raise RuntimeError("Firmware package '" + depend + "' found in"
" depends of " + path + ". These go into"
" subpackages now, see"
" <https://postmarketos.org/devicepkg>.")
if depend == "mesa-dri-gallium":
raise RuntimeError(f"{path}: mesa-dri-gallium shouldn't be in"
" depends anymore (see pmaports!3478)")
def test_aports_device(args):
@@ -83,7 +81,7 @@ def test_aports_device_kernel(args):
# Parse kernels from depends
kernels_depends = []
for depend in apkbuild["depends"]:
if not depend.startswith("linux-"):
if not depend.startswith("linux-") or depend.startswith("linux-firmware-"):
continue
kernels_depends.append(depend)
+29 -8
View File
@@ -3,9 +3,10 @@
# SPDX-License-Identifier: GPL-3.0-or-later
import glob
import pytest
import sys
import os
import pytest
import re
import sys
import add_pmbootstrap_to_import_path
import pmb.parse
@@ -16,12 +17,15 @@ def deviceinfo_obsolete(info):
Test for obsolete options used in the deviceinfo file. They must still be
defined in pmbootstrap's config/__init__.py.
"""
obsolete_options = ["weston_pixman_type"]
obsolete_options = [
"usb_rndis_function",
"weston_pixman_type",
]
for option in obsolete_options:
if info[option]:
raise RuntimeError("option '" + option + "' is obsolete, please"
" remove it (reasons for removal are at"
" <https://postmarketos.org/deviceinfo>)")
if option in info and info[option]:
raise RuntimeError(f"option {option} is obsolete, please rename"
" or remove it (see reasons for removal of at"
" https://postmarketos.org/deviceinfo)")
def test_deviceinfo(args):
@@ -31,6 +35,8 @@ def test_deviceinfo(args):
# Iterate over all devices
last_exception = None
count = 0
pattern = re.compile("^deviceinfo_[a-zA-Z0-9_]*=\".*\"$")
for folder in glob.glob(args.aports + "/device/*/device-*"):
device = folder[len(args.aports):].split("-", 1)[1]
@@ -39,11 +45,26 @@ def test_deviceinfo(args):
f.close()
try:
# variable can not be empty
for line in lines:
# Require space after # for comments
if line.startswith("#") and not line.startswith("# "):
raise RuntimeError("Comment style: please change '#' to"
f" '# ': {line}")
# Skip empty lines and comments
if not line or line.startswith("# "):
continue
# Variable can not be empty
if '=""' in line:
raise RuntimeError("Please remove the empty variable: " + line)
# Check line against regex (can't use multiple lines etc.)
if not pattern.match(line) or line.endswith("\\\""):
raise RuntimeError("Line looks invalid, maybe missing"
" quotes/multi-line string/comment next"
f" to line instead of above? {line}")
# Successful deviceinfo parsing / obsolete options
info = pmb.parse.deviceinfo(args, device)
deviceinfo_obsolete(info)
+7
View File
@@ -15,8 +15,10 @@ def test_aports_firmware(args):
"""
excluded = [
"firmware-motorola-ali", # Depends on firmware-qcom-adreno-a530
"firmware-motorola-potter", # Depends on soc-qcom-msm8916-ucm
"firmware-oneplus-msm8998", # Depends on soc-qcom-sdm845-nonfree-firmware
"firmware-xiaomi-sagit", # Depends on soc-qcom-sdm845-nonfree-firmware
"firmware-samsung-baffinlite", # Depends on firmware-aosp-broadcom-wlan
"firmware-samsung-crespo", # Depends on firmware-aosp-broadcom-wlan
"firmware-samsung-maguro", # Depends on firmware-aosp-broadcom-wlan
@@ -41,3 +43,8 @@ def test_aports_firmware(args):
raise RuntimeError(f"{aport_name}: \"!tracedeps\" missing in"
" options= line. The tracedeps option is superfluous"
" for firmware packages.")
if "noarch" in apkbuild["arch"]:
raise RuntimeError(f"{aport_name}: \"arch\" must not be \"noarch\"!"
" Please limit this firmware package to the"
" required architectures only!")
+4 -4
View File
@@ -34,9 +34,9 @@ def test_aports_kernel(args):
" pmbootstrap installs cross-compiler"
" automatically.")
# nftables support in kernels used by main and community devices
# check some options only for main and community devices
for dir in ["main", "device/main", "device/community"]:
if path.startswith(f"{args.aports}/{dir}"):
assert pmb.parse.kconfig.check(args,
aport_name.replace("linux-", ""),
force_nftables_check=True)
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.")
+87
View File
@@ -0,0 +1,87 @@
#!/usr/bin/env python3
# Copyright 2022 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
import glob
import logging
import os
import pytest
import sys
import add_pmbootstrap_to_import_path
import pmb.parse
import pmb.parse._apkbuild
def apkbuild_check_provides(path, apkbuild, version, pkgname, subpkgname=None):
"""
Verify that a package or subpackage is using provides correctly.
:param path: to the APKBUILD for the error message
:param apkbuild: either the full return of pmb.parse.apkbuild() or a
subpackage of it (apkbuild["subpackages"][$subpkgname])
:param version: like 1.0.0-r3 so we can check against it
:param pkgname: package name
:param subpkgname: subpackage name, if we are looking at a subpackage
:returns: list of error strings
"""
name = pkgname
if subpkgname:
name = f"{pkgname}:{subpkgname}"
logging.info(f"{name}: checking provides")
ret = []
if not apkbuild["provides"]:
return ret
for provide in apkbuild["provides"]:
# Having provides entries without version is valid if the
# provider_priorty is also set (pma#1766)
if apkbuild["provider_priority"]:
continue
# Otherwise the version =$pkgver-r$pkgrel needs to be set. pmbootstrap
# already replaces the variables, so we check against the inserted
# values here.
if not provide.endswith(f"={version}"):
provide_no_ver = provide.split("=", 1)[0]
error = f"error in {path}:\n"
if subpkgname:
error += f"in subpackage:\n {subpkgname}\n"
else:
error += f"in package:\n {pkgname}\n"
error += f"broken provides entry:\n {provide_no_ver}\n"
error += "\n"
error += "This provides entry needs to be changed to"
error += f" '{provide_no_ver}=$pkgver-r$pkgrel'"
error += " (do not replace the variables, without '').\n"
error += "\n"
error += "If you know what you are doing and didn't add the"
error += " version on purpose, you also need to set a"
error += " provider_priority (pma#1766).\n"
error += "Reference:"
error += " https://wiki.alpinelinux.org/wiki/APKBUILD_Reference#provides"
ret += [error]
return ret
def test_provides(args):
errors = []
for path in glob.iglob(f"{args.aports}/**/APKBUILD", recursive=True):
apkbuild = pmb.parse.apkbuild(path)
pkgname = apkbuild["pkgname"]
version = f"{apkbuild['pkgver']}-r{apkbuild['pkgrel']}"
path_rel = os.path.relpath(path, args.aports)
errors += apkbuild_check_provides(path_rel, apkbuild, version, pkgname)
for subpkg, subpkg_data in apkbuild["subpackages"].items():
if not subpkg_data:
# default packaging function like -doc
continue
errors += apkbuild_check_provides(path_rel, subpkg_data, version,
pkgname, subpkg)
if errors:
for error in errors:
logging.error(error)
raise RuntimeError(f"test_provides failed with {len(errors)} errors")
+152
View File
@@ -0,0 +1,152 @@
#!/usr/bin/env python3
# Copyright 2022 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
# Various checks on source= in the APKBUILDs
import glob
import logging
import os
import pytest
import sys
import add_pmbootstrap_to_import_path
import pmb.parse
import pmb.parse._apkbuild
import pmb.parse.apkindex
import pmb.helpers.repo
def parse_source_from_checksums(args, apkbuild_path):
"""
Read the APKBUILD file and parse source files from the checksums at the
bottom. This has always the same format, even if $source is built with hard
to parse shell code (like in postmarketos-base).
:param apkbuild_path: full path to the APKBUILD
:returns: dict of parsed "source" filenames and checksums, e.g.:
{"first.patch": "b4dc4f3…",
"second.patch": "b4dc4f3…"}
"""
start = 'sha512sums="'
in_block = False
ret = {}
with open(apkbuild_path, encoding="utf-8") as handle:
for line in handle.readlines():
# Find start
if not in_block:
if line.startswith(start):
in_block = True
else:
continue
# sha512sums may have lines without checksums:
# https://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/73
if " " not in line:
continue
try:
checksum, filename = line.rstrip().split(" ", 2)
except ValueError:
raise ValueError("Failed to parse checksums. Try to delete the"
" checksums and generate them again with"
f" 'pmbootstrap checksum': {apkbuild_path}")
# Cut off 'sha512sums="' if the first checksum is in that line
if checksum.startswith(start):
checksum = checksum[len(start):]
# Find end
if filename.endswith('"'):
filename = filename[:-1]
ret[filename] = checksum
return ret
def test_aports_unreferenced_files(args):
"""
Raise an error if an unreferenced file is found
"""
for apkbuild_path in glob.iglob(args.aports + "/**/APKBUILD", recursive=True):
# pmbootstrap parser has some issues with complicated APKBUILDs, skip those.
if apkbuild_path.startswith(args.aports + "/cross/"):
continue
apkbuild = pmb.parse.apkbuild(apkbuild_path)
sources_chk = parse_source_from_checksums(args, apkbuild_path)
# Collect files from subpackages
subpackage_installs = []
subpackage_triggers = []
if apkbuild["subpackages"]:
for subpackage in apkbuild["subpackages"].values():
if not subpackage:
continue
subpackage_installs += subpackage.get("install", [])
subpackage_triggers += subpackage.get("triggers", [])
# Collect trigger files
trigger_sources = []
for trigger in apkbuild["triggers"] + subpackage_triggers:
trigger_sources.append(trigger.split("=")[0])
dirname = os.path.dirname(apkbuild_path)
for file in glob.iglob(dirname + "/**", recursive=True):
rel_file_path = os.path.relpath(file, dirname)
# Skip APKBUILDs and directories
if rel_file_path == "APKBUILD" or os.path.isdir(file):
continue
if os.path.basename(rel_file_path) not in sources_chk \
and rel_file_path not in apkbuild["install"] \
and rel_file_path not in subpackage_installs \
and rel_file_path not in trigger_sources:
raise RuntimeError(f"{apkbuild_path}: found unreferenced file: {rel_file_path}")
def test_distfiles_conflict(args):
"""
Make sure that each filename mentioned in any source= of any APKBUILD
always has the same checksum. This is important because apk caches
downloaded source files in a flat distfiles directory. So if two APKBUILDs
both download a file with the same filename but different checksum, and the
user builds both after each other, abuild will fail on the second build
with a checksum error.
"""
source_all = {}
for apkbuild_path in glob.iglob(f"{args.aports}/**/APKBUILD", recursive=True):
source = parse_source_from_checksums(args, apkbuild_path)
dir_path = os.path.dirname(apkbuild_path)
apkbuild_rel = os.path.relpath(apkbuild_path, args.aports)
for filename, checksum in source.items():
# Files bundled with the APKBUILD don't get copied to the distfiles
# cache, so not relevant for this check. Use glob.glob here and not
# iglob, because we don't want an iterator.
if glob.glob(f"{dir_path}/**/{filename}", recursive=True):
continue
# First time seeing this file
if filename not in source_all:
source_all[filename] = {"checksum": checksum,
"apkbuild_rel": apkbuild_rel}
continue
# Saw this file already with same checksum
if checksum == source_all[filename]["checksum"]:
continue
# Saw this file already with different checksum
logging.error("")
logging.error(f"ERROR: the source file '{filename}' has different"
" checksums in the following files:")
logging.error(f"- {source_all[filename]['apkbuild_rel']}:")
logging.error(f" {source_all[filename]['checksum']}")
logging.error(f"- {apkbuild_rel}:")
logging.error(f" {checksum}")
logging.error("")
logging.error("Fix this by setting a different target filename in"
" the package you modified:")
logging.error("https://wiki.alpinelinux.org/wiki/APKBUILD_Reference#source")
logging.error("")
raise RuntimeError(f"Conflict with source file '{filename}'")
-97
View File
@@ -1,97 +0,0 @@
#!/usr/bin/env python3
# Copyright 2021 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
import glob
import pytest
import sys
import os
import add_pmbootstrap_to_import_path
import pmb.parse
import pmb.parse._apkbuild
import pmb.parse.apkindex
import pmb.helpers.repo
def parse_source_from_checksums(args, apkbuild_path):
"""
Read the APKBUILD file and parse source files from the checksums at the
bottom. This has always the same format, even if $source is built with hard
to parse shell code (like in postmarketos-base).
:param apkbuild_path: full path to the APKBUILD
:returns: list of parsed "source" files, e.g.:
["first.patch", "second.patch"]
"""
start = 'sha512sums="'
in_block = False
ret = []
with open(apkbuild_path, encoding="utf-8") as handle:
for line in handle.readlines():
# Find start
if not in_block:
if line.startswith(start):
in_block = True
else:
continue
# sha512sums may have lines without checksums:
# https://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/73
if " " not in line:
continue
try:
_, filename = line.rstrip().split(" ", 2)
except ValueError:
raise ValueError("Failed to parse checksums. Try to delete the"
" checksums and generate them again with"
f" 'pmbootstrap checksum': {apkbuild_path}")
# Find end
if filename.endswith('"'):
ret += [filename[:-1]]
break
ret += [filename]
return ret
def test_aports_unreferenced_files(args):
"""
Raise an error if an unreferenced file is found
"""
for apkbuild_path in glob.iglob(args.aports + "/**/APKBUILD", recursive=True):
apkbuild = pmb.parse.apkbuild(apkbuild_path)
sources_chk = parse_source_from_checksums(args, apkbuild_path)
# Collect install files from subpackages
subpackage_installs = []
if apkbuild["subpackages"]:
for subpackage in apkbuild["subpackages"].values():
if not subpackage:
continue
try:
subpackage_installs += subpackage["install"]
except KeyError:
continue
# Collect trigger files
trigger_sources = []
if apkbuild["triggers"]:
for trigger in apkbuild["triggers"]:
trigger_sources.append(trigger.split("=")[0])
dirname = os.path.dirname(apkbuild_path)
for file in glob.iglob(dirname + "/**", recursive=True):
rel_file_path = os.path.relpath(file, dirname)
# Skip APKBUILDs and directories
if rel_file_path == "APKBUILD" or os.path.isdir(file):
continue
if os.path.basename(rel_file_path) not in sources_chk \
and rel_file_path not in apkbuild["install"] \
and rel_file_path not in subpackage_installs \
and rel_file_path not in trigger_sources:
raise RuntimeError(f"{apkbuild_path}: found unreferenced file: {rel_file_path}")
Executable
+15
View File
@@ -0,0 +1,15 @@
#!/bin/sh -e
# Description: verify devices are documented in the wiki
# Options: native
# Run natively so we don't need to set up a chroot, python3 is the only dep.
# https://postmarketos.org/pmb-ci
if [ "$(id -u)" = 0 ]; then
set -x
apk -q add \
python3
exec su "${TESTUSER:-build}" -c "sh -e $0"
fi
set -x
.ci/lib/check_devices_in_wiki.py --booting
+4
View File
@@ -0,0 +1,4 @@
{
"Version": "2.6.0",
"SpacesAftertabs": true
}
+2 -2
View File
@@ -7,8 +7,8 @@
# Top-most EditorConfig file.
root = true
[**/APKBUILD]
[{**.{md,ini,sh,rules,nft},**/APKBUILD}]
indent_style = tab
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
insert_final_newline = true
-1
View File
@@ -20,7 +20,6 @@ dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
+39 -50
View File
@@ -3,7 +3,7 @@
# global settings
image: alpine:latest
after_script:
- .ci/move_logs.sh $CI_PROJECT_DIR
- .ci/lib/move_logs.sh $CI_PROJECT_DIR
stages:
- lint
- build
@@ -14,11 +14,11 @@ stages:
# merge request ID is not available. This means, we must set the "only"
# variable accordingly - and if we only do it for one job, all other jobs will
# not get executed. So have the defaults here, and use them in all jobs that
# should run on both the master branch, and in merge requests.
# should run on both the v22.12 branch, and in merge requests.
# https://docs.gitlab.com/ee/ci/merge_request_pipelines/index.html#excluding-certain-jobs
.only-default: &only-default
only:
- master
- v22.12
- merge_requests
- tags
@@ -31,13 +31,12 @@ wiki:
- merge_requests
changes:
- device/*/device-*/*
before_script:
- apk -q add python3
script:
- .ci/check_devices_in_wiki.py --booting
- .ci/lib/gitlab_prepare_ci.sh
- .ci/wiki.sh
# testcases linting
testcases-linting:
flake8:
stage: lint
<<: *only-default
only:
@@ -49,28 +48,36 @@ testcases-linting:
before_script:
- apk -q add py-flake8
script:
- flake8 --ignore E501,F401,E722,W504,W605
- .ci/lib/gitlab_prepare_ci.sh
- .ci/flake8.sh
# shellcheck
shellcheck:
# shellcheck and various grep checks
shellcheck-grep:
stage: lint
<<: *only-default
image: alpine:edge
before_script:
- apk -q add shellcheck
script:
- .ci/lib/gitlab_prepare_ci.sh
- .ci/shellcheck.sh
- .ci/grep.sh
# aports checks (generic)
aports-static:
editor-config:
stage: lint
<<: *only-default
before_script:
- wget "https://gitlab.com/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
- sh ./install_pmbootstrap.sh pytest
image: alpine:edge
script:
- su pmos -c ".ci/run_testcases.sh"
- su pmos -c ".ci/check_changed_aports_versions.py"
- .ci/lib/gitlab_prepare_ci.sh
- .ci/ec.sh
allow_failure: true
# aports checks (generic)
pytest-commits:
stage: lint
<<: *only-default
script:
- .ci/lib/gitlab_prepare_ci.sh
- .ci/pytest.sh
- .ci/commits.sh
artifacts:
when: on_failure
paths:
@@ -79,26 +86,12 @@ aports-static:
- pmbootstrap.cfg
expire_in: 1 week
distfile-check:
stage: lint
<<: *only-default
before_script:
- apk -q add make findutils
- wget "https://gitlab.com/postmarketOS/ci-common/-/archive/master/ci-common-master.tar.bz2"
- tar -xf ci-common-master.tar.bz2
- mv ci-common-master/distfile-check/*.sh ci-common-master/distfile-check/Makefile .
- rm -r ci-common-master ci-common-master.tar.bz2
script:
- make -j999
# APKBUILD linting
aport-lint:
stage: lint
before_script:
- wget "https://gitlab.com/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
- sh ./install_pmbootstrap.sh
script:
- su pmos -c ".ci/apkbuild-linting.py"
- .ci/lib/gitlab_prepare_ci.sh
- .ci/apkbuild-lint.sh
only:
- merge_requests
allow_failure: true
@@ -108,16 +101,14 @@ kernel-kconfig:
stage: lint
only:
refs:
- master
- v22.12
- merge_requests
changes:
- device/*/linux-*/config-*
- main/linux-*/config-*
before_script:
- wget "https://gitlab.com/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
- sh ./install_pmbootstrap.sh pytest
script:
- su pmos -c "pmbootstrap kconfig check"
- .ci/lib/gitlab_prepare_ci.sh
- .ci/kconfig.sh
# MR settings
# (Checks for "Allow commits from members who can merge to the target branch")
@@ -136,10 +127,8 @@ mr-settings:
stage: build
<<: *only-default
before_script:
- wget "https://gitlab.com/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
- sh ./install_pmbootstrap.sh
script:
- .ci/build.sh
- .ci/lib/gitlab_prepare_ci.sh
after_script:
- cp -r /home/pmos/.local/var/pmbootstrap/packages/ packages/ || true
artifacts:
expire_in: 1 week
@@ -149,15 +138,15 @@ mr-settings:
build-x86_64:
extends: .build
build-x86:
extends: .build
script:
- .ci/build-x86_64.sh
build-aarch64:
extends: .build
script:
- .ci/build-aarch64.sh
build-armv7:
extends: .build
build-armhf:
extends: .build
script:
- .ci/build-armv7.sh
+74 -18
View File
@@ -1,21 +1,77 @@
# https://docs.gitlab.com/ee/user/project/code_owners.html
device/*/*-htc-golfu/ @Newbyte
device/*/*-pine64-pinephone/ @craftyguy @milesalan @bshah @proycon @anjandev @StacyHarper
device/*/*-htc-m8qlul/ @Newbyte
device/*/*-purism-librem5/ @craftyguy @bshah
device/*/device-lg-judyln/ @Newbyte
device/*/device-samsung-m0/ @Newbyte
device/*/linux-postmarketos-exynos4/ @Newbyte
device/*/linux-postmarketos-msm8939/ @Newbyte
device/*/linux-postmarketos-stericsson/ @Newbyte
device/community/*-qcom-sdm845 @calebccff @joelselvaraj
device/community/*-xiaomi-berrylium @joelselvaraj
device/community/device-oneplus-enchilada @calebccff
device/community/device-oneplus-fajita @calebccff
main/osk-sdl/ @craftyguy
main/postmarketos-ui-plasma-mobile/ @bshah
main/ttyescape @calebccff
temp/u-boot-librem5/ @craftyguy @bshah
device/*/*-htc-golfu/ @Newbyte
device/*/*-pine64-pinephone/ @craftyguy @milesalan @bshah @proycon @anjandev @StacyHarper
device/*/*-htc-m8qlul/ @Newbyte
device/*/*-purism-librem5/ @craftyguy @bshah
device/*/device-lg-judyln/ @Newbyte
device/*/device-samsung-m0/ @Newbyte
device/*/linux-postmarketos-exynos4/ @Newbyte
device/*/linux-postmarketos-msm8939/ @Newbyte
device/*/linux-postmarketos-stericsson/ @Newbyte
device/*/*-qcom-sdm845/ @sdm845-mainline
device/*/*-xiaomi-berrylium/ @joelselvaraj
device/*/device-oneplus-enchilada/ @calebccff
device/*/device-oneplus-fajita/ @calebccff
device/*/firmware-oneplus-sdm845/ @calebccff
device/*/device-shift-axolotl/ @amartinz @calebccff @dylanvanassche
device/*/*-lenovo-a6010/ @jenneron
device/*/*-lenovo-a6000/ @jenneron
device/*/device-microsoft-surface-rt/ @jenneron
device/*/device-google-fennel/ @jenneron
device/*/device-google-veyron-minnie/ @jenneron
device/*/device-google-burnet/ @jenneron
device/*/device-google-elm/ @jenneron
device/*/device-google-nyan-big/ @jenneron
device/*/device-google-peach-pi/ @jenneron
device/*/device-google-veyron-speedy/ @jenneron
device/*/linux-google-veyron/ @jenneron
device/*/u-boot-peach-pi/ @jenneron
device/*/device-google-cozmo/ @jenneron
device/*/u-boot-veyron-speedy/ @jenneron
device/*/device-google-juniper/ @jenneron @binarycraft
device/*/u-boot-peach-pit/ @jenneron
device/*/device-google-damu/ @jenneron
device/*/u-boot-nyan-4gb/ @jenneron
device/*/device-google-kenzo/ @jenneron
device/*/device-google-kodama/ @jenneron
device/*/u-boot-snow/ @jenneron
device/*/device-google-kevin/ @jenneron
device/*/linux-postmarketos-exynos5/ @jenneron
device/*/device-google-krane/ @jenneron
device/*/soc-mediatek-mt8183/ @jenneron
device/*/u-boot-veyron-minnie/ @jenneron
device/*/device-google-fennel14/ @jenneron
device/*/linux-google-nyan/ @jenneron
device/*/device-google-willow/ @jenneron
device/*/linux-postmarketos-mediatek-mt8173/ @jenneron
device/*/linux-postmarketos-mediatek-mt8183/ @jenneron @binarycraft
device/*/device-google-nyan-blaze/ @jenneron
device/*/firmware-powervr-gx6250/ @jenneron
device/*/device-google-hana/ @jenneron
device/*/device-google-snow/ @jenneron
device/*/device-google-kappa/ @jenneron
device/*/u-boot-nyan-2gb/ @jenneron
device/*/device-google-veyron-jerry/ @jenneron
device/*/device-google-kakadu/ @jenneron
device/*/firmware-google-veyron-brcm/ @jenneron
device/*/device-google-peach-pit/ @jenneron
device/*/device-lg-judyp/ @jenneron
device/*/device-asus-tf201/ @clamor95
device/*/device-asus-tf300t/ @clamor95
device/*/device-asus-tf300tg/ @clamor95
device/*/device-asus-tf700t/ @clamor95
device/*/device-lg-p895/ @clamor95
device/*/firmware-asus-transformer/ @clamor95 @jenneron
device/*/firmware-lg-x3/ @clamor95
device/*/linux-postmarketos-grate/ @clamor95 @jenneron
# vim: ts=4 sw=4 et
main/postmarketos-update-depthcharge-kernel/ @jenneron
main/osk-sdl/ @craftyguy
main/postmarketos-ui-plasma-mobile/ @bshah
main/ttyescape @calebccff
temp/u-boot-librem5/ @craftyguy @bshah
temp/alsa-ucm-conf-google-kukui/ @jenneron @binarycraft
temp/alsa-ucm-conf-google-gru/ @jenneron
# vim: ts=8 sw=4 et
+1 -1
View File
@@ -5,4 +5,4 @@ Helpful resources:
* [APKBUILD reference](https://wiki.alpinelinux.org/wiki/APKBUILD_Reference)
* [Alpine Linux aports](https://gitlab.alpinelinux.org/alpine/aports/)
* [Alpine Linux package search](https://pkgs.alpinelinux.org/packages)
* [postmarketOS package search](https://pkgs.postmarketos.org/packages)
* [postmarketOS package search](https://pkgs.postmarketos.org/packages)
-39
View File
@@ -1,39 +0,0 @@
# Reference: https://postmarketos.org/channels.cfg
[channels.cfg]
recommended=edge
[edge]
description=Rolling release / Most devices / Occasional breakage: https://postmarketos.org/edge
branch_pmaports=master
branch_aports=master
mirrordir_alpine=edge
[v22.06]
description=Latest release / Recommended for best stability
branch_pmaports=v22.06
branch_aports=3.16-stable
mirrordir_alpine=v3.16
[v21.12]
description=Old release (unsupported)
branch_pmaports=v21.12
branch_aports=3.15-stable
mirrordir_alpine=v3.15
[v21.06]
description=Old release (unsupported)
branch_pmaports=v21.06
branch_aports=3.14-stable
mirrordir_alpine=v3.14
[v21.03]
description=Old release (unsupported)
branch_pmaports=v21.03
branch_aports=3.13-stable
mirrordir_alpine=v3.13
[v20.05]
description=Old release (unsupported)
branch_pmaports=v20.05
branch_aports=3.12-stable
mirrordir_alpine=v3.12
+7 -1
View File
@@ -8,7 +8,7 @@ CTARGET="$(arch_to_hostspec $CTARGET_ARCH)"
pkgname=binutils-aarch64
pkgver=2.39
pkgrel=1
pkgrel=2
pkgdesc="Tools necessary to build programs for aarch64 targets"
url="https://www.gnu.org/software/binutils/"
makedepends_build="bison flex texinfo"
@@ -23,6 +23,7 @@ source="https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz
ld-bfd-mips.patch
0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
binutils-mips-disable-assert.patch
CVE-2022-38533.patch
"
builddir="$srcdir/binutils-$pkgver"
@@ -37,6 +38,10 @@ if [ "$CHOST" != "$CTARGET" ]; then
fi
# secfixes:
# 2.39-r2:
# - CVE-2022-38533
# 2.39-r0:
# - CVE-2022-38126
# 2.35.2-r1:
# - CVE-2021-3487
# 2.32-r0:
@@ -146,4 +151,5 @@ f55cf2e0bf82f97583a1abe10710e4013ecf7d64f1da2ef8659a44a06d0dd8beaf58dab98a183488
314d2ef9071c89940aa6c8118e8a1e2f191a5d0a4bf596da1ad9cc84f884d8bc7dea8bd7b9fc3f8f1bddd3fd41c6eb017e1e804044b3bf084df1ed9e6e095e2d ld-bfd-mips.patch
70ec22bd72ef6dddecfd970613387dd4a8cdc8730dd3cbf03d5a0c3a7c4d839383167bb06dad21bf7c235329fd44b5dc4aefe762f68544f17155cf002bf1be4a 0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
609cd90d8b334eb309f586b17b9d335a08d3dbb6def7c3eb5c010028fcb681674031e5b9d853aa7a39a50304356a86afc184b85562b3f228f8197f4d29395c8f binutils-mips-disable-assert.patch
631726e557524633ace39c597acbc5ac39bfd25f7b292eee1f0b2a80a503f4ff799f027757d12d5a24b2fa3c07c7e14602d8a86d96e19876d6d0d5d1a02817e7 CVE-2022-38533.patch
"
@@ -0,0 +1,22 @@
X-Git-Url: https://sourceware.org/git/?p=binutils-gdb.git;a=blobdiff_plain;f=bfd%2Fcoffcode.h;h=52027981c3f052d98e043cd0c877f0bb5da97c7f;hp=67aaf158ca1829fe63f0065f31a0b1009b227b36;hb=ef186fe54aa6d281a3ff8a9528417e5cc614c797;hpb=80075150727d653c39e9d037e15c6b87dcef08cd
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index 67aaf158ca1..52027981c3f 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -4302,10 +4302,13 @@ coff_set_section_contents (bfd * abfd,
rec = (bfd_byte *) location;
recend = rec + count;
- while (rec < recend)
+ while (recend - rec >= 4)
{
+ size_t len = bfd_get_32 (abfd, rec);
+ if (len == 0 || len > (size_t) (recend - rec) / 4)
+ break;
+ rec += len * 4;
++section->lma;
- rec += bfd_get_32 (abfd, rec) * 4;
}
BFD_ASSERT (rec == recend);
@@ -1,55 +0,0 @@
From bbf05b742fde518fb97c789b043fe0d3aaf549f0 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Tue, 21 Sep 2021 14:53:13 +0000
Subject: [PATCH] Revert "PR25882, .gnu.attributes are not checked for shared
libraries"
This revert is needed to avoid wrongly tagging objects with the incompatible
IBM long double ABI, which is not supported by musl and will result in
linking errors if used.
This reverts commit a8acd6eeb6dc2cc5460ece90f90ebe36b56b20ba.
---
bfd/elf32-tic6x.c | 3 ---
ld/ldlang.c | 10 ++++------
2 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/bfd/elf32-tic6x.c b/bfd/elf32-tic6x.c
index 5754f3cb860..3ad1d612749 100644
--- a/bfd/elf32-tic6x.c
+++ b/bfd/elf32-tic6x.c
@@ -3735,9 +3735,6 @@ elf32_tic6x_merge_attributes (bfd *ibfd, struct bfd_link_info *info)
case Tag_ABI_PIC:
case Tag_ABI_PID:
- /* Don't transfer these tags from dynamic objects. */
- if ((ibfd->flags & DYNAMIC) != 0)
- continue;
if (out_attr[i].i > in_attr[i].i)
out_attr[i].i = in_attr[i].i;
break;
diff --git a/ld/ldlang.c b/ld/ldlang.c
index 37b64c89ee1..f13beaef9d9 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -7071,13 +7071,11 @@ lang_check (void)
bfd_printable_name (input_bfd), input_bfd,
bfd_printable_name (link_info.output_bfd));
}
-
- /* If the input bfd has no contents, it shouldn't set the
- private data of the output bfd. */
- else if (!file->flags.just_syms
- && ((input_bfd->flags & DYNAMIC) != 0
- || bfd_count_sections (input_bfd) != 0))
+ else if (bfd_count_sections (input_bfd))
{
+ /* If the input bfd has no contents, it shouldn't set the
+ private data of the output bfd. */
+
bfd_error_handler_type pfn = NULL;
/* If we aren't supposed to warn about mismatched input
--
2.33.0
-149
View File
@@ -1,149 +0,0 @@
# Automatically generated aport, do not edit!
# Generator: pmbootstrap aportgen binutils-armhf
# Based on: main/binutils
CTARGET_ARCH=armhf
CTARGET="$(arch_to_hostspec $CTARGET_ARCH)"
pkgname=binutils-armhf
pkgver=2.39
pkgrel=1
pkgdesc="Tools necessary to build programs for armhf targets"
url="https://www.gnu.org/software/binutils/"
makedepends_build="bison flex texinfo"
makedepends_host="zlib-dev"
makedepends="$makedepends_build $makedepends_host"
arch="x86_64"
license="GPL-2.0 GPL-3.0-or-later LGPL-2.0 BSD"
subpackages="binutils-dev binutils-doc"
source="https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz
binutils-ld-fix-static-linking.patch
gold-mips.patch
ld-bfd-mips.patch
0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
binutils-mips-disable-assert.patch
"
builddir="$srcdir/binutils-$pkgver"
if [ "$CHOST" = "$CBUILD" ] && [ "$CBUILD" = "$CTARGET" ] && [ "$CTARGET_ARCH" != "riscv64" ]; then
subpackages="$subpackages binutils-gold"
fi
if [ "$CHOST" != "$CTARGET" ]; then
pkgname="binutils-$CTARGET_ARCH"
subpackages=""
sonameprefix="binutils:"
fi
# secfixes:
# 2.35.2-r1:
# - CVE-2021-3487
# 2.32-r0:
# - CVE-2018-19931
# - CVE-2018-19932
# - CVE-2018-20002
# - CVE-2018-20712
# 2.28-r1:
# - CVE-2017-7614
build() {
local _sysroot=/
local _cross_configure="--enable-install-libiberty --enable-shared"
local _arch_configure=""
local _gold_configure="--disable-gold"
local _plugin_configure="--enable-plugins"
if [ "$CHOST" != "$CTARGET" ]; then
_sysroot="$CBUILDROOT"
_cross_configure="--disable-install-libiberty"
_plugin_configure="--disable-plugins"
fi
if [ "$CHOST" = "$CBUILD" ] && [ "$CBUILD" = "$CTARGET" ] && [ "$CTARGET_ARCH" != "riscv64" ]; then
_gold_configure="--enable-gold"
fi
if [ "$CTARGET_ARCH" = "x86_64" ]; then
_arch_configure="--enable-targets=x86_64-pep"
fi
if [ "$CTARGET_ARCH" = "riscv64" ]; then
_gold_configure="--disable-gold"
fi
case "$CTARGET_ARCH" in
mips*) _hash_style_configure="--enable-default-hash-style=sysv" ;;
*) _hash_style_configure="--enable-default-hash-style=gnu" ;;
esac
./configure \
--build=$CBUILD \
--host=$CHOST \
--target=$CTARGET \
--with-build-sysroot="$CBUILDROOT" \
--with-sysroot=$_sysroot \
--prefix=/usr \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--disable-multilib \
--disable-gprofng \
--enable-ld=default \
$_gold_configure \
--enable-64-bit-bfd \
$_plugin_configure \
--enable-relro \
--enable-deterministic-archives \
--enable-default-execstack=no \
$_cross_configure \
$_arch_configure \
$_hash_style_configure \
--with-pic \
--disable-werror \
--disable-nls \
--with-mmap \
--with-system-zlib
make
}
package() {
make install DESTDIR="$pkgdir"
if [ -d "$pkgdir"/usr/lib64 ]; then
mv "$pkgdir"/usr/lib64/* "$pkgdir"/usr/lib/
rmdir "$pkgdir"/usr/lib64
fi
if [ "$CHOST" != "$CTARGET" ]; then
# creating cross tools: remove any files that would conflict
# with the native tools, or other cross tools
rm -r "${pkgdir:?}"/usr/share
rm -f "$pkgdir"/usr/lib/libiberty.a
rm -r "${pkgdir:?}"/usr/lib/bfd-plugins
fi
}
libs() {
pkgdesc="Runtime libraries from binutils - libbfd and libopcodes"
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/lib*.so "$subpkgdir"/usr/lib/
}
gold() {
pkgdesc="GNU binutils - gold linker"
if [ -e "$pkgdir"/usr/bin/ld.gold ]; then
mkdir -p "$subpkgdir"/usr/bin
mv "$pkgdir"/usr/bin/ld.gold "$subpkgdir"/usr/bin
fi
mkdir -p "$subpkgdir"/usr/$CTARGET/bin
mv "$pkgdir"/usr/$CTARGET/bin/ld.gold "$subpkgdir"/usr/$CTARGET/bin/ld.gold
}
sha512sums="
68e038f339a8c21faa19a57bbc447a51c817f47c2e06d740847c6e9cc3396c025d35d5369fa8c3f8b70414757c89f0e577939ddc0d70f283182504920f53b0a3 binutils-2.39.tar.xz
ecee33b0e435aa704af1c334e560f201638ff79e199aa11ed78a72f7c9b46f85fbb227af5748e735fd681d1965fcc42ac81b0c8824e540430ce0c706c81e8b49 binutils-ld-fix-static-linking.patch
f55cf2e0bf82f97583a1abe10710e4013ecf7d64f1da2ef8659a44a06d0dd8beaf58dab98a183488ea137f03e32d62efc878d95f018f836f8cec870bc448556f gold-mips.patch
314d2ef9071c89940aa6c8118e8a1e2f191a5d0a4bf596da1ad9cc84f884d8bc7dea8bd7b9fc3f8f1bddd3fd41c6eb017e1e804044b3bf084df1ed9e6e095e2d ld-bfd-mips.patch
70ec22bd72ef6dddecfd970613387dd4a8cdc8730dd3cbf03d5a0c3a7c4d839383167bb06dad21bf7c235329fd44b5dc4aefe762f68544f17155cf002bf1be4a 0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
609cd90d8b334eb309f586b17b9d335a08d3dbb6def7c3eb5c010028fcb681674031e5b9d853aa7a39a50304356a86afc184b85562b3f228f8197f4d29395c8f binutils-mips-disable-assert.patch
"
@@ -1,46 +0,0 @@
This fixes static linking for our hardened toolchain
diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc
index e8126cb..9532bfb 100644
--- a/ld/scripttempl/elf.sc
+++ b/ld/scripttempl/elf.sc
@@ -235,8 +235,8 @@ test "${LARGE_SECTIONS}" = "yes" && LARGE_SECTIONS="
if test "${ENABLE_INITFINI_ARRAY}" = "yes"; then
SORT_INIT_ARRAY="KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*)))"
SORT_FINI_ARRAY="KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*)))"
- CTORS_IN_INIT_ARRAY="EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .ctors"
- DTORS_IN_FINI_ARRAY="EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .dtors"
+ CTORS_IN_INIT_ARRAY="EXCLUDE_FILE (*crtbegin*.o *crtend*.o $OTHER_EXCLUDE_FILES) .ctors"
+ DTORS_IN_FINI_ARRAY="EXCLUDE_FILE (*crtbegin*.o *crtend*.o $OTHER_EXCLUDE_FILES) .dtors"
else
SORT_INIT_ARRAY="KEEP (*(SORT(.init_array.*)))"
SORT_FINI_ARRAY="KEEP (*(SORT(.fini_array.*)))"
@@ -270,15 +270,14 @@ CTOR=".ctors ${CONSTRUCTING-0} :
doesn't matter which directory crtbegin.o
is in. */
- KEEP (*crtbegin.o(.ctors))
- KEEP (*crtbegin?.o(.ctors))
+ KEEP (*crtbegin*.o(.ctors))
/* We don't want to include the .ctor section from
the crtend.o file until after the sorted ctors.
The .ctor section from the crtend file contains the
end of ctors marker and it must be last */
- KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .ctors))
+ KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
${CONSTRUCTING+${CTOR_END}}
@@ -286,9 +285,8 @@ CTOR=".ctors ${CONSTRUCTING-0} :
DTOR=".dtors ${CONSTRUCTING-0} :
{
${CONSTRUCTING+${DTOR_START}}
- KEEP (*crtbegin.o(.dtors))
- KEEP (*crtbegin?.o(.dtors))
- KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o $OTHER_EXCLUDE_FILES) .dtors))
+ KEEP (*crtbegin*.o(.dtors))
+ KEEP (*(EXCLUDE_FILE (*crtend*.o $OTHER_EXCLUDE_FILES) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
${CONSTRUCTING+${DTOR_END}}
@@ -1,14 +0,0 @@
diff -urN binutils-2.35.2.orig/bfd/elfxx-mips.c binutils-2.35.2/bfd/elfxx-mips.c
--- binutils-2.35.2.orig/bfd/elfxx-mips.c 2021-01-30 01:38:03.000000000 -0700
+++ binutils-2.35.2/bfd/elfxx-mips.c 2021-05-13 17:35:34.706913601 -0600
@@ -6744,8 +6744,10 @@
in the relocation. */
if (h != NULL && ! SYMBOL_REFERENCES_LOCAL (info, &h->root))
{
+#if 0
BFD_ASSERT (htab->root.target_os == is_vxworks
|| h->global_got_area != GGA_NONE);
+#endif
indx = h->root.dynindx;
if (SGI_COMPAT (output_bfd))
defined_p = h->root.def_regular;
-39
View File
@@ -1,39 +0,0 @@
# DP: Fix gold on mips64 targets.
gold/
2016-08-09 Aurelien Jarno <aurelien@aurel32.net>
* configure.tgt: Add mips64el*-*-*|mips64le*-*-* and mips64*-*-*.
--- a/gold/configure.tgt
+++ b/gold/configure.tgt
@@ -153,6 +153,13 @@ aarch64*-*)
targ_big_endian=false
targ_extra_big_endian=true
;;
+mips*64*el*-*-*|mips*64*le*-*-*)
+ targ_obj=mips
+ targ_machine=EM_MIPS_RS3_LE
+ targ_size=64
+ targ_big_endian=false
+ targ_extra_big_endian=true
+ ;;
mips*el*-*-*|mips*le*-*-*)
targ_obj=mips
targ_machine=EM_MIPS_RS3_LE
@@ -160,6 +167,13 @@ mips*el*-*-*|mips*le*-*-*)
targ_big_endian=false
targ_extra_big_endian=true
;;
+mips*64*-*-*)
+ targ_obj=mips
+ targ_machine=EM_MIPS
+ targ_size=64
+ targ_big_endian=true
+ targ_extra_big_endian=false
+ ;;
mips*-*-*)
targ_obj=mips
targ_machine=EM_MIPS
-19
View File
@@ -1,19 +0,0 @@
--- ./ld/configure.tgt.orig
+++ ./ld/configure.tgt
@@ -541,12 +541,12 @@
;;
mips*-*-windiss) targ_emul=elf32mipswindiss
;;
-mips64*el-*-linux-*) targ_emul=elf32ltsmipn32
- targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
+mips64*el-*-linux-*) targ_emul=elf64ltsmip
+ targ_extra_emuls="elf32ltsmipn32 elf32btsmipn32 elf32ltsmip elf32btsmip elf64btsmip"
targ_extra_libpath=$targ_extra_emuls
;;
-mips64*-*-linux-*) targ_emul=elf32btsmipn32
- targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
+mips64*-*-linux-*) targ_emul=elf64btsmip
+ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32btsmip elf32ltsmip elf64ltsmip"
targ_extra_libpath=$targ_extra_emuls
;;
mips*el-*-linux-*) targ_emul=elf32ltsmip
+7 -1
View File
@@ -8,7 +8,7 @@ CTARGET="$(arch_to_hostspec $CTARGET_ARCH)"
pkgname=binutils-armv7
pkgver=2.39
pkgrel=1
pkgrel=2
pkgdesc="Tools necessary to build programs for armv7 targets"
url="https://www.gnu.org/software/binutils/"
makedepends_build="bison flex texinfo"
@@ -23,6 +23,7 @@ source="https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz
ld-bfd-mips.patch
0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
binutils-mips-disable-assert.patch
CVE-2022-38533.patch
"
builddir="$srcdir/binutils-$pkgver"
@@ -37,6 +38,10 @@ if [ "$CHOST" != "$CTARGET" ]; then
fi
# secfixes:
# 2.39-r2:
# - CVE-2022-38533
# 2.39-r0:
# - CVE-2022-38126
# 2.35.2-r1:
# - CVE-2021-3487
# 2.32-r0:
@@ -146,4 +151,5 @@ f55cf2e0bf82f97583a1abe10710e4013ecf7d64f1da2ef8659a44a06d0dd8beaf58dab98a183488
314d2ef9071c89940aa6c8118e8a1e2f191a5d0a4bf596da1ad9cc84f884d8bc7dea8bd7b9fc3f8f1bddd3fd41c6eb017e1e804044b3bf084df1ed9e6e095e2d ld-bfd-mips.patch
70ec22bd72ef6dddecfd970613387dd4a8cdc8730dd3cbf03d5a0c3a7c4d839383167bb06dad21bf7c235329fd44b5dc4aefe762f68544f17155cf002bf1be4a 0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
609cd90d8b334eb309f586b17b9d335a08d3dbb6def7c3eb5c010028fcb681674031e5b9d853aa7a39a50304356a86afc184b85562b3f228f8197f4d29395c8f binutils-mips-disable-assert.patch
631726e557524633ace39c597acbc5ac39bfd25f7b292eee1f0b2a80a503f4ff799f027757d12d5a24b2fa3c07c7e14602d8a86d96e19876d6d0d5d1a02817e7 CVE-2022-38533.patch
"
+22
View File
@@ -0,0 +1,22 @@
X-Git-Url: https://sourceware.org/git/?p=binutils-gdb.git;a=blobdiff_plain;f=bfd%2Fcoffcode.h;h=52027981c3f052d98e043cd0c877f0bb5da97c7f;hp=67aaf158ca1829fe63f0065f31a0b1009b227b36;hb=ef186fe54aa6d281a3ff8a9528417e5cc614c797;hpb=80075150727d653c39e9d037e15c6b87dcef08cd
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index 67aaf158ca1..52027981c3f 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -4302,10 +4302,13 @@ coff_set_section_contents (bfd * abfd,
rec = (bfd_byte *) location;
recend = rec + count;
- while (rec < recend)
+ while (recend - rec >= 4)
{
+ size_t len = bfd_get_32 (abfd, rec);
+ if (len == 0 || len > (size_t) (recend - rec) / 4)
+ break;
+ rec += len * 4;
++section->lma;
- rec += bfd_get_32 (abfd, rec) * 4;
}
BFD_ASSERT (rec == recend);
+4 -4
View File
@@ -8,7 +8,7 @@ fi
pkgname=busybox-static-aarch64
pkgver=1.35.0
pkgrel=24
pkgrel=29
_arch="aarch64"
_mirror="http://dl-4.alpinelinux.org/alpine/"
@@ -21,16 +21,16 @@ pkgdesc="Statically linked Busybox for $_arch"
_target="$(arch_to_hostspec $_arch)"
source="
busybox-static-$pkgver-r$pkgrel-$_arch-edge.apk::$_mirror/edge/main/$_arch/busybox-static-$pkgver-r$pkgrel.apk
busybox-static-$pkgver-r$pkgrel-$_arch-v3.17.apk::$_mirror/v3.17/main/$_arch/busybox-static-$pkgver-r$pkgrel.apk
"
package() {
mkdir -p "$pkgdir/usr/$_target"
cd "$pkgdir/usr/$_target"
tar -xf $srcdir/busybox-static-$pkgver-r$pkgrel-$_arch-edge.apk
tar -xf $srcdir/busybox-static-$pkgver-r$pkgrel-$_arch-v3.17.apk
rm .PKGINFO .SIGN.*
}
sha512sums="
c8a27c516cd9651250f520c3c0fd582fa8a1144c5e971d81c6054b2b37639390f62d40d95181b081deeba2654b7c23606fa62751d1fcb75b0616b9fd19daf0d8 busybox-static-1.35.0-r24-aarch64-edge.apk
adda6bef9a786e2019979b3002e9f9791a6054bc2cda54c5c82d69c47da1d71f32d50af9bbfa9fbd118ec10ea2e0c5c68db96068b61cee3a7b23c002efa5dba7 busybox-static-1.35.0-r29-aarch64-v3.17.apk
"
-36
View File
@@ -1,36 +0,0 @@
# Automatically generated aport, do not edit!
# Generator: pmbootstrap aportgen busybox-static-armhf
# Stub for apkbuild-lint
if [ -z "$(type -t arch_to_hostspec)" ]; then
arch_to_hostspec() { :; }
fi
pkgname=busybox-static-armhf
pkgver=1.35.0
pkgrel=24
_arch="armhf"
_mirror="http://dl-4.alpinelinux.org/alpine/"
url="http://busybox.net"
license="GPL2"
arch="x86_64"
options="!check !strip"
pkgdesc="Statically linked Busybox for $_arch"
_target="$(arch_to_hostspec $_arch)"
source="
busybox-static-$pkgver-r$pkgrel-$_arch-edge.apk::$_mirror/edge/main/$_arch/busybox-static-$pkgver-r$pkgrel.apk
"
package() {
mkdir -p "$pkgdir/usr/$_target"
cd "$pkgdir/usr/$_target"
tar -xf $srcdir/busybox-static-$pkgver-r$pkgrel-$_arch-edge.apk
rm .PKGINFO .SIGN.*
}
sha512sums="
cd9f427ee34c435d23d105a34018ed509ff434c5f3aeed1c1c4233d5191150c6a8f39ae1399bd93f0f4300ed93334ed0114fdd48503c122bd4d57ecded099783 busybox-static-1.35.0-r24-armhf-edge.apk
"
+4 -4
View File
@@ -8,7 +8,7 @@ fi
pkgname=busybox-static-armv7
pkgver=1.35.0
pkgrel=24
pkgrel=29
_arch="armv7"
_mirror="http://dl-4.alpinelinux.org/alpine/"
@@ -21,16 +21,16 @@ pkgdesc="Statically linked Busybox for $_arch"
_target="$(arch_to_hostspec $_arch)"
source="
busybox-static-$pkgver-r$pkgrel-$_arch-edge.apk::$_mirror/edge/main/$_arch/busybox-static-$pkgver-r$pkgrel.apk
busybox-static-$pkgver-r$pkgrel-$_arch-v3.17.apk::$_mirror/v3.17/main/$_arch/busybox-static-$pkgver-r$pkgrel.apk
"
package() {
mkdir -p "$pkgdir/usr/$_target"
cd "$pkgdir/usr/$_target"
tar -xf $srcdir/busybox-static-$pkgver-r$pkgrel-$_arch-edge.apk
tar -xf $srcdir/busybox-static-$pkgver-r$pkgrel-$_arch-v3.17.apk
rm .PKGINFO .SIGN.*
}
sha512sums="
45bf57f2d3815d52ea702f99b08d947978f85148c4b6800f7ebf57885697118070c2f872c56fe215ccc5a20c02527e605c020e068a91d1c93d7e77a79d026bb0 busybox-static-1.35.0-r24-armv7-edge.apk
b9ea4746ad9e0b1fd41c6112998deab350c6bb383ea60802608eba1e4997d2c7c5a37ef8bdb8307783f5dd5491885f2bcd8c6a467cd44f8d1e080b37f95bf16b busybox-static-1.35.0-r29-armv7-v3.17.apk
"
@@ -1,26 +0,0 @@
From 7feb681596c4cfa34c769505058aa5bdf31c5131 Mon Sep 17 00:00:00 2001
From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
Date: Sun, 30 Aug 2020 17:59:45 +0200
Subject: [PATCH] gcc-go: Fix handling of signal 34 on musl
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Taken from Adélie Linux.
---
libgo/mksigtab.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libgo/mksigtab.sh b/libgo/mksigtab.sh
index bea8739957e..3876002efab 100644
--- a/libgo/mksigtab.sh
+++ b/libgo/mksigtab.sh
@@ -86,7 +86,7 @@ checksig _SIGPWR '{_SigNotify, "SIGPWR: power failure restart"}'
checksig _SIGEMT '{_SigThrow, "SIGEMT: emulate instruction executed"}'
checksig _SIGINFO '{_SigNotify, "SIGINFO: status request from keyboard"}'
checksig _SIGTHR '{_SigNotify, "SIGTHR: reserved"}'
-checksig _SIGPOLL '{_SigNotify, "SIGPOLL: pollable event occurred"}'
+#checksig _SIGPOLL '{_SigNotify, "SIGPOLL: pollable event occurred"}'
checksig _SIGWAITING '{_SigNotify, "SIGWAITING: reserved signal no longer used by"}'
checksig _SIGLWP '{_SigNotify, "SIGLWP: reserved signal no longer used by"}'
checksig _SIGFREEZE '{_SigNotify, "SIGFREEZE: special signal used by CPR"}'
@@ -1,24 +0,0 @@
From b6885cf73989161b1b6893b5ae0dafed006d5f13 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Thu, 25 Nov 2021 01:47:03 +0000
Subject: [PATCH] There are more than one st_{a,m,c}tim fields in struct stat
on time64 machines.
Run the Go-isation on all of them.
---
libgo/mksysinfo.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libgo/mksysinfo.sh b/libgo/mksysinfo.sh
index 0c52ea5d71a..6fef104cc1c 100755
--- a/libgo/mksysinfo.sh
+++ b/libgo/mksysinfo.sh
@@ -510,7 +510,7 @@ fi
# For historical reasons Go uses the suffix "timespec" instead of "tim" for
# stat_t's time fields on NetBSD.
-st_times='-e s/st_atim/Atim/ -e s/st_mtim/Mtim/ -e s/st_ctim/Ctim/'
+st_times='-e s/st_atim/Atim/g -e s/st_mtim/Mtim/g -e s/st_ctim/Ctim/g'
if test "${GOOS}" = "netbsd"; then
st_times='-e s/st_atim/Atimespec/ -e s/st_mtim/Mtimespec/ -e s/st_ctim/Ctimespec/'
fi
@@ -1,24 +0,0 @@
From c7a22e42ae403154a0c0158495b04b0205102041 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Sun, 30 Aug 2020 19:27:51 +0200
Subject: [PATCH] gcc-go: undef SETCONTEXT_CLOBBERS_TLS in proc.c
---
libgo/runtime/proc.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/libgo/runtime/proc.c b/libgo/runtime/proc.c
index 3a30748d329..a987678fa84 100644
--- a/libgo/runtime/proc.c
+++ b/libgo/runtime/proc.c
@@ -66,6 +66,10 @@ static void gscanstack(G*);
__thread G *g __asm__(GOSYM_PREFIX "runtime.g");
+/* libucontext does not seem to support tlsbase, undef the macro
+ * here to make sure we define initcontext and fixcontext as dummies. */
+#undef SETCONTEXT_CLOBBERS_TLS
+
#ifndef SETCONTEXT_CLOBBERS_TLS
static inline void
@@ -1,17 +1,22 @@
From ef9df74e0c1059e51bb76b1f6d9d4746949d4d34 Mon Sep 17 00:00:00 2001
From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
Date: Mon, 31 Aug 2020 08:59:40 +0200
Subject: [PATCH] gcc-go: link to libucontext
From 0631e2b9453b33c42e12a14c11e8257d470016c5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Sun, 30 Aug 2020 19:17:42 +0200
Subject: [PATCH] gcc-go: support libucontext
This patch allows using gcc-go with libucontext. For this purpose,
it unconditionally links gcc-go against -lucontext. Furthermore,
it undefines SETCONTEXT_CLOBBERS_TLS in proc.c to prevent usage
of makecontext/swapcontext feature that are not support by libucontext.
---
Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Makefile.in | 2 +-
libgo/runtime/proc.c | 4 ++++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/Makefile.in b/Makefile.in
index b96f60e33e2..b564ddbf792 100644
index 593495e1650..c3e5d489bc0 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -52802,7 +52802,7 @@ configure-target-libgo:
@@ -52801,7 +52801,7 @@ configure-target-libgo:
esac; \
module_srcdir=libgo; \
rm -f no-such-file || : ; \
@@ -20,3 +25,18 @@ index b96f60e33e2..b564ddbf792 100644
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
diff --git a/libgo/runtime/proc.c b/libgo/runtime/proc.c
index 3a30748d329..a987678fa84 100644
--- a/libgo/runtime/proc.c
+++ b/libgo/runtime/proc.c
@@ -66,6 +66,10 @@ static void gscanstack(G*);
__thread G *g __asm__(GOSYM_PREFIX "runtime.g");
+/* libucontext does not seem to support tlsbase, undef the macro
+ * here to make sure we define initcontext and fixcontext as dummies. */
+#undef SETCONTEXT_CLOBBERS_TLS
+
#ifndef SETCONTEXT_CLOBBERS_TLS
static inline void
@@ -1,81 +1,199 @@
From 4655244d80aa67904a88d620361f2d37ea4c8576 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Sun, 28 Nov 2021 00:54:37 +0100
Subject: [PATCH] libgo: Recognize off64_t and loff_t definitions of musl libc
From 3b9243b891cc06373639a23ed5717b0d1c2d8ea6 Mon Sep 17 00:00:00 2001
From: Ian Lance Taylor <iant@golang.org>
Date: Tue, 14 Jun 2022 06:13:43 -0700
Subject: [PATCH] libgo: permit loff_t and off_t to be macros
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Without this patch, both off64_t and loff_t are not recognized by
-fdump-go-spec which causes a variety Go-related compilation errors on
musl libc since the gcc-go frontend expects both off64_t and loff_t to
be present.
They are macros in musl libc, rather than typedefs, and -fgo-dump-spec
doesn't handle that case.
Also make sure that autoconf recognizes support for loff_t on musl, by
compiling the relevant feature test code with -D_GNU_SOURCE and making
it include fcntl.h which defines loff_t on musl.
Based on patch by Sören Tempel.
Change-Id: Ic9a608fd964a6f78e754aa8e3100aff06ab3dade
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/412075
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
libgo: #include <sys/types.h> when checking for loff_t
Fixes https://gcc.gnu.org/PR106033
Fixes golang/go#53469
Change-Id: I060021b7bb9334949b567442448abb6822fd6d35
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/413214
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Than McIntosh <thanm@google.com>
---
libgo/configure | 4 +++-
libgo/configure.ac | 4 +++-
libgo/sysinfo.c | 21 +++++++++++++++++++++
3 files changed, 27 insertions(+), 2 deletions(-)
libgo/config.h.in | 3 +++
libgo/configure | 12 ++++++++++--
libgo/configure.ac | 11 +++++++++--
libgo/go/syscall/libcall_linux.go | 17 +++++++++--------
libgo/mksysinfo.sh | 6 +-----
libgo/sysinfo.c | 15 ++++++++++++++-
6 files changed, 46 insertions(+), 18 deletions(-)
diff --git a/libgo/config.h.in b/libgo/config.h.in
index 25b8ab8f9ee..2c3c7469675 100644
--- a/libgo/config.h.in
+++ b/libgo/config.h.in
@@ -70,6 +70,9 @@
/* Define to 1 if you have the `fchownat' function. */
#undef HAVE_FCHOWNAT
+/* Define to 1 if you have the <fcntl.h> header file. */
+#undef HAVE_FCNTL_H
+
/* Define to 1 if you have the `futimesat' function. */
#undef HAVE_FUTIMESAT
diff --git a/libgo/configure b/libgo/configure
index ffe17c9be55..c2dbecef98c 100755
index ffe17c9be55..61a49947eb9 100755
--- a/libgo/configure
+++ b/libgo/configure
@@ -15546,7 +15546,9 @@ _ACEOF
@@ -15249,7 +15249,7 @@ $as_echo "#define HAVE_GETIPINFO 1" >>confdefs.h
fi
-for ac_header in port.h sched.h semaphore.h sys/file.h sys/mman.h syscall.h sys/epoll.h sys/event.h sys/inotify.h sys/ptrace.h sys/syscall.h sys/sysctl.h sys/user.h sys/utsname.h sys/select.h sys/socket.h net/bpf.h net/if.h net/if_arp.h net/route.h netpacket/packet.h sys/prctl.h sys/mount.h sys/vfs.h sys/statfs.h sys/timex.h sys/sysinfo.h utime.h linux/ether.h linux/fs.h linux/ptrace.h linux/reboot.h netinet/in_syst.h netinet/ip.h netinet/ip_mroute.h netinet/if_ether.h lwp.h
+for ac_header in fcntl.h port.h sched.h semaphore.h sys/file.h sys/mman.h syscall.h sys/epoll.h sys/event.h sys/inotify.h sys/ptrace.h sys/syscall.h sys/sysctl.h sys/user.h sys/utsname.h sys/select.h sys/socket.h net/bpf.h net/if.h net/if_arp.h net/route.h netpacket/packet.h sys/prctl.h sys/mount.h sys/vfs.h sys/statfs.h sys/timex.h sys/sysinfo.h utime.h linux/ether.h linux/fs.h linux/ptrace.h linux/reboot.h netinet/in_syst.h netinet/ip.h netinet/ip_mroute.h netinet/if_ether.h lwp.h
do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
@@ -15546,7 +15546,14 @@ _ACEOF
fi
-ac_fn_c_check_type "$LINENO" "loff_t" "ac_cv_type_loff_t" "$ac_includes_default"
+CFLAGS_hold=$CFLAGS
+CFLAGS="$CFLAGS -D_GNU_SOURCE"
+ac_fn_c_check_type "$LINENO" "loff_t" "ac_cv_type_loff_t" "#include <fcntl.h>"
+
+CFLAGS_hold="$CFLAGS"
+CFLAGS="$OSCFLAGS $CFLAGS"
+ac_fn_c_check_type "$LINENO" "loff_t" "ac_cv_type_loff_t" "
+#include <sys/types.h>
+#include <fcntl.h>
+
+"
if test "x$ac_cv_type_loff_t" = xyes; then :
cat >>confdefs.h <<_ACEOF
@@ -15556,6 +15563,7 @@ _ACEOF
fi
+CFLAGS="$CFLAGS_hold"
LIBS_hold="$LIBS"
LIBS="$LIBS -lm"
diff --git a/libgo/configure.ac b/libgo/configure.ac
index 7e2b98ba67c..667feae3c03 100644
index 7e2b98ba67c..274fcfc35c7 100644
--- a/libgo/configure.ac
+++ b/libgo/configure.ac
@@ -601,7 +601,9 @@ AC_STRUCT_DIRENT_D_TYPE
@@ -579,7 +579,7 @@ AC_C_BIGENDIAN
GCC_CHECK_UNWIND_GETIPINFO
-AC_CHECK_HEADERS(port.h sched.h semaphore.h sys/file.h sys/mman.h syscall.h sys/epoll.h sys/event.h sys/inotify.h sys/ptrace.h sys/syscall.h sys/sysctl.h sys/user.h sys/utsname.h sys/select.h sys/socket.h net/bpf.h net/if.h net/if_arp.h net/route.h netpacket/packet.h sys/prctl.h sys/mount.h sys/vfs.h sys/statfs.h sys/timex.h sys/sysinfo.h utime.h linux/ether.h linux/fs.h linux/ptrace.h linux/reboot.h netinet/in_syst.h netinet/ip.h netinet/ip_mroute.h netinet/if_ether.h lwp.h)
+AC_CHECK_HEADERS(fcntl.h port.h sched.h semaphore.h sys/file.h sys/mman.h syscall.h sys/epoll.h sys/event.h sys/inotify.h sys/ptrace.h sys/syscall.h sys/sysctl.h sys/user.h sys/utsname.h sys/select.h sys/socket.h net/bpf.h net/if.h net/if_arp.h net/route.h netpacket/packet.h sys/prctl.h sys/mount.h sys/vfs.h sys/statfs.h sys/timex.h sys/sysinfo.h utime.h linux/ether.h linux/fs.h linux/ptrace.h linux/reboot.h netinet/in_syst.h netinet/ip.h netinet/ip_mroute.h netinet/if_ether.h lwp.h)
AC_CHECK_HEADERS([netinet/icmp6.h], [], [],
[#include <netinet/in.h>
@@ -601,7 +601,14 @@ AC_STRUCT_DIRENT_D_TYPE
AC_CHECK_FUNCS(accept4 dup3 epoll_create1 faccessat fallocate fchmodat fchownat futimesat getxattr inotify_add_watch inotify_init inotify_init1 inotify_rm_watch listxattr mkdirat mknodat open64 openat pipe2 removexattr renameat setxattr sync_file_range splice syscall tee unlinkat unshare utimensat)
AC_TYPE_OFF_T
-AC_CHECK_TYPES([loff_t])
+CFLAGS_hold=$CFLAGS
+CFLAGS="$CFLAGS -D_GNU_SOURCE" # musl does not define loff_t without this
+AC_CHECK_TYPES([loff_t], [], [], [[#include <fcntl.h>]])
+
+CFLAGS_hold="$CFLAGS"
+CFLAGS="$OSCFLAGS $CFLAGS"
+AC_CHECK_TYPES([loff_t], [], [], [[
+#include <sys/types.h>
+#include <fcntl.h>
+]])
+CFLAGS="$CFLAGS_hold"
LIBS_hold="$LIBS"
LIBS="$LIBS -lm"
diff --git a/libgo/go/syscall/libcall_linux.go b/libgo/go/syscall/libcall_linux.go
index 96974bd3269..65eb1a745f7 100644
--- a/libgo/go/syscall/libcall_linux.go
+++ b/libgo/go/syscall/libcall_linux.go
@@ -209,19 +209,20 @@ func Gettid() (tid int) {
//sys Setxattr(path string, attr string, data []byte, flags int) (err error)
//setxattr(path *byte, name *byte, value *byte, size Size_t, flags _C_int) _C_int
-//sys splice(rfd int, roff *_loff_t, wfd int, woff *_loff_t, len int, flags int) (n int64, err error)
-//splice(rfd _C_int, roff *_loff_t, wfd _C_int, woff *_loff_t, len Size_t, flags _C_uint) Ssize_t
+//sys splice(rfd int, roff *_libgo_loff_t_type, wfd int, woff *_libgo_loff_t_type, len int, flags int) (n int64, err error)
+//splice(rfd _C_int, roff *_libgo_loff_t_type, wfd _C_int, woff *_libgo_loff_t_type, len Size_t, flags _C_uint) Ssize_t
+
func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) {
- var lroff _loff_t
- var plroff *_loff_t
+ var lroff _libgo_loff_t_type
+ var plroff *_libgo_loff_t_type
if roff != nil {
- lroff = _loff_t(*roff)
+ lroff = _libgo_loff_t_type(*roff)
plroff = &lroff
}
- var lwoff _loff_t
- var plwoff *_loff_t
+ var lwoff _libgo_loff_t_type
+ var plwoff *_libgo_loff_t_type
if woff != nil {
- lwoff = _loff_t(*woff)
+ lwoff = _libgo_loff_t_type(*woff)
plwoff = &lwoff
}
n, err = splice(rfd, plroff, wfd, plwoff, len, flags)
diff --git a/libgo/mksysinfo.sh b/libgo/mksysinfo.sh
index 0c52ea5d71a..5aa309155c3 100755
--- a/libgo/mksysinfo.sh
+++ b/libgo/mksysinfo.sh
@@ -403,11 +403,7 @@ fi
# Some basic types.
echo 'type Size_t _size_t' >> ${OUT}
echo "type Ssize_t _ssize_t" >> ${OUT}
-if grep '^const _HAVE_OFF64_T = ' gen-sysinfo.go > /dev/null 2>&1; then
- echo "type Offset_t _off64_t" >> ${OUT}
-else
- echo "type Offset_t _off_t" >> ${OUT}
-fi
+echo "type Offset_t _libgo_off_t_type" >> ${OUT}
echo "type Mode_t _mode_t" >> ${OUT}
echo "type Pid_t _pid_t" >> ${OUT}
echo "type Uid_t _uid_t" >> ${OUT}
diff --git a/libgo/sysinfo.c b/libgo/sysinfo.c
index 8ce061e2f5f..b85add15a7b 100644
index 336a5983750..fc0210992fa 100644
--- a/libgo/sysinfo.c
+++ b/libgo/sysinfo.c
@@ -343,6 +343,27 @@ enum {
#endif
@@ -354,6 +354,18 @@ enum {
};
#endif
+// musl libc has both off64_t and loff_t. However, both of these types
+// are defined as CPP macros, not as C typedefs. Unfortunately, the GCC
+// -fdump-go-spec option, which is responsible for generating type
+// definitions for Go based on this file, only recognizes types defined
+// through typedefs.
+//
+// For this reason, we check here if either off64_t or loff_t are
+// defined as CPP macros and if so, we redefine them using a C typedef.
+#if defined(HAVE_OFF64_T) && defined(off64_t)
+typedef off64_t __musl_off64_t;
+#undef off64_t
+typedef __musl_off64_t off64_t;
+#if defined(HAVE_LOFF_T)
+// loff_t can be defined as a macro; for -fgo-dump-spec make sure we
+// see a typedef.
+typedef loff_t libgo_loff_t_type;
+#endif
+
+// See comment regarding musl libc above.
+#if defined(HAVE_LOFF_T) && defined(loff_t)
+typedef loff_t __musl_loff_t;
+#undef loff_t
+typedef __musl_loff_t loff_t;
+#if defined(HAVE_OFF64_T)
+typedef off64_t libgo_off_t_type;
+#else
+typedef off_t libgo_off_t_type;
+#endif
+
// SIOCGIFMTU can't be added in the above enum as it might
// be signed in some OSes.
#ifdef SIOCGIFMTU
// The following section introduces explicit references to types and
// constants of interest to support bootstrapping libgo using a
// compiler that doesn't support -fdump-go-spec (e.g., clang), via
@@ -534,7 +546,8 @@ SREF(timex);
// From sys/types.h
TREF(pid_t);
TREF(off_t);
-TREF(loff_t);
+TREF(libgo_loff_t_type);
+TREF(libgo_off_t_type);
TREF(size_t);
TREF(ssize_t);
TREF(mode_t);
@@ -1,43 +1,22 @@
From 76c13560bba3534bff335e5bb571a8b95d50d4ba Mon Sep 17 00:00:00 2001
From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
Date: Sun, 30 Aug 2020 18:33:49 +0200
Subject: [PATCH] gcc-go: Use int64 type as offset argument for mmap
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
From 4b6240d5301ce04b8bbc3e2152915cbc7da80584 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Wed, 28 Sep 2022 17:30:14 +0200
Subject: [PATCH] libgo: use _off_t for mmap offset argument
Without this patch, Go run-time memory allocation fails on 32-bit architectures:
On glibc-based systems, off_t is a 32-bit type on 32-bit systems and a
64-bit type on 64-bit systems by default. However, on systems using musl
libc off_t is unconditionally a 64-bit type. As such, it is insufficient
to use a uintptr type for the mmap offset parameter.
fatal error: runtime: cannot allocate memory
runtime stack:
runtime.dopanic__m
:0
runtime.throw
:0
:0
:0
runtime.systemstack
:0
runtime.addrRanges.init
:0
runtime.pageAlloc.init
:0
runtime.mheap.init
:0
runtime.schedinit
:0
:0
:0
Taken from Adélie Linux [1].
[1]: https://git.adelielinux.org/adelie/packages/-/commit/63b5fb12c3d75e460799c672bbbdd5d29c3cc33c
Presently, the (incorrect) mmap declaration causes a libgo run-time
failure on 32-bit musl systems (fatal error: runtime: cannot allocate
memory). This commit fixes this run-time error.
---
libgo/go/runtime/mem_gccgo.go | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libgo/go/runtime/mem_gccgo.go b/libgo/go/runtime/mem_gccgo.go
index fa3389d857e..57bed97c710 100644
index fa3389d8..07bf325a 100644
--- a/libgo/go/runtime/mem_gccgo.go
+++ b/libgo/go/runtime/mem_gccgo.go
@@ -15,7 +15,7 @@ import (
@@ -45,16 +24,16 @@ index fa3389d857e..57bed97c710 100644
//extern mmap
-func sysMmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off uintptr) unsafe.Pointer
+func sysMmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off int64) unsafe.Pointer
+func sysMmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off _off_t) unsafe.Pointer
//extern munmap
func munmap(addr unsafe.Pointer, length uintptr) int32
@@ -37,7 +37,7 @@ func init() {
}
@@ -38,7 +38,7 @@ func init() {
}
-func mmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off uintptr) (unsafe.Pointer, int) {
+func mmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off int64) (unsafe.Pointer, int) {
p := sysMmap(addr, n, prot, flags, fd, off)
func mmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off uintptr) (unsafe.Pointer, int) {
- p := sysMmap(addr, n, prot, flags, fd, off)
+ p := sysMmap(addr, n, prot, flags, fd, _off_t(off))
if uintptr(p) == _MAP_FAILED {
return nil, errno()
}
@@ -1,55 +0,0 @@
From cf41d579088e1c0b5c33c93657ad041e797b5905 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren@soeren-tempel.net>
Date: Sun, 2 Jan 2022 01:07:03 +0100
Subject: [PATCH] libgo: include asm/ptrace.h for pt_regs definition on PowerPC
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Both glibc and musl libc declare pt_regs as an incomplete type. This
type has to be completed by inclusion of another header. On Linux, the
asm/ptrace.h header file provides this type definition. Without
including this header file, it is not possible to access the regs member
of the mcontext_t struct as done in libgo/runtime/go-signal.c. On glibc,
other headers (e.g. sys/user.h) include asm/ptrace.h but on musl
asm/ptrace.h is not included by other headers and thus the
aforementioned files do not compile without an explicit include of
asm/ptrace.h:
libgo/runtime/go-signal.c: In function 'getSiginfo':
libgo/runtime/go-signal.c:227:63: error: invalid use of undefined type 'struct pt_regs'
227 | ret.sigpc = ((ucontext_t*)(context))->uc_mcontext.regs->nip;
|
Instead of including the asm/ptrace.h header conditionally on PowerPC
only it would alternatively also be possible to include it
unconditionally.
See also:
* https://git.musl-libc.org/cgit/musl/commit/?id=c2518a8efb6507f1b41c3b12e03b06f8f2317a1f
* https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=d57cb31910ca5c200e4172276749a7f8bd17ae3c
* https://github.com/kaniini/libucontext/issues/36
Signed-off-by: Sören Tempel <soeren@soeren-tempel.net>
---
libgo/runtime/go-signal.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/libgo/runtime/go-signal.c b/libgo/runtime/go-signal.c
index 528d9b6d9fe..c67503f0a79 100644
--- a/libgo/runtime/go-signal.c
+++ b/libgo/runtime/go-signal.c
@@ -10,6 +10,12 @@
#include <sys/time.h>
#include <ucontext.h>
+// On PowerPC, ucontext.h uses a pt_regs struct as an incomplete
+// type. This type must be completed by including asm/ptrace.h.
+#ifdef __PPC__
+#include <asm/ptrace.h>
+#endif
+
#include "runtime.h"
#ifndef SA_RESTART
@@ -1,30 +1,71 @@
From fbc8240ac15225ede8416a27c9978559b85d6877 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Mon, 21 Feb 2022 10:04:47 +0000
Subject: [PATCH] go/gospec: forcibly disable -fsplit-stack support
From c86b726c048eddc1be320c0bf64a897658bee13d Mon Sep 17 00:00:00 2001
From: Uros Bizjak <ubizjak@gmail.com>
Date: Wed, 18 May 2022 20:03:26 +0200
Subject: [PATCH] x86: Fix -fsplit-stack feature detection via
TARGET_CAN_SPLIT_STACK
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
for some reason, TARGET_CAN_SPLIT_STACK still gets defined on 32-bit x86,
so hackfix it for now
Since commit c163647ffbc9a20c8feb6e079dbecccfe016c82e -fsplit-stack
is only supported on glibc targets. However, this original commit
required some fixups. As part of the fixup, the changes to the
gnu-user-common.h and gnu.h were partially reverted in commit
60953a23d57b13a672f751bec0c6eefc059eb1ab thus causing TARGET_CAN_SPLIT_STACK
to be defined for non-glibc targets even though -fsplit-stack is
actually not supported and attempting to use it causes a runtime error.
This causes gcc internal code, such as ./gcc/go/gospec.c to not
correctly detect that -fsplit-stack is not supported and thus causes
gccgo to fail compilation on non-glibc targets.
This commit ensures that TARGET_CAN_SPLIT_STACK is only set if the
default libc is glibc. It is presently unclear to me if there is a
better way to detect glibc at pre-processor time.
The proposed changes have been tested on x86 and x86_64 Alpine Linux
(which uses musl libc) and fix compilation of gccgo for this target.
Signed-off-by: Sören Tempel <soeren@soeren-tempel.net>
gcc/ChangeLog:
* config/i386/gnu-user-common.h (defined): Only define
TARGET_CAN_SPLIT_STACK for glibc targets.
* config/i386/gnu.h (defined): Ditto.
---
gcc/go/gospec.cc | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
gcc/config/i386/gnu-user-common.h | 5 +++--
gcc/config/i386/gnu.h | 5 +++--
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/gcc/go/gospec.cc b/gcc/go/gospec.cc
index df92b62d8e6..cf168beb4cf 100644
--- a/gcc/go/gospec.cc
+++ b/gcc/go/gospec.cc
@@ -269,11 +269,12 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
/* Copy the 0th argument, i.e., the name of the program itself. */
new_decoded_options[j++] = decoded_options[i++];
diff --git a/gcc/config/i386/gnu-user-common.h b/gcc/config/i386/gnu-user-common.h
index 23b54c5be52..cab9be2bfb7 100644
--- a/gcc/config/i386/gnu-user-common.h
+++ b/gcc/config/i386/gnu-user-common.h
@@ -66,7 +66,8 @@ along with GCC; see the file COPYING3. If not see
#define STACK_CHECK_STATIC_BUILTIN 1
-#ifdef TARGET_CAN_SPLIT_STACK
+ /* Hackfix: we never support split stack on Alpine GCC */
+#if 0
supports_split_stack = 1;
/* We only build the -fsplit-stack support in libgcc if the
- assembler has full support for the CFI directives. */
-#if HAVE_GAS_CFI_PERSONALITY_DIRECTIVE
+ assembler has full support for the CFI directives. Also
+ we only support -fsplit-stack on glibc targets. */
+#if (DEFAULT_LIBC == LIBC_GLIBC) && HAVE_GAS_CFI_PERSONALITY_DIRECTIVE
#define TARGET_CAN_SPLIT_STACK
#endif
diff --git a/gcc/config/i386/gnu.h b/gcc/config/i386/gnu.h
index 401e60c9a02..fb8d69a97d8 100644
--- a/gcc/config/i386/gnu.h
+++ b/gcc/config/i386/gnu.h
@@ -41,8 +41,9 @@ along with GCC. If not, see <http://www.gnu.org/licenses/>.
#define TARGET_THREAD_SSP_OFFSET 0x14
-#ifdef TARGET_CAN_SPLIT_STACK_64BIT
+#if 0
if (is_m64)
supports_split_stack = 1;
/* We only build the -fsplit-stack support in libgcc if the
- assembler has full support for the CFI directives. */
-#if HAVE_GAS_CFI_PERSONALITY_DIRECTIVE
+ assembler has full support for the CFI directives. Also
+ we only support -fsplit-stack on glibc targets. */
+#if (DEFAULT_LIBC == LIBC_GLIBC) && HAVE_GAS_CFI_PERSONALITY_DIRECTIVE
#define TARGET_CAN_SPLIT_STACK
#endif
/* We steal the last transactional memory word. */
@@ -1,31 +1,41 @@
From 38270192ea355d8035d9f1b5fe50e36ca3fa3708 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Thu, 30 Jun 2022 17:04:23 +0000
Subject: [PATCH] gcc-go: fix build error with SYS_SECCOMP
From 548720bca6bff21ebc9aba22249d9ce45bbd90c7 Mon Sep 17 00:00:00 2001
From: Ian Lance Taylor <iant@golang.org>
Date: Wed, 29 Jun 2022 15:32:04 -0700
Subject: [PATCH] libgo: handle stat st_atim32 field and SYS_SECCOMP
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
fix the build error:
sysinfo.go:6606:7: error: redefinition of 'SYS_SECCOMP'
6606 | const SYS_SECCOMP = _SYS_SECCOMP
| ^
sysinfo.go:6600:7: note: previous definition of 'SYS_SECCOMP' was here
6600 | const SYS_SECCOMP = _SYS_seccomp
| ^
Patches for musl support, from Sören Tempel.
Upstream report: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105225
Fixes https://gcc.gnu.org/PR105225
Change-Id: If396877d4a4c7d27962226d7a6e3bb91b1344413
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/415294
Reviewed-by: Than McIntosh <thanm@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
---
libgo/mksysinfo.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
libgo/mksysinfo.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libgo/mksysinfo.sh b/libgo/mksysinfo.sh
index 6fef104cc1c..06289a43bdf 100755
index 5aa30915..ea1fa17d 100755
--- a/libgo/mksysinfo.sh
+++ b/libgo/mksysinfo.sh
@@ -126,7 +126,7 @@ if ! grep '^const SIGCLD ' ${OUT} >/dev/null 2>&1; then
fi
@@ -127,6 +127,7 @@ fi
# The syscall numbers. We force the names to upper case.
-grep '^const _SYS_' gen-sysinfo.go | \
+grep '^const _SYS_[a-z]' gen-sysinfo.go | \
grep '^const _SYS_' gen-sysinfo.go | \
+ grep -v '^const _SYS_SECCOMP = ' | \
sed -e 's/const _\(SYS_[^= ]*\).*$/\1/' | \
while read sys; do
sup=`echo $sys | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`
@@ -506,7 +507,7 @@ fi
# For historical reasons Go uses the suffix "timespec" instead of "tim" for
# stat_t's time fields on NetBSD.
-st_times='-e s/st_atim/Atim/ -e s/st_mtim/Mtim/ -e s/st_ctim/Ctim/'
+st_times='-e s/st_atim/Atim/g -e s/st_mtim/Mtim/g -e s/st_ctim/Ctim/g'
if test "${GOOS}" = "netbsd"; then
st_times='-e s/st_atim/Atimespec/ -e s/st_mtim/Mtimespec/ -e s/st_ctim/Ctimespec/'
fi
@@ -1,107 +0,0 @@
From 9cef407678b40c20ecc39850c7e43346ad92a60b Mon Sep 17 00:00:00 2001
From: Sergei Trofimovich <siarheit@google.com>
Date: Mon, 27 Jun 2022 03:31:45 +0100
Subject: [PATCH] c++: avoid <memory> poisoning on musl [PR106102]
On musl <pthread.h> uses calloc() (via <sched.h>). <memory> includes
it indirectly and exposes use of poisoned calloc() when module code
is built:
/build/build/./prev-gcc/xg++ ... ../../gcc-13-20220626/gcc/cp/mapper-resolver.cc
In file included from /<<NIX>>/musl-1.2.3-dev/include/pthread.h:30,
from /build/build/prev-x86_64-unknown-linux-musl/libstdc++-v3/include/x86_64-unknown-linux-musl/bits/gthr-default.h:35,
....
from /build/build/prev-x86_64-unknown-linux-musl/libstdc++-v3/include/memory:77,
from ../../gcc-13-20220626/gcc/../libcody/cody.hh:24,
from ../../gcc-13-20220626/gcc/cp/../../c++tools/resolver.h:25,
from ../../gcc-13-20220626/gcc/cp/../../c++tools/resolver.cc:23,
from ../../gcc-13-20220626/gcc/cp/mapper-resolver.cc:32:
/<<NIX>>/musl-1.2.3-dev/include/sched.h:84:7: error: attempt to use poisoned "calloc"
84 | void *calloc(size_t, size_t);
| ^
/<<NIX>>/musl-1.2.3-dev/include/sched.h:124:36: error: attempt to use poisoned "calloc"
124 | #define CPU_ALLOC(n) ((cpu_set_t *)calloc(1,CPU_ALLOC_SIZE(n)))
| ^
gcc/cp/
PR c++/106102
* mapper-client.cc: Include <memory> via "system.h".
* mapper-resolver.cc: Ditto.
* module.cc: Ditto.
libcc1/
PR c++/106102
* libcc1plugin.cc: Include <memory> via "system.h".
* libcp1plugin.cc: Ditto.
(cherry picked from commit 3b21c21f3f5726823e19728fdd1571a14aae0fb3)
---
gcc/cp/mapper-client.cc | 1 +
gcc/cp/mapper-resolver.cc | 1 +
gcc/cp/module.cc | 1 +
libcc1/libcc1plugin.cc | 1 +
libcc1/libcp1plugin.cc | 1 +
5 files changed, 5 insertions(+)
diff --git a/gcc/cp/mapper-client.cc b/gcc/cp/mapper-client.cc
index 8603a886a09..fe9544b5ba4 100644
--- a/gcc/cp/mapper-client.cc
+++ b/gcc/cp/mapper-client.cc
@@ -27,6 +27,7 @@ along with GCC; see the file COPYING3. If not see
#define INCLUDE_STRING
#define INCLUDE_VECTOR
#define INCLUDE_MAP
+#define INCLUDE_MEMORY
#include "system.h"
#include "line-map.h"
diff --git a/gcc/cp/mapper-resolver.cc b/gcc/cp/mapper-resolver.cc
index e3d29fb5ada..e70d1b4ae2c 100644
--- a/gcc/cp/mapper-resolver.cc
+++ b/gcc/cp/mapper-resolver.cc
@@ -25,6 +25,7 @@ along with GCC; see the file COPYING3. If not see
#define INCLUDE_VECTOR
#define INCLUDE_ALGORITHM
#define INCLUDE_MAP
+#define INCLUDE_MEMORY
#include "system.h"
// We don't want or need to be aware of networking
diff --git a/gcc/cp/module.cc b/gcc/cp/module.cc
index cebf9c35c1d..5c5d02bb523 100644
--- a/gcc/cp/module.cc
+++ b/gcc/cp/module.cc
@@ -202,6 +202,7 @@ Classes used:
#define _DEFAULT_SOURCE 1 /* To get TZ field of struct tm, if available. */
#include "config.h"
+#define INCLUDE_MEMORY
#define INCLUDE_STRING
#define INCLUDE_VECTOR
#include "system.h"
diff --git a/libcc1/libcc1plugin.cc b/libcc1/libcc1plugin.cc
index 12ab5a57c8d..bdd0bdabe77 100644
--- a/libcc1/libcc1plugin.cc
+++ b/libcc1/libcc1plugin.cc
@@ -31,6 +31,7 @@
#undef PACKAGE_TARNAME
#undef PACKAGE_VERSION
+#define INCLUDE_MEMORY
#include "gcc-plugin.h"
#include "system.h"
#include "coretypes.h"
diff --git a/libcc1/libcp1plugin.cc b/libcc1/libcp1plugin.cc
index 83dab7f58b1..e2d5039a0a1 100644
--- a/libcc1/libcp1plugin.cc
+++ b/libcc1/libcp1plugin.cc
@@ -32,6 +32,7 @@
#undef PACKAGE_TARNAME
#undef PACKAGE_VERSION
+#define INCLUDE_MEMORY
#include "gcc-plugin.h"
#include "system.h"
#include "coretypes.h"
@@ -1,117 +0,0 @@
From f982c816d8f52a65231544b838160484b5ed4c71 Mon Sep 17 00:00:00 2001
From: Sergei Trofimovich <siarheit@google.com>
Date: Mon, 27 Jun 2022 14:44:48 +0100
Subject: [PATCH] jit: avoid calloc() poisoning on musl [PR106102]
On musl <pthread.h> uses calloc() (via <sched.h>). jit/ includes
it directly and exposes use of poisoned calloc():
/build/build/./prev-gcc/xg++ ... ../../gcc-13-20220626/gcc/jit/jit-playback.cc
make[3]: *** [Makefile:1143: jit/libgccjit.o] Error 1
make[3]: *** Waiting for unfinished jobs....
In file included from /<<NIX>>/musl-1.2.3-dev/include/pthread.h:30,
from ../../gcc-13-20220626/gcc/jit/jit-playback.cc:44:
/<<NIX>>/musl-1.2.3-dev/include/sched.h:84:7: error: attempt to use poisoned "calloc"
84 | void *calloc(size_t, size_t);
| ^
/<<NIX>>/musl-1.2.3-dev/include/sched.h:124:36: error: attempt to use poisoned "calloc"
124 | #define CPU_ALLOC(n) ((cpu_set_t *)calloc(1,CPU_ALLOC_SIZE(n)))
| ^
The change moves <pthread.h> inclusion to "system.h" under new
INCLUDE_PTHREAD_H guard and uses this mechanism in libgccjit.
gcc/
PR c++/106102
* system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.
gcc/jit/
PR c++/106102
* jit-playback.cc: Include <pthread.h> via "system.h" to avoid calloc()
poisoning.
* jit-recording.cc: Ditto.
* libgccjit.cc: Ditto.
(cherry picked from commit 49d508065bdd36fb1a9b6aad9666b1edb5e06474)
---
gcc/jit/jit-playback.cc | 3 +--
gcc/jit/jit-recording.cc | 2 +-
gcc/jit/libgccjit.cc | 2 +-
gcc/system.h | 4 ++++
4 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/gcc/jit/jit-playback.cc b/gcc/jit/jit-playback.cc
index 6be6bdf8dea..79714132b91 100644
--- a/gcc/jit/jit-playback.cc
+++ b/gcc/jit/jit-playback.cc
@@ -19,6 +19,7 @@ along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#include "config.h"
+#define INCLUDE_PTHREAD_H
#include "system.h"
#include "coretypes.h"
#include "target.h"
@@ -41,8 +42,6 @@ along with GCC; see the file COPYING3. If not see
#include "diagnostic.h"
#include "stmt.h"
-#include <pthread.h>
-
#include "jit-playback.h"
#include "jit-result.h"
#include "jit-builtins.h"
diff --git a/gcc/jit/jit-recording.cc b/gcc/jit/jit-recording.cc
index a31720f043e..5556b9c4905 100644
--- a/gcc/jit/jit-recording.cc
+++ b/gcc/jit/jit-recording.cc
@@ -19,13 +19,13 @@ along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#include "config.h"
+#define INCLUDE_PTHREAD_H
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "pretty-print.h"
#include "toplev.h"
-#include <pthread.h>
#include "jit-builtins.h"
#include "jit-recording.h"
diff --git a/gcc/jit/libgccjit.cc b/gcc/jit/libgccjit.cc
index cc6486c9cad..4c991e5436b 100644
--- a/gcc/jit/libgccjit.cc
+++ b/gcc/jit/libgccjit.cc
@@ -19,12 +19,12 @@ along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#include "config.h"
+#define INCLUDE_PTHREAD_H
#include "system.h"
#include "coretypes.h"
#include "timevar.h"
#include "typed-splay-tree.h"
#include "cppbuiltin.h"
-#include <pthread.h>
#include "libgccjit.h"
#include "jit-recording.h"
diff --git a/gcc/system.h b/gcc/system.h
index c5562cc49a3..e10c34f70ec 100644
--- a/gcc/system.h
+++ b/gcc/system.h
@@ -750,6 +750,10 @@ extern int vsnprintf (char *, size_t, const char *, va_list);
#endif
#endif
+#ifdef INCLUDE_PTHREAD_H
+#include <pthread.h>
+#endif
+
#ifdef INCLUDE_ISL
#ifdef HAVE_isl
#include <isl/options.h>
@@ -1,28 +1,108 @@
From d54419ddcc14f52517017147201560da5353c436 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Sun, 17 Jul 2022 02:52:13 +0200
Subject: [PATCH] libgo: adjust name of union in sigevent struct
From 8f1a91aeff400d572857895b7f5e863ec5a4d93e Mon Sep 17 00:00:00 2001
From: Ian Lance Taylor <iant@golang.org>
Date: Mon, 26 Sep 2022 15:03:53 -0400
Subject: [PATCH] runtime: portable access to sigev_notify_thread_id
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The union in struct sigevent is named __sev_fields on musl but
_sigev_un on glibc. Not sure what this code actually does and
how this works if the union layout is different…
Previously, libgo relied on the _sigev_un implementation-specific
field in struct sigevent, which is only available on glibc.
This patch uses the sigev_notify_thread_id macro instead which is
mandated by timer_create(2). In theory, this should work with any libc
implementation for Linux. Unfortunately, there is an open glibc bug
as glibc does not define this macro. For this reason, a glibc-specific
workaround is required. Other libcs (such as musl) define the macro
and don't require the workaround.
See https://sourceware.org/bugzilla/show_bug.cgi?id=27417
This makes libgo compatible with musl libc.
Based on patch by Sören Tempel.
Change-Id: I0924a53d5212730ebc395ecf9199f85967be8cc6
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/434755
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Than McIntosh <thanm@google.com>
---
libgo/go/runtime/os_linux.go | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
libgo/go/runtime/os_linux.go | 12 +++++++++++-
libgo/runtime/go-signal.c | 18 ++++++++++++++++++
2 files changed, 29 insertions(+), 1 deletion(-)
diff --git a/libgo/go/runtime/os_linux.go b/libgo/go/runtime/os_linux.go
index 96fb178870e..a75a2dd703f 100644
index 96fb1788..2b2d827c 100644
--- a/libgo/go/runtime/os_linux.go
+++ b/libgo/go/runtime/os_linux.go
@@ -365,7 +365,7 @@ func setThreadCPUProfiler(hz int32) {
@@ -22,6 +22,12 @@ type mOS struct {
profileTimerValid uint32
}
+// setSigeventTID is written in C to set the sigev_notify_thread_id
+// field of a sigevent struct.
+//
+//go:noescape
+func setSigeventTID(*_sigevent, int32)
+
func getProcID() uint64 {
return uint64(gettid())
}
@@ -52,9 +58,12 @@ const (
)
// Atomically,
+//
// if(*addr == val) sleep
+//
// Might be woken up spuriously; that's allowed.
// Don't sleep longer than ns; ns < 0 means forever.
+//
//go:nosplit
func futexsleep(addr *uint32, val uint32, ns int64) {
// Some Linux kernels have a bug where futex of
@@ -73,6 +82,7 @@ func futexsleep(addr *uint32, val uint32, ns int64) {
}
// If any procs are sleeping on addr, wake up at most cnt.
+//
//go:nosplit
func futexwakeup(addr *uint32, cnt uint32) {
ret := futex(unsafe.Pointer(addr), _FUTEX_WAKE_PRIVATE, cnt, nil, nil, 0)
@@ -365,7 +375,7 @@ func setThreadCPUProfiler(hz int32) {
var sevp _sigevent
sevp.sigev_notify = _SIGEV_THREAD_ID
sevp.sigev_signo = _SIGPROF
- *((*int32)(unsafe.Pointer(&sevp._sigev_un))) = int32(mp.procid)
+ *((*int32)(unsafe.Pointer(&sevp.__sev_fields))) = int32(mp.procid)
+ setSigeventTID(&sevp, int32(mp.procid))
ret := timer_create(_CLOCK_THREAD_CPUTIME_ID, &sevp, &timerid)
if ret != 0 {
// If we cannot create a timer for this M, leave profileTimerValid false
diff --git a/libgo/runtime/go-signal.c b/libgo/runtime/go-signal.c
index 528d9b6d..aa1b6305 100644
--- a/libgo/runtime/go-signal.c
+++ b/libgo/runtime/go-signal.c
@@ -183,6 +183,24 @@ setSigactionHandler(struct sigaction* sa, uintptr handler)
sa->sa_sigaction = (void*)(handler);
}
+#ifdef __linux__
+
+// Workaround for https://sourceware.org/bugzilla/show_bug.cgi?id=27417
+#ifndef sigev_notify_thread_id
+ #define sigev_notify_thread_id _sigev_un._tid
+#endif
+
+void setSigeventTID(struct sigevent*, int32_t)
+ __asm__ (GOSYM_PREFIX "runtime.setSigeventTID");
+
+void
+setSigeventTID(struct sigevent *sev, int32_t v)
+{
+ sev->sigev_notify_thread_id = v;
+}
+
+#endif // defined(__linux__)
+
// C code to fetch values from the siginfo_t and ucontext_t pointers
// passed to a signal handler.
@@ -1,36 +1,36 @@
From 3825632cf4007ac93d8e44705a6da042c496318b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Mon, 18 Jul 2022 20:34:39 +0200
Subject: [PATCH] libgo: Explicitly define SYS_timer_settime for 32-bit musl
arches
From d53e8a0e94e34dc609e34dd5e404debda2640cfb Mon Sep 17 00:00:00 2001
From: Ian Lance Taylor <iant@golang.org>
Date: Sat, 30 Jul 2022 07:29:28 -0700
Subject: [PATCH] libgo: use SYS_timer_settime32
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
On 32-bit systems musl only defines SYS_timer_settime32 not
SYS_timer_settime. This causes the following compilation error:
Musl defines SYS_timer_settime32, not SYS_timer_settime, on 32-bit systems.
os_linux.go:251:30: error: reference to undefined name '_SYS_timer_settime'
251 | return int32(syscall(_SYS_timer_settime, uintptr(timerid), uintptr(flags), uintptr(unsafe.Pointer(new)), uintptr(unsafe.Pointer(old)), 0, 0))
| ^
Based on patch by Sören Tempel.
This commit fixes this error by defining SYS_timer_settime to
SYS_timer_settime32 if the latter is defined.
Change-Id: I1f3485028d132ceca1aba595325af24b4d72b894
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/420222
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
---
libgo/sysinfo.c | 6 ++++++
1 file changed, 6 insertions(+)
libgo/sysinfo.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/libgo/sysinfo.c b/libgo/sysinfo.c
index b85add15a7b..ff04706a993 100644
index fc021099..180f5c31 100644
--- a/libgo/sysinfo.c
+++ b/libgo/sysinfo.c
@@ -343,6 +343,12 @@ enum {
#endif
@@ -354,6 +354,11 @@ enum {
};
#endif
+// musl libc does not have SYS_timer_settime on 32-bit platforms
+// but defines SYS_timer_settime32 instead, alias accordingly.
+#ifdef SYS_timer_settime32
+#if !defined(SYS_timer_settime) && defined(SYS_timer_settime32)
+// musl defines SYS_timer_settim32 on 32-bit systems.
+#define SYS_timer_settime SYS_timer_settime32
+#endif
+
// musl libc has both off64_t and loff_t. However, both of these types
// are defined as CPP macros, not as C typedefs. Unfortunately, the GCC
// -fdump-go-spec option, which is responsible for generating type
#if defined(HAVE_LOFF_T)
// loff_t can be defined as a macro; for -fgo-dump-spec make sure we
// see a typedef.
@@ -1,20 +1,29 @@
From 75a430f66760802bf1ac5afcd716613e3cf8c77d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Tue, 19 Jul 2022 07:15:25 +0200
Subject: [PATCH] libgo: make match.sh POSIX-shell compatible
From a62f20ae78ddd41be682dde8cab075ca4f5dbb2a Mon Sep 17 00:00:00 2001
From: Ian Lance Taylor <iant@golang.org>
Date: Fri, 22 Jul 2022 11:38:20 -0700
Subject: [PATCH] libgo: use POSIX shell arithmetic expansion
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The `(( expression ))` syntax is a Bash extension. However, the
arithmetic expressions used by the gobuild() function can also
be expressed using Arithmetic POSIX Expansion with `$(( expression ))`.
Contrary to the Bash expression, the Arithmetic Expansion doesn't set
the return value if the expression is non-zero but instead just prints
the expression result. Hence, the expression also needs to be negated.
Avoid bash-specific ((expression)) syntax. As the bash syntax
converts a non-zero value to a zero status (and a zero value to a 1
status), and POSIX arithmetic expansion does not, we have to negate
the result.
Based on patch by Sören Tempel.
Change-Id: I4c64fa15de3994a1a5c7c5ec0de6a82ddd858917
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/419154
Reviewed-by: Than McIntosh <thanm@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
---
libgo/match.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
libgo/match.sh | 2 +-
libgo/testsuite/gotest | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/libgo/match.sh b/libgo/match.sh
index 7ed587ff794..b355d47429a 100755
index 7ed587ff..e5ed98de 100755
--- a/libgo/match.sh
+++ b/libgo/match.sh
@@ -111,7 +111,7 @@ gobuild() {
@@ -22,7 +31,20 @@ index 7ed587ff794..b355d47429a 100755
line=$(echo "$line" | sed -e "s/\\(${wrap}\\)386\\(${wrap}\\)/\10\2/g")
fi
- (($line))
+ return $((! ( line )))
+ return $((!($line)))
}
matched=
diff --git a/libgo/testsuite/gotest b/libgo/testsuite/gotest
index 04e4267f..0a0a7e14 100755
--- a/libgo/testsuite/gotest
+++ b/libgo/testsuite/gotest
@@ -302,7 +302,7 @@ gobuild() {
if test "$goarch" != "386"; then
line=$(echo "$line" | sed -e "s/\\(${wrap}\\)386\\(${wrap}\\)/\10\2/g")
fi
- (($line))
+ return $((!($line)))
}
case "x$gofiles" in
@@ -0,0 +1,65 @@
From 7b8400f902ef25ea71ed460716c1afedca357a61 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Wed, 2 Nov 2022 12:31:36 +0100
Subject: [PATCH] libphobos: fix undefined reference to `__cmsg_nxthdr' with
musl
Ported fix from upstream.
Upstream: https://github.com/dlang/dmd/commit/54544260a848c8ebad5582e27ac1e09627cdfb17
Bug-URL: https://issues.dlang.org/show_bug.cgi?id=23157
---
.../libdruntime/core/sys/posix/sys/socket.d | 36 +++++++++++++++++--
1 file changed, 33 insertions(+), 3 deletions(-)
diff --git a/libphobos/libdruntime/core/sys/posix/sys/socket.d b/libphobos/libdruntime/core/sys/posix/sys/socket.d
index c1309a68c9c..e3b536d87e7 100644
--- a/libphobos/libdruntime/core/sys/posix/sys/socket.d
+++ b/libphobos/libdruntime/core/sys/posix/sys/socket.d
@@ -188,10 +188,40 @@ version (linux)
extern (D) inout(ubyte)* CMSG_DATA( return scope inout(cmsghdr)* cmsg ) pure nothrow @nogc { return cast(ubyte*)( cmsg + 1 ); }
- private inout(cmsghdr)* __cmsg_nxthdr(inout(msghdr)*, inout(cmsghdr)*) pure nothrow @nogc;
- extern (D) inout(cmsghdr)* CMSG_NXTHDR(inout(msghdr)* msg, inout(cmsghdr)* cmsg) pure nothrow @nogc
+ version (CRuntime_Musl)
{
- return __cmsg_nxthdr(msg, cmsg);
+ extern (D)
+ {
+ private size_t __CMSG_LEN(inout(cmsghdr)* cmsg) pure nothrow @nogc
+ {
+ return (cmsg.cmsg_len + size_t.sizeof -1) & cast(size_t)(~(size_t.sizeof - 1));
+ }
+
+ private inout(cmsghdr)* __CMSG_NEXT(inout(cmsghdr)* cmsg) pure nothrow @nogc
+ {
+ return cmsg + __CMSG_LEN(cmsg);
+ }
+
+ private inout(msghdr)* __MHDR_END(inout(msghdr)* mhdr) pure nothrow @nogc
+ {
+ return cast(inout(msghdr)*)(mhdr.msg_control + mhdr.msg_controllen);
+ }
+
+ inout(cmsghdr)* CMSG_NXTHDR(inout(msghdr)* msg, inout(cmsghdr)* cmsg) pure nothrow @nogc
+ {
+ return cmsg.cmsg_len < cmsghdr.sizeof ||
+ __CMSG_LEN(cmsg) + cmsghdr.sizeof >= __MHDR_END(msg) - cast(inout(msghdr)*)(cmsg)
+ ? cast(inout(cmsghdr)*) null : cast(inout(cmsghdr)*) __CMSG_NEXT(cmsg);
+ }
+ }
+ }
+ else
+ {
+ private inout(cmsghdr)* __cmsg_nxthdr(inout(msghdr)*, inout(cmsghdr)*) pure nothrow @nogc;
+ extern (D) inout(cmsghdr)* CMSG_NXTHDR(inout(msghdr)* msg, inout(cmsghdr)* cmsg) pure nothrow @nogc
+ {
+ return __cmsg_nxthdr(msg, cmsg);
+ }
}
extern (D) inout(cmsghdr)* CMSG_FIRSTHDR( inout(msghdr)* mhdr ) pure nothrow @nogc
--
2.38.1
+38 -42
View File
@@ -10,7 +10,7 @@ LANG_JAVA=false
LANG_GO=false
LANG_FORTRAN=false
LANG_ADA=false
options="!strip !tracedeps"
options="!strip"
# abuild doesn't try to tries to install "build-base-$CTARGET_ARCH"
# when this variable matches "no*"
@@ -24,14 +24,15 @@ CBUILDROOT="/"
_cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET"
pkgname=gcc-aarch64
_pkgbase=12.1.1
pkgver=12.1.1_git20220630
_pkgbase=12.2.1 # must match gcc/BASE-VER
_pkgsnap=20220924
pkgver=${_pkgbase}_git${_pkgsnap}
[ "$BOOTSTRAP" = "nolibc" ] && pkgname="gcc-pass2"
[ "$CBUILD" != "$CHOST" ] && _cross="-$CARCH" || _cross=""
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
pkgname=gcc-aarch64
pkgrel=5
pkgrel=4
pkgdesc="Stage2 cross-compiler for aarch64"
url="https://gcc.gnu.org"
arch="x86_64"
@@ -40,7 +41,7 @@ _gccrel=$pkgver-r$pkgrel
depends="binutils-aarch64 mpc1"
makedepends_build="gcc g++ bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev"
makedepends_host="linux-headers gmp-dev mpfr-dev mpc1-dev isl-dev zlib-dev musl-dev-aarch64 binutils-aarch64"
subpackages="g++-aarch64:gpp"
subpackages="g++-aarch64:gpp libstdc++-dev-aarch64:libcxx_dev"
[ "$CHOST" = "$CTARGET" ] && subpackages="gcc-doc$_target"
replaces="libstdc++ binutils"
@@ -53,7 +54,7 @@ replaces="libstdc++ binutils"
: "${LANG_JIT:=true}"
_libgomp=true
_libgcc=true
_libgcc=false
_libatomic=true
_libitm=true
@@ -204,11 +205,14 @@ makedepends="$makedepends_build $makedepends_host"
# when using upstream releases, use this URI template
# https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkgbase:-$pkgver}.tar.xz
#
# right now, we are using a git snapshot.
# right now, we are using a git snapshot. snapshots are taken from gcc.gnu.org/pub/gcc/snapshots.
# However, since they are periodically deleted from the GCC mirrors the utilized snapshots are
# mirrored on dev.alpinelinux.org. Please ensure that the snapshot Git commit (as stated in the
# README) matches the base commit on the version-specific branch in the Git repository below.
#
# 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/~nenolod/gcc-${pkgver}.tar.xz
source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-${_pkgsnap}/gcc-${_pkgbase%%.*}-${_pkgsnap}.tar.xz
0001-posix_memalign.patch
0002-gcc-poison-system-directories.patch
0003-specs-turn-on-Wl-z-now-by-default.patch
@@ -238,32 +242,27 @@ source="https://dev.alpinelinux.org/~nenolod/gcc-${pkgver}.tar.xz
0027-always-build-libgcc_eh.a.patch
0028-ada-libgnarl-compatibility-for-musl.patch
0029-ada-musl-support-fixes.patch
0030-gcc-go-Fix-handling-of-signal-34-on-musl.patch
0031-There-are-more-than-one-st_-a-m-c-tim-fields-in-stru.patch
0032-gcc-go-undef-SETCONTEXT_CLOBBERS_TLS-in-proc.c.patch
0033-gcc-go-link-to-libucontext.patch
0034-Use-generic-errstr.go-implementation-on-musl.patch
0035-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch
0036-configure-fix-detection-of-atomic-builtins-in-libato.patch
0037-libgo-Recognize-off64_t-and-loff_t-definitions-of-mu.patch
0039-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch
0040-libgo-include-asm-ptrace.h-for-pt_regs-definition-on.patch
0041-go-gospec-forcibly-disable-fsplit-stack-support.patch
0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
0043-libstdc-do-not-throw-exceptions-for-non-C-locales-on.patch
0044-gdc-unconditionally-link-libgphobos-against-libucont.patch
0045-druntime-link-against-libucontext-on-all-platforms.patch
0046-c-avoid-memory-poisoning-on-musl-PR106102.patch
0047-jit-avoid-calloc-poisoning-on-musl-PR106102.patch
0049-libgo-adjust-name-of-union-in-sigevent-struct.patch
0050-libphobos-don-t-define-__mode_t-twice-on-musl-target.patch
0051-libgo-Explicitly-define-SYS_timer_settime-for-32-bit.patch
0052-libgnat-time_t-is-always-64-bit-on-musl-libc.patch
0053-libgo-make-match.sh-POSIX-shell-compatible.patch
0054-libphobos-fix-undefined-reference-to-__cmsg_nxthdr-w.patch
"
# we build out-of-tree
_gccdir="$srcdir"/gcc-$pkgver
_gccdir="$srcdir"/gcc-${_pkgbase%%.*}-${_pkgsnap}
_gcclibdir="/usr/lib/gcc/$CTARGET/${_pkgbase:-$pkgver}"
_gcclibexec="/usr/libexec/gcc/$CTARGET/${_pkgbase:-$pkgver}"
@@ -324,10 +323,9 @@ build() {
case "$CTARGET_LIBC" in
musl)
# musl does not support mudflap, or libsanitizer
# libmpx uses secure_getenv and struct _libc_fpstate not present in musl
# musl does not support libsanitizer
# alpine musl provides libssp_nonshared.a, so we don't need libssp either
_libc_configure="--disable-libssp --disable-libmpx --disable-libmudflap --disable-libsanitizer"
_libc_configure="--disable-libssp --disable-libsanitizer"
_symvers="--disable-symvers"
export libat_cv_have_ifunc=no
;;
@@ -381,7 +379,6 @@ build() {
--enable-__cxa_atexit
--enable-default-pie
--enable-default-ssp
--enable-cloog-backend
--enable-languages=$_languages
$_arch_configure
$_libc_configure
@@ -437,7 +434,6 @@ package() {
# strip debug info from some static libs
find "$pkgdir" \( -name libgfortran.a -o -name libobjc.a -o -name libgomp.a \
-o -name libgphobos.a -o -name libgdruntime.a \
-o -name libmudflap.a -o -name libmudflapth.a \
-o -name libgcc.a -o -name libgcov.a -o -name libquadmath.a \
-o -name libitm.a -o -name libgo.a -o -name libcaf\*.a \
-o -name libatomic.a -o -name libasan.a -o -name libtsan.a \) \
@@ -555,16 +551,16 @@ libcxx_dev() {
depends=
replaces="g++"
amove usr/lib/libstdc++.a \
usr/lib/libstdc++.so \
usr/lib/libstdc++fs.a \
usr/lib/libsupc++.a \
usr/include/c++
amove usr/${_target:+$CTARGET/}lib/libstdc++.a \
usr/${_target:+$CTARGET/}lib/libstdc++.so \
usr/${_target:+$CTARGET/}lib/libstdc++fs.a \
usr/${_target:+$CTARGET/}lib/libsupc++.a \
usr/${_target:+$CTARGET/}include/c++
}
gpp() {
pkgdesc="GNU C++ standard library and compiler"
depends="libstdc++=$_gccrel libstdc++-dev=$_gccrel gcc=$_gccrel libc-dev"
depends="libstdc++=$_gccrel libstdc++-dev$_target=$_gccrel gcc$_target=$_gccrel libc-dev"
mkdir -p "$subpkgdir/$_gcclibexec" \
"$subpkgdir"/usr/bin \
"$subpkgdir"/usr/${_target:+$CTARGET/}include \
@@ -669,8 +665,13 @@ libgo() {
}
go() {
pkgdesc="Go support for GCC"
pkgdesc="GCC Go frontend (intended for bootstrapping community/go)"
depends="gcc=$_gccrel libgo=$_gccrel !go"
install="$pkgname-go.post-install"
# See https://lists.alpinelinux.org/~alpine/devel/%3C33KG0XO61I4IL.2Z7RTAZ5J3SY6%408pit.net%3E
provides="go-bootstrap"
provider_priority=1 # lowest, see community/go
mkdir -p "$subpkgdir"/$_gcclibexec \
"$subpkgdir"/usr/lib \
@@ -763,7 +764,7 @@ gnat() {
}
sha512sums="
43de66dfed7b5351bb543f7f2e8253e63d1e544e5bd293829e8ec7bffe60925cabcf8f6972fe8825100b1f1d7839e41d9314ec650c1320150c09317e2be24aa9 gcc-12.1.1_git20220630.tar.xz
ba4d9e73d108088da26fbefe18d9b245b76771ffe752c2b4b31bdf38a2d0b638fbc115c377526c27311d4d7ffd4e0d236a5af5016bd364ccaa11a4989d1401e8 gcc-12-20220924.tar.xz
41cbb4d69218006cf9e0cdb6c86212ef451f8decd52a50a7dbb4d34726009da7a4e0261c852b46cb584db253a4bae2f31dc485c506cb545e64a7d26e0ba6c2b6 0001-posix_memalign.patch
531155055cda7f119bcac6479bcae73af9201cd596af9cf1616850bbcf4393b91c5de9f2fbbc1cde6e158fb4df7237b033146f662dff5fa0ea12151cc514adb8 0002-gcc-poison-system-directories.patch
c1275d77b5269386a2ec683933570810f5a2ba1208c161ed887797eb9aee3cb82ef08a8964635902614e6a6e83f3065ba0801c9355d85dd8d60cb1fa20bdf687 0003-specs-turn-on-Wl-z-now-by-default.patch
@@ -793,26 +794,21 @@ b40d7e4712c035674c993bbb55475290ec14523b3f0fd05493514bac4e9adaa6641faf815fc40ffc
674360ce2ee9f704d0632cc98756f9fe8dd8ca30064fb9d3423b437f7e679c1c51e765b15e535dcb278cd2769583690acb3395b91e4fd5f6f4e3b97879fcc313 0027-always-build-libgcc_eh.a.patch
f060687adcd5297124e4000f1ba1e3fd5d7d124da04d948cbd0d4a6c69a90a2b29a4a0dbbe13a83ab6950724f434de012b681bdbcdf53c0100b40fe3d00f2f2f 0028-ada-libgnarl-compatibility-for-musl.patch
5160bae68e20a1966c1f6d655ee98af759e9b9ee842718ae6007d467b418e1cf3b307528a0841477b5259671ce868521b06c0f2e947b7b8f3a398c53dd978252 0029-ada-musl-support-fixes.patch
74c70a752ff24f231b45c69ca1d86ebf261bca643334cb6ba518ac204986ccd7fa84f4df4fdb38bbc0bb61832514b0100b2d2ba069fb1842929369d073220f24 0030-gcc-go-Fix-handling-of-signal-34-on-musl.patch
9786711f308d5f93f2f5a45862f340d4741e1d8aef116d696b85a6debb6149d3772b0cfab4d9ef8782172b102664d9acdd27021af433b504c5918f379b1dd978 0031-There-are-more-than-one-st_-a-m-c-tim-fields-in-stru.patch
4ffd2f279fbcf5abb1ac8cc6435204e48a776e7ef3742f2120eef1a1bdca2d0a01d30c481fd1495926c9166daaf127f9013fda0efefe3ed7bf6e660915cc1b49 0032-gcc-go-undef-SETCONTEXT_CLOBBERS_TLS-in-proc.c.patch
0ad15e78806031cef68da6577f7ce9be178533b3768ca42fff7f12816d61fa745acc77be2e047ac1c5bfdbc04e999202e5cefd04042bca798177197236b79954 0033-gcc-go-link-to-libucontext.patch
3c04b26554a78096296ca9542c77a91219bd26044dd2cb2006db4c1944889a97c215900b3828ba7e8c675162406db543605a815bdfbd915bf810663b1b253bdd 0033-gcc-go-link-to-libucontext.patch
699dc3641099da6136dd3689f06c6553c03b3a85acf83a3fce1beb5425065b3e378535ca9e9100a120fdbafc34871d61c063fd5328a49cd87a15a989ed51706d 0034-Use-generic-errstr.go-implementation-on-musl.patch
d9ba710f770e053c8f212e821817c188091a829658050b9ab5906388553ec60fec37943ea43c270e92a9014902949f3c98fc4639032d92b8145b375bb29e193e 0035-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch
ab90d8fdd977d6cd3da096a1c76d77be3e89a020b2127247771711a32eb608cceed21834ef488ab4b69bb0f408b098fdfb61630819e3d1a1e57d5af67800ee74 0036-configure-fix-detection-of-atomic-builtins-in-libato.patch
7b356e11f66877bee864e2b1f81ae4be6c6c586040afb3ac220ff902f694efd60dcb4647cc7a37890c91dd539535b9992d463b785d3158205dbf9369b17c8ab7 0037-libgo-Recognize-off64_t-and-loff_t-definitions-of-mu.patch
5905e4309670cfa4a5883aa21f744391ee2107731795817e0ffcccfaa22b0c21df883038c86362b091e7b35730aa4de6dce827c908ea398a161add851df5c31e 0039-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch
570e084d223671fa29cb460b1b536a216920a7bcdfcdad21fe8cd7610e13f6942c1b1dd34ec861e9e3d830b9fe1f0e02e305c50c54d83aaf20526be09ca2256c 0040-libgo-include-asm-ptrace.h-for-pt_regs-definition-on.patch
a8b53c7d6e0d6d19c655844cab074f49b8f14c54a7af920b5792303f73713fdc69b723a0a6041548d227dfaa98ef63641460ea355487619eb29f9fec4a1e301b 0041-go-gospec-forcibly-disable-fsplit-stack-support.patch
15c93c9f2d68b19d00c6e82748e5f14470a120a3996f64d1ce91f17a65a5334cca478b4a6eba7d2d0a1d6d22206407ac3b1b5255987cc1144f5177bbb68153c8 0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
8bc6823f0b3c66f7b73d7ddb64ffa6930463285c2e9a14a2bc1882bcc4271144eaa1107d713294699caf9481648163cbf43921a2b8e4ac0d55c78a804bae8a3d 0037-libgo-Recognize-off64_t-and-loff_t-definitions-of-mu.patch
e9699f4721778869eb3a8fef2c679208ef5b98584892f30b0e1cb5dc1669f8158198d7792659b1b56c381baf62247d21990dcced9178547affd5d6bfb2d12548 0039-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch
d6dc1bfb881a313d167aaa5658790b0f55eea4336c408cfc6613dd5783440dafd0d37c43031a5f3e69be40f632e38371cd4fb6e5f0494ac4ea4d7d5025d2ae02 0041-go-gospec-forcibly-disable-fsplit-stack-support.patch
684c6a6d52512b973429b6e709966439ac1e174f9e79a33d4a638b452245b457b34752b4b4034ba983f6a712f86522e7adf715bab00a6603f64a12139c5b1e39 0042-gcc-go-fix-build-error-with-SYS_SECCOMP.patch
25014dfa99d96ee70ce0ad22e9f7974f0a51cc50b3b9c2db49df50774c8cd29e497ceed120486bee50be83bfb07f2009ed310eb9b0543f2795bd7359b87eadd2 0043-libstdc-do-not-throw-exceptions-for-non-C-locales-on.patch
75fd83ac05ab0a08d5f48547b08810f9934209bc78b5db59d65f33887b382af7ec24d8a29d40f86325c05af40c1ae1ec6466c839f646af90afc895a13073d07b 0044-gdc-unconditionally-link-libgphobos-against-libucont.patch
13e047153076d6e1fc40c9f5b6bfe5699c0e5460248f3d2b35ae36677cb960525af7b0b025997e5000a8492cec5e77a86828d66b4058c0d7f89fde0ab3890142 0045-druntime-link-against-libucontext-on-all-platforms.patch
ba87d4b4433e5f018071ce933ae523c62334574be2e46881a8945c9dc7ecc0fadfed3aaf837f13f93fd4c0d6d33feb24cb67c77d9c0adb40b62637991fed4374 0046-c-avoid-memory-poisoning-on-musl-PR106102.patch
03e7c0caf59ee7c7d13a840178befb378b734f18a5c36ec4bbfad3f78253f0afab80864ea0905b58454178c8c31b2441622dd38668dd54e6550e30e6249e882b 0047-jit-avoid-calloc-poisoning-on-musl-PR106102.patch
be7688a44707991c31337bff24245394aa385e7b4ba151f18e21e734a4bbb151348458f413965e5cba50185ab8e0aba8b793eba04c0802dc563b148ed490f26d 0049-libgo-adjust-name-of-union-in-sigevent-struct.patch
c33ca2553642c2dbd1c65cd97046548f08775785a3db06d761e3bbe61398c37bc382fe132c0c3fa2101dfd4eea2a6d48bf4fae899a0ddb811c81abd7be35c122 0049-libgo-adjust-name-of-union-in-sigevent-struct.patch
179cd15d629884a66e954fd76066675efa594686b970facbb12ad50769e5d70b5530d7f61e77120e26d1c3dfc701cfc5295f341f635db998df73c41bc8e62172 0050-libphobos-don-t-define-__mode_t-twice-on-musl-target.patch
d7592589cbf982f4518cb07572f96131278c7d2fd8fbbcd7fcb47f6628529ae9a5fc22b2dfe929be06845d137e1c5d2efeb6f63b1c2fb9c36cd6bdb97d41c65f 0051-libgo-Explicitly-define-SYS_timer_settime-for-32-bit.patch
c82d7c8d340a76df3d796565a79b0ccc04ddffef39927620e1f3719bf2dc1db101ba13aef24b46c5bc95b7bf1e31c8bda4ab0936ba4c9c5e5047ba08826c982c 0051-libgo-Explicitly-define-SYS_timer_settime-for-32-bit.patch
eb403d8ea665fd5dc2c11faf43b055e6a3bf480a397ceee3e0ca1e38ec7d2392315f2694ed9a34ffbc99e464f2873fbbf91be8646ea4dea5d3636e3ea22fefa0 0052-libgnat-time_t-is-always-64-bit-on-musl-libc.patch
29c4fe28e5bf232e01b44106b2f8a3e50b5e00fc4302a69d3f5f90695e43ef07721a917b51d49dc40ae0543d8d97d432cb475834059c92176b73d326af9496e3 0053-libgo-make-match.sh-POSIX-shell-compatible.patch
22fb6edf1ed0387e2b93839ffe6e82a7fee420950af90e91199c3488d966702fdeb1a3396d22be0c73a4051525da9349c93d070a0d83b724c83f2b268da6483f 0053-libgo-make-match.sh-POSIX-shell-compatible.patch
9b74d0a0e4140b597708a295bcf51b93944782698470e2ba9bc0f0d4a830fc418da9624eccc85f3d65ff6d50b8ebf40cecd34d5b045db9e6c29614e981e93f92 0054-libphobos-fix-undefined-reference-to-__cmsg_nxthdr-w.patch
"
+8
View File
@@ -0,0 +1,8 @@
#!/bin/sh
cat 1>&2 <<EOF
*
* gcc-go is used in Alpine for bootstrapping Go.
* It is currently discouraged to use it for other purposes.
*
EOF
-39
View File
@@ -1,39 +0,0 @@
From 74c7b0df9971b6bc75d7d172c2819ffd21d51050 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Fri, 26 Jan 2018 20:32:50 +0000
Subject: [PATCH] posix_memalign
---
gcc/config/i386/pmm_malloc.h | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/gcc/config/i386/pmm_malloc.h b/gcc/config/i386/pmm_malloc.h
index 3b2e4f47915..20f790904a2 100644
--- a/gcc/config/i386/pmm_malloc.h
+++ b/gcc/config/i386/pmm_malloc.h
@@ -27,12 +27,13 @@
#include <stdlib.h>
/* We can't depend on <stdlib.h> since the prototype of posix_memalign
- may not be visible. */
+ may not be visible and we can't pollute the namespace either. */
#ifndef __cplusplus
-extern int posix_memalign (void **, size_t, size_t);
+extern int _mm_posix_memalign (void **, size_t, size_t)
#else
-extern "C" int posix_memalign (void **, size_t, size_t) throw ();
+extern "C" int _mm_posix_memalign (void **, size_t, size_t) throw ()
#endif
+__asm__("posix_memalign");
static __inline void *
_mm_malloc (size_t __size, size_t __alignment)
@@ -42,7 +43,7 @@ _mm_malloc (size_t __size, size_t __alignment)
return malloc (__size);
if (__alignment == 2 || (sizeof (void *) == 8 && __alignment == 4))
__alignment = sizeof (void *);
- if (posix_memalign (&__ptr, __alignment, __size) == 0)
+ if (_mm_posix_memalign (&__ptr, __alignment, __size) == 0)
return __ptr;
else
return NULL;
@@ -1,200 +0,0 @@
From dd1e75ff4ecda96957465b34681f245e818928bd Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 29 Mar 2013 08:59:00 +0400
Subject: [PATCH] gcc: poison-system-directories
Add /sw/include and /opt/include based on the original
zecke-no-host-includes.patch patch. The original patch checked for
/usr/include, /sw/include and /opt/include and then triggered a failure and
aborted.
Instead, we add the two missing items to the current scan. If the user
wants this to be a failure, they can add "-Werror=poison-system-directories".
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Pending
---
gcc/common.opt | 4 ++++
gcc/config.in | 6 ++++++
gcc/configure | 16 ++++++++++++++++
gcc/configure.ac | 10 ++++++++++
gcc/doc/invoke.texi | 9 +++++++++
gcc/gcc.cc | 2 ++
gcc/incpath.cc | 21 +++++++++++++++++++++
7 files changed, 68 insertions(+)
diff --git a/gcc/common.opt b/gcc/common.opt
index 8a0dafc522d..0357868e22c 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -710,6 +710,10 @@ Wreturn-local-addr
Common Var(warn_return_local_addr) Init(1) Warning
Warn about returning a pointer/reference to a local or temporary variable.
+Wpoison-system-directories
+Common Var(flag_poison_system_directories) Init(1) Warning
+Warn for -I and -L options using system directories if cross compiling
+
Wshadow
Common Var(warn_shadow) Warning
Warn when one variable shadows another. Same as -Wshadow=global.
diff --git a/gcc/config.in b/gcc/config.in
index 64c27c9cfac..f0fbf123aa8 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -230,6 +230,12 @@
#endif
+/* Define to warn for use of native system header directories */
+#ifndef USED_FOR_TARGET
+#undef ENABLE_POISON_SYSTEM_DIRECTORIES
+#endif
+
+
/* Define if you want all operations on RTL (the basic data structure of the
optimizer and back end) to be checked for dynamic type safety at runtime.
This is quite expensive. */
diff --git a/gcc/configure b/gcc/configure
index 5ce0557719a..e9060112384 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -1023,6 +1023,7 @@ enable_maintainer_mode
enable_link_mutex
enable_link_serialization
enable_version_specific_runtime_libs
+enable_poison_system_directories
enable_plugin
enable_host_shared
enable_libquadmath_support
@@ -1785,6 +1786,8 @@ Optional Features:
--enable-version-specific-runtime-libs
specify that runtime libraries should be installed
in a compiler-specific directory
+ --enable-poison-system-directories
+ warn for use of native system header directories
--enable-plugin enable plugin support
--enable-host-shared build host code as shared libraries
--disable-libquadmath-support
@@ -31982,6 +31985,19 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then :
fi
+# Check whether --enable-poison-system-directories was given.
+if test "${enable_poison_system_directories+set}" = set; then :
+ enableval=$enable_poison_system_directories;
+else
+ enable_poison_system_directories=no
+fi
+
+if test "x${enable_poison_system_directories}" = "xyes"; then
+
+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
+
+fi
+
# Substitute configuration variables
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 23bee7010a3..75a7048045c 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -7421,6 +7421,16 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
[specify that runtime libraries should be
installed in a compiler-specific directory])])
+AC_ARG_ENABLE([poison-system-directories],
+ AS_HELP_STRING([--enable-poison-system-directories],
+ [warn for use of native system header directories]),,
+ [enable_poison_system_directories=no])
+if test "x${enable_poison_system_directories}" = "xyes"; then
+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
+ [1],
+ [Define to warn for use of native system header directories])
+fi
+
# Substitute configuration variables
AC_SUBST(subdirs)
AC_SUBST(srcdir)
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 07b440190c3..b2de464798a 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -379,6 +379,7 @@ Objective-C and Objective-C++ Dialects}.
-Wpacked -Wno-packed-bitfield-compat -Wpacked-not-aligned -Wpadded @gol
-Wparentheses -Wno-pedantic-ms-format @gol
-Wpointer-arith -Wno-pointer-compare -Wno-pointer-to-int-cast @gol
+-Wno-poison-system-directories @gol
-Wno-pragmas -Wno-prio-ctor-dtor -Wredundant-decls @gol
-Wrestrict -Wno-return-local-addr -Wreturn-type @gol
-Wno-scalar-storage-order -Wsequence-point @gol
@@ -8029,6 +8030,14 @@ made up of data only and thus requires no special treatment. But, for
most targets, it is made up of code and thus requires the stack to be
made executable in order for the program to work properly.
+@item -Wno-poison-system-directories
+@opindex Wno-poison-system-directories
+Do not warn for @option{-I} or @option{-L} options using system
+directories such as @file{/usr/include} when cross compiling. This
+option is intended for use in chroot environments when such
+directories contain the correct headers and libraries for the target
+system rather than the host.
+
@item -Wfloat-equal
@opindex Wfloat-equal
@opindex Wno-float-equal
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index bb07cc244e3..47fb5802194 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -1159,6 +1159,8 @@ proper position among the other output files. */
"%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
"%X %{o*} %{e*} %{N} %{n} %{r}\
%{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \
+ %{Wno-poison-system-directories:--no-poison-system-directories} \
+ %{Werror=poison-system-directories:--error-poison-system-directories} \
%{static|no-pie|static-pie:} %@{L*} %(mfwrap) %(link_libgcc) " \
VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o "" \
%{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\
diff --git a/gcc/incpath.cc b/gcc/incpath.cc
index bd2a97938eb..c80f100f476 100644
--- a/gcc/incpath.cc
+++ b/gcc/incpath.cc
@@ -26,6 +26,7 @@
#include "intl.h"
#include "incpath.h"
#include "cppdefault.h"
+#include "diagnostic-core.h"
/* Microsoft Windows does not natively support inodes.
VMS has non-numeric inodes. */
@@ -399,6 +400,26 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose)
}
fprintf (stderr, _("End of search list.\n"));
}
+
+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
+ if (flag_poison_system_directories)
+ {
+ struct cpp_dir *p;
+
+ for (p = heads[INC_QUOTE]; p; p = p->next)
+ {
+ if ((!strncmp (p->name, "/usr/include", 12))
+ || (!strncmp (p->name, "/usr/local/include", 18))
+ || (!strncmp (p->name, "/usr/X11R6/include", 18))
+ || (!strncmp (p->name, "/sw/include", 11))
+ || (!strncmp (p->name, "/opt/include", 12)))
+ warning (OPT_Wpoison_system_directories,
+ "include location \"%s\" is unsafe for "
+ "cross-compilation",
+ p->name);
+ }
+ }
+#endif
}
/* Use given -I paths for #include "..." but not #include <...>, and
@@ -1,41 +0,0 @@
From 40e45739e7d3787acd13b5b9a4c27d843de0ffe2 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:45:49 +0000
Subject: [PATCH] specs: turn on -Wl,-z,now by default
Previously, we also used to turn on -z relro here, but we now build
binutils with --enable-relro, which is functionally equivalent.
Binutils does not appear to have a similar option for enabling -z
now by default.
---
gcc/doc/invoke.texi | 3 +++
gcc/gcc.cc | 1 +
2 files changed, 4 insertions(+)
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index b2de464798a..83bd1bde433 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -16872,6 +16872,9 @@ For example, @option{-Wl,-Map,output.map} passes @option{-Map output.map} to the
linker. When using the GNU linker, you can also get the same effect with
@option{-Wl,-Map=output.map}.
+NOTE: In Alpine Linux, for LDFLAGS, the option
+@option{-Wl,-z,now} is used. To disable, use @option{-Wl,-z,nonow}.
+
@item -u @var{symbol}
@opindex u
Pretend the symbol @var{symbol} is undefined, to force linking of
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index 47fb5802194..d18b5d7b59a 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -1157,6 +1157,7 @@ proper position among the other output files. */
"%{flto|flto=*:%<fcompare-debug*} \
%{flto} %{fno-lto} %{flto=*} %l " LINK_PIE_SPEC \
"%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
+ "-z now " \
"%X %{o*} %{e*} %{N} %{n} %{r}\
%{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \
%{Wno-poison-system-directories:--no-poison-system-directories} \
@@ -1,43 +0,0 @@
From 666d0aeb808ac9c10d065ae7b196695c81a25a20 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:46:22 +0000
Subject: [PATCH] Turn on -D_FORTIFY_SOURCE=2 by default for C, C++, ObjC,
ObjC++, if the optimization level is > 0
---
gcc/c-family/c-cppbuiltin.cc | 4 ++++
gcc/doc/invoke.texi | 6 ++++++
2 files changed, 10 insertions(+)
diff --git a/gcc/c-family/c-cppbuiltin.cc b/gcc/c-family/c-cppbuiltin.cc
index 4672ae8486a..573c021e1e8 100644
--- a/gcc/c-family/c-cppbuiltin.cc
+++ b/gcc/c-family/c-cppbuiltin.cc
@@ -1510,6 +1510,10 @@ c_cpp_builtins (cpp_reader *pfile)
builtin_define_with_value ("__REGISTER_PREFIX__", REGISTER_PREFIX, 0);
builtin_define_with_value ("__USER_LABEL_PREFIX__", user_label_prefix, 0);
+ /* Fortify Source enabled by default for optimization levels > 0 */
+ if (optimize)
+ builtin_define_with_int_value ("_FORTIFY_SOURCE", 2);
+
/* Misc. */
if (flag_gnu89_inline)
cpp_define (pfile, "__GNUC_GNU_INLINE__");
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 83bd1bde433..dda299a9987 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -10896,6 +10896,12 @@ also turns on the following optimization flags:
Please note the warning under @option{-fgcse} about
invoking @option{-O2} on programs that use computed gotos.
+NOTE: In Alpine Linux, @option{-D_FORTIFY_SOURCE=2} is
+set by default, and is activated when @option{-O} is set to 2 or higher.
+This enables additional compile-time and run-time checks for several libc
+functions. To disable, specify either @option{-U_FORTIFY_SOURCE} or
+@option{-D_FORTIFY_SOURCE=0}.
+
@item -O3
@opindex O3
Optimize yet more. @option{-O3} turns on all optimizations specified
@@ -1,269 +0,0 @@
From 75d1a35180cf0967f062765314bf091a64032062 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:46:56 +0000
Subject: [PATCH] On linux targets pass --as-needed by default to the linker,
but always link the sanitizer libraries with --no-as-needed.
---
gcc/config/aarch64/aarch64-linux.h | 1 +
gcc/config/alpha/linux-elf.h | 2 +-
gcc/config/arm/linux-elf.h | 1 +
gcc/config/gnu-user.h | 6 +++---
gcc/config/i386/gnu-user.h | 2 +-
gcc/config/i386/gnu-user64.h | 1 +
gcc/config/ia64/linux.h | 2 +-
gcc/config/mips/gnu-user.h | 1 +
gcc/config/riscv/linux.h | 1 +
gcc/config/rs6000/linux64.h | 4 ++--
gcc/config/rs6000/sysv4.h | 2 +-
gcc/config/s390/linux.h | 2 +-
gcc/config/sparc/linux.h | 2 +-
gcc/gcc.cc | 28 ++++++++++++++++++++--------
14 files changed, 36 insertions(+), 19 deletions(-)
diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
index 5e4553d79f5..b516f3ef97f 100644
--- a/gcc/config/aarch64/aarch64-linux.h
+++ b/gcc/config/aarch64/aarch64-linux.h
@@ -35,6 +35,7 @@
#define CPP_SPEC "%{pthread:-D_REENTRANT}"
#define LINUX_TARGET_LINK_SPEC "%{h*} \
+ --as-needed \
%{static:-Bstatic} \
%{shared:-shared} \
%{symbolic:-Bsymbolic} \
diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h
index 17f16a55910..9ec667e9a5e 100644
--- a/gcc/config/alpha/linux-elf.h
+++ b/gcc/config/alpha/linux-elf.h
@@ -37,7 +37,7 @@ along with GCC; see the file COPYING3. If not see
#define ELF_DYNAMIC_LINKER GNU_USER_DYNAMIC_LINKER
-#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
+#define LINK_SPEC "-m elf64alpha --as-needed %{G*} %{relax:-relax} \
%{O*:-O3} %{!O*:-O1} \
%{shared:-shared} \
%{!shared: \
diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
index df3da67c4f0..7532bc29f9b 100644
--- a/gcc/config/arm/linux-elf.h
+++ b/gcc/config/arm/linux-elf.h
@@ -70,6 +70,7 @@
%{rdynamic:-export-dynamic} \
%{!shared:-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}} \
-X \
+ --as-needed \
%{mbig-endian:-EB} %{mlittle-endian:-EL}" \
SUBTARGET_EXTRA_LINK_SPEC
diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h
index 857c0e077bf..8433e56c3e1 100644
--- a/gcc/config/gnu-user.h
+++ b/gcc/config/gnu-user.h
@@ -136,7 +136,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define LIBASAN_EARLY_SPEC "%{!shared:libasan_preinit%O%s} " \
"%{static-libasan:%{!shared:" \
LD_STATIC_OPTION " --whole-archive -lasan --no-whole-archive " \
- LD_DYNAMIC_OPTION "}}%{!static-libasan:-lasan}"
+ LD_DYNAMIC_OPTION "}}%{!static-libasan:%{!fuse-ld=gold:--push-state} --no-as-needed -lasan %{fuse-ld=gold:--as-needed;:--pop-state}}"
#undef LIBHWASAN_EARLY_SPEC
#define LIBHWASAN_EARLY_SPEC "%{static-libhwasan:%{!shared:" \
LD_STATIC_OPTION " --whole-archive -lhwasan --no-whole-archive " \
@@ -145,12 +145,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define LIBTSAN_EARLY_SPEC "%{!shared:libtsan_preinit%O%s} " \
"%{static-libtsan:%{!shared:" \
LD_STATIC_OPTION " --whole-archive -ltsan --no-whole-archive " \
- LD_DYNAMIC_OPTION "}}%{!static-libtsan:-ltsan}"
+ LD_DYNAMIC_OPTION "}}%{!static-libtsan:%{!fuse-ld=gold:--push-state} --no-as-needed -ltsan %{fuse-ld=gold:--as-needed;:--pop-state}}"
#undef LIBLSAN_EARLY_SPEC
#define LIBLSAN_EARLY_SPEC "%{!shared:liblsan_preinit%O%s} " \
"%{static-liblsan:%{!shared:" \
LD_STATIC_OPTION " --whole-archive -llsan --no-whole-archive " \
- LD_DYNAMIC_OPTION "}}%{!static-liblsan:-llsan}"
+ LD_DYNAMIC_OPTION "}}%{!static-liblsan:%{!fuse-ld=gold:--push-state} --no-as-needed -llsan %{fuse-ld=gold:--as-needed;:--pop-state}}"
#endif
#undef TARGET_F951_OPTIONS
diff --git a/gcc/config/i386/gnu-user.h b/gcc/config/i386/gnu-user.h
index 0102b2a6f3b..994414c1845 100644
--- a/gcc/config/i386/gnu-user.h
+++ b/gcc/config/i386/gnu-user.h
@@ -68,7 +68,7 @@ along with GCC; see the file COPYING3. If not see
{ "link_emulation", GNU_USER_LINK_EMULATION },\
{ "dynamic_linker", GNU_USER_DYNAMIC_LINKER }
-#define GNU_USER_TARGET_LINK_SPEC "-m %(link_emulation) %{shared:-shared} \
+#define GNU_USER_TARGET_LINK_SPEC "-m %(link_emulation) --as-needed %{shared:-shared} \
%{!shared: \
%{!static: \
%{!static-pie: \
diff --git a/gcc/config/i386/gnu-user64.h b/gcc/config/i386/gnu-user64.h
index abc8cf624ca..fe656aeae27 100644
--- a/gcc/config/i386/gnu-user64.h
+++ b/gcc/config/i386/gnu-user64.h
@@ -56,6 +56,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
"%{" SPEC_64 ":-m " GNU_USER_LINK_EMULATION64 "} \
%{" SPEC_32 ":-m " GNU_USER_LINK_EMULATION32 "} \
%{" SPEC_X32 ":-m " GNU_USER_LINK_EMULATIONX32 "} \
+ --as-needed \
%{shared:-shared} \
%{!shared: \
%{!static: \
diff --git a/gcc/config/ia64/linux.h b/gcc/config/ia64/linux.h
index 93510098ccc..3813e536423 100644
--- a/gcc/config/ia64/linux.h
+++ b/gcc/config/ia64/linux.h
@@ -58,7 +58,7 @@ do { \
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
#undef LINK_SPEC
-#define LINK_SPEC "\
+#define LINK_SPEC " --as-needed \
%{shared:-shared} \
%{!shared: \
%{!static: \
diff --git a/gcc/config/mips/gnu-user.h b/gcc/config/mips/gnu-user.h
index 6aad7192e69..e1256a55add 100644
--- a/gcc/config/mips/gnu-user.h
+++ b/gcc/config/mips/gnu-user.h
@@ -55,6 +55,7 @@ along with GCC; see the file COPYING3. If not see
#undef GNU_USER_TARGET_LINK_SPEC
#define GNU_USER_TARGET_LINK_SPEC "\
%{G*} %{EB} %{EL} %{mips*} %{shared} \
+ -as-needed \
%{!shared: \
%{!static: \
%{rdynamic:-export-dynamic} \
diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h
index 38803723ba9..3067ed6eac8 100644
--- a/gcc/config/riscv/linux.h
+++ b/gcc/config/riscv/linux.h
@@ -58,6 +58,7 @@ along with GCC; see the file COPYING3. If not see
"%{mabi=ilp32:_ilp32}"
#define LINK_SPEC "\
+-as-needed \
-melf" XLEN_SPEC DEFAULT_ENDIAN_SPEC "riscv" LD_EMUL_SUFFIX " \
%{mno-relax:--no-relax} \
%{mbig-endian:-EB} \
diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
index b2a7afabc73..34ceb4e4fce 100644
--- a/gcc/config/rs6000/linux64.h
+++ b/gcc/config/rs6000/linux64.h
@@ -377,13 +377,13 @@ extern int dot_symbols;
" -m elf64ppc")
#endif
-#define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " %{!shared: %{!static: \
+#define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " --as-needed %{!shared: %{!static: \
%{!static-pie: \
%{rdynamic:-export-dynamic} \
-dynamic-linker " GNU_USER_DYNAMIC_LINKER32 "}}} \
%(link_os_extra_spec32)"
-#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " %{!shared: %{!static: \
+#define LINK_OS_LINUX_SPEC64 LINK_OS_LINUX_EMUL64 " --as-needed %{!shared: %{!static: \
%{!static-pie: \
%{rdynamic:-export-dynamic} \
-dynamic-linker " GNU_USER_DYNAMIC_LINKER64 "}}} \
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
index 7e2519de5d4..61215a7a1b3 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -788,7 +788,7 @@ GNU_USER_TARGET_CC1_SPEC
#define GNU_USER_DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER
#endif
-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
+#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --as-needed %{!shared: %{!static: \
%{rdynamic:-export-dynamic} \
-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}"
diff --git a/gcc/config/s390/linux.h b/gcc/config/s390/linux.h
index d7b7e7a7b02..d2287f14f2e 100644
--- a/gcc/config/s390/linux.h
+++ b/gcc/config/s390/linux.h
@@ -82,7 +82,7 @@ along with GCC; see the file COPYING3. If not see
#undef LINK_SPEC
#define LINK_SPEC \
- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
+ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --as-needed \
%{shared:-shared} \
%{!shared: \
%{static:-static} \
diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
index 6a809e9092d..93bfb92d3ff 100644
--- a/gcc/config/sparc/linux.h
+++ b/gcc/config/sparc/linux.h
@@ -81,7 +81,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
#undef LINK_SPEC
-#define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
+#define LINK_SPEC "-m elf32_sparc --as-needed %{shared:-shared} \
%{!mno-relax:%{!r:-relax}} \
%{!shared: \
%{!static: \
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index d18b5d7b59a..3b76311b544 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -744,8 +744,11 @@ proper position among the other output files. */
#ifdef LIBASAN_EARLY_SPEC
#define LIBASAN_SPEC STATIC_LIBASAN_LIBS
#elif defined(HAVE_LD_STATIC_DYNAMIC)
-#define LIBASAN_SPEC "%{static-libasan:" LD_STATIC_OPTION \
- "} -lasan %{static-libasan:" LD_DYNAMIC_OPTION "}" \
+#define LIBASAN_SPEC "%{static-libasan:" LD_STATIC_OPTION "}" \
+ " %{!static-libasan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " -lasan " \
+ " %{static-libasan:" LD_DYNAMIC_OPTION "}" \
+ " %{!static-libasan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
STATIC_LIBASAN_LIBS
#else
#define LIBASAN_SPEC "-lasan" STATIC_LIBASAN_LIBS
@@ -780,8 +783,11 @@ proper position among the other output files. */
#ifdef LIBTSAN_EARLY_SPEC
#define LIBTSAN_SPEC STATIC_LIBTSAN_LIBS
#elif defined(HAVE_LD_STATIC_DYNAMIC)
-#define LIBTSAN_SPEC "%{static-libtsan:" LD_STATIC_OPTION \
- "} -ltsan %{static-libtsan:" LD_DYNAMIC_OPTION "}" \
+#define LIBTSAN_SPEC "%{static-libtsan:" LD_STATIC_OPTION "}" \
+ " %{!static-libtsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " -ltsan " \
+ " %{static-libtsan:" LD_DYNAMIC_OPTION "}" \
+ " %{!static-libtsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
STATIC_LIBTSAN_LIBS
#else
#define LIBTSAN_SPEC "-ltsan" STATIC_LIBTSAN_LIBS
@@ -798,8 +804,11 @@ proper position among the other output files. */
#ifdef LIBLSAN_EARLY_SPEC
#define LIBLSAN_SPEC STATIC_LIBLSAN_LIBS
#elif defined(HAVE_LD_STATIC_DYNAMIC)
-#define LIBLSAN_SPEC "%{static-liblsan:" LD_STATIC_OPTION \
- "} -llsan %{static-liblsan:" LD_DYNAMIC_OPTION "}" \
+#define LIBLSAN_SPEC "%{static-liblsan:" LD_STATIC_OPTION "}" \
+ " %{!static-liblsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " -llsan " \
+ " %{static-liblsan:" LD_DYNAMIC_OPTION "}" \
+ " %{!static-liblsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
STATIC_LIBLSAN_LIBS
#else
#define LIBLSAN_SPEC "-llsan" STATIC_LIBLSAN_LIBS
@@ -814,8 +823,11 @@ proper position among the other output files. */
#define STATIC_LIBUBSAN_LIBS \
" %{static-libubsan|static:%:include(libsanitizer.spec)%(link_libubsan)}"
#ifdef HAVE_LD_STATIC_DYNAMIC
-#define LIBUBSAN_SPEC "%{static-libubsan:" LD_STATIC_OPTION \
- "} -lubsan %{static-libubsan:" LD_DYNAMIC_OPTION "}" \
+#define LIBUBSAN_SPEC "%{static-libubsan:" LD_STATIC_OPTION "}" \
+ " %{!static-libubsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " -lubsan " \
+ " %{static-libubsan:" LD_DYNAMIC_OPTION "}" \
+ " %{!static-libubsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
STATIC_LIBUBSAN_LIBS
#else
#define LIBUBSAN_SPEC "-lubsan" STATIC_LIBUBSAN_LIBS
@@ -1,31 +0,0 @@
From c664283dd30949c5299d1c45bd5740bcfe993d22 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:47:43 +0000
Subject: [PATCH] Enable -Wformat and -Wformat-security by default.
---
gcc/c-family/c.opt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
index 07da40ef43b..8683f706426 100644
--- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt
@@ -692,7 +692,7 @@ Warn about function calls with format strings that write past the end
of the destination region. Same as -Wformat-overflow=1.
Wformat-security
-C ObjC C++ ObjC++ Var(warn_format_security) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 2, 0)
+C ObjC C++ ObjC++ Var(warn_format_security) Init(1) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 2, 0)
Warn about possible security problems with format functions.
Wformat-signedness
@@ -713,7 +713,7 @@ C ObjC C++ ObjC++ Var(warn_format_zero_length) Warning LangEnabledBy(C ObjC C++
Warn about zero-length formats.
Wformat=
-C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_format) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0) IntegerRange(0, 2)
+C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_format) Init(1) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0) IntegerRange(0, 2)
Warn about printf/scanf/strftime/strfmon format string anomalies.
Wformat-overflow=
@@ -1,22 +0,0 @@
From e4d0ec43e772b6dc7c3708aed5309897df26a125 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:48:24 +0000
Subject: [PATCH] Enable -Wtrampolines by default.
---
gcc/common.opt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/common.opt b/gcc/common.opt
index 0357868e22c..6d5e5eebe60 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -802,7 +802,7 @@ Common Var(warn_system_headers) Warning
Do not suppress warnings from system headers.
Wtrampolines
-Common Var(warn_trampolines) Warning
+Common Var(warn_trampolines) Init(1) Warning
Warn whenever a trampoline is generated.
Wtrivial-auto-var-init
@@ -1,50 +0,0 @@
From 27e5d5bd3fed9006a2958d2b09750d15ad07383b Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:49:40 +0000
Subject: [PATCH] Disable ssp on -nostdlib, -nodefaultlibs and -ffreestanding
Change the buffer size.
---
gcc/gcc.cc | 8 +++++++-
gcc/params.opt | 2 +-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index 3b76311b544..cc99d0b7aa1 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -996,6 +996,12 @@ proper position among the other output files. */
#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}"
#endif
+#ifdef ENABLE_DEFAULT_SSP
+#define NO_SSP_SPEC "%{nostdlib|nodefaultlibs|ffreestanding:-fno-stack-protector} "
+#else
+#define NO_SSP_SPEC ""
+#endif
+
#ifndef LINK_SSP_SPEC
#ifdef TARGET_LIBC_PROVIDES_SSP
#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
@@ -1295,7 +1301,7 @@ static const char *cc1_options =
%{-version:--version}\
%{-help=*:--help=%*}\
%{!fsyntax-only:%{S:%W{o*}%{!o*:-o %w%b.s}}}\
- %{fsyntax-only:-o %j} %{-param*}\
+ %{fsyntax-only:-o %j} %{-param*} " NO_SSP_SPEC "\
%{coverage:-fprofile-arcs -ftest-coverage}\
%{fprofile-arcs|fprofile-generate*|coverage:\
%{!fprofile-update=single:\
diff --git a/gcc/params.opt b/gcc/params.opt
index b88e1372005..82a7e25dd2f 100644
--- a/gcc/params.opt
+++ b/gcc/params.opt
@@ -1012,7 +1012,7 @@ Common Joined UInteger Var(param_ssa_name_def_chain_limit) Init(512) Param Optim
The maximum number of SSA_NAME assignments to follow in determining a value.
-param=ssp-buffer-size=
-Common Joined UInteger Var(param_ssp_buffer_size) Init(8) IntegerRange(1, 65536) Param Optimization
+Common Joined UInteger Var(param_ssp_buffer_size) Init(4) IntegerRange(1, 65536) Param Optimization
The lower bound for a buffer to be considered for stack smashing protection.
-param=stack-clash-protection-guard-size=
@@ -1,51 +0,0 @@
From 83bf2a316222e2fe0b72968cadf4e334d41173f6 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:50:33 +0000
Subject: [PATCH] Ensure that msgfmt doesn't encounter problems during gcc
bootstrapping.
Solves error messages like the following:
msgfmt: /var/tmp/portage/sys-devel/gcc-4.1.2/work/build/./gcc/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/libstdc++.so.6)
The libgcc_s.so used during build doesn't satisfy the needs of the
libstdc++.so that msgfmt is linked against. On the other hand, msgfmt
is used as a stand-alone application here, and what library it uses
behind the scenes is of no concern to the gcc build process.
Therefore, simply invoking it "as usual", i.e. without any special
library path, will make it work as expected here.
2011-09-19 Martin von Gagern
References:
https://bugs.gentoo.org/372377
https://bugs.gentoo.org/295480
---
libstdc++-v3/po/Makefile.am | 1 +
libstdc++-v3/po/Makefile.in | 1 +
2 files changed, 2 insertions(+)
diff --git a/libstdc++-v3/po/Makefile.am b/libstdc++-v3/po/Makefile.am
index 8f51544989e..5329804d136 100644
--- a/libstdc++-v3/po/Makefile.am
+++ b/libstdc++-v3/po/Makefile.am
@@ -38,6 +38,7 @@ MSGFMT = msgfmt
EXTRA_DIST = string_literals.cc POTFILES.in $(PACKAGE).pot $(LOCALE_IN)
.po.mo:
+ env --unset=LD_LIBRARY_PATH \
$(MSGFMT) -o $@ $<
all-local: all-local-$(USE_NLS)
diff --git a/libstdc++-v3/po/Makefile.in b/libstdc++-v3/po/Makefile.in
index 243f3db7b72..822210781fa 100644
--- a/libstdc++-v3/po/Makefile.in
+++ b/libstdc++-v3/po/Makefile.in
@@ -561,6 +561,7 @@ uninstall-am:
.po.mo:
+ env --unset=LD_LIBRARY_PATH \
$(MSGFMT) -o $@ $<
all-local: all-local-$(USE_NLS)
@@ -1,25 +0,0 @@
From 190064993cd8ddbd48015c1fc1916e4110a97733 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:52:07 +0000
Subject: [PATCH] Don't declare asprintf if defined as a macro.
---
include/libiberty.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/include/libiberty.h b/include/libiberty.h
index a65ced9c820..eb20ab0f95f 100644
--- a/include/libiberty.h
+++ b/include/libiberty.h
@@ -652,8 +652,11 @@ extern void *bsearch_r (const void *, const void *,
/* Like sprintf but provides a pointer to malloc'd storage, which must
be freed by the caller. */
+/* asprintf may be declared as a macro by glibc with __USE_FORTIFY_LEVEL. */
+#ifndef asprintf
extern int asprintf (char **, const char *, ...) ATTRIBUTE_PRINTF_2;
#endif
+#endif
/* Like asprintf but allocates memory without fail. This works like
xmalloc. */
@@ -1,21 +0,0 @@
From 838e1daa955d9013c462be3471497cb39641e951 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:53:00 +0000
Subject: [PATCH] libiberty: copy PIC objects during build process
---
libiberty/Makefile.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in
index 1b17c2e3a47..8db1176df2e 100644
--- a/libiberty/Makefile.in
+++ b/libiberty/Makefile.in
@@ -265,6 +265,7 @@ $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS)
$(AR) $(AR_FLAGS) $(TARGETLIB) \
$(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \
$(RANLIB) $(TARGETLIB); \
+ cp $(TARGETLIB) ../ ; \
cd ..; \
else true; fi
@@ -1,30 +0,0 @@
From 717346fbbd6642ba6b0c3af2deb3771794346507 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:53:36 +0000
Subject: [PATCH] libitm: disable FORTIFY
---
libitm/configure.tgt | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/libitm/configure.tgt b/libitm/configure.tgt
index 06e90973ef3..669e64236c3 100644
--- a/libitm/configure.tgt
+++ b/libitm/configure.tgt
@@ -47,6 +47,16 @@ if test "$gcc_cv_have_tls" = yes ; then
esac
fi
+# FIXME: error: inlining failed in call to always_inline
+# ‘int vfprintf(FILE*, const char*, __va_list_tag*)’
+# : function body can be overwritten at link time
+# Disable Fortify in libitm for now. #508852
+case "${target}" in
+ *-*-linux*)
+ XCFLAGS="${XCFLAGS} -U_FORTIFY_SOURCE"
+ ;;
+esac
+
# Map the target cpu to an ARCH sub-directory. At the same time,
# work out any special compilation flags as necessary.
case "${target_cpu}" in
-54
View File
@@ -1,54 +0,0 @@
From 048c394eb709bfd216e307c1b92ac7f8a7e7758b Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Sat, 24 Oct 2015 20:09:53 +0000
Subject: [PATCH] libgcc_s
---
gcc/config/i386/i386-expand.cc | 4 ++--
libgcc/config/i386/cpuinfo.c | 6 +++---
libgcc/config/i386/t-linux | 2 +-
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc
index 31780b6daf7..d89898846e1 100644
--- a/gcc/config/i386/i386-expand.cc
+++ b/gcc/config/i386/i386-expand.cc
@@ -12338,10 +12338,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget,
{
case IX86_BUILTIN_CPU_INIT:
{
- /* Make it call __cpu_indicator_init in libgcc. */
+ /* Make it call __cpu_indicator_init in libgcc.a. */
tree call_expr, fndecl, type;
type = build_function_type_list (integer_type_node, NULL_TREE);
- fndecl = build_fn_decl ("__cpu_indicator_init", type);
+ fndecl = build_fn_decl ("__cpu_indicator_init_local", type);
call_expr = build_call_expr (fndecl, 0);
return expand_expr (call_expr, target, mode, EXPAND_NORMAL);
}
diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c
index dab1d98060f..cf824b4114a 100644
--- a/libgcc/config/i386/cpuinfo.c
+++ b/libgcc/config/i386/cpuinfo.c
@@ -63,7 +63,7 @@ __cpu_indicator_init (void)
__cpu_features2);
}
-#if defined SHARED && defined USE_ELF_SYMVER
-__asm__ (".symver __cpu_indicator_init, __cpu_indicator_init@GCC_4.8.0");
-__asm__ (".symver __cpu_model, __cpu_model@GCC_4.8.0");
+#ifndef SHARED
+int __cpu_indicator_init_local (void)
+ __attribute__ ((weak, alias ("__cpu_indicator_init")));
#endif
diff --git a/libgcc/config/i386/t-linux b/libgcc/config/i386/t-linux
index 8506a635790..564296f788e 100644
--- a/libgcc/config/i386/t-linux
+++ b/libgcc/config/i386/t-linux
@@ -3,5 +3,5 @@
# t-slibgcc-elf-ver and t-linux
SHLIB_MAPFILES = libgcc-std.ver $(srcdir)/config/i386/libgcc-glibc.ver
-HOST_LIBGCC2_CFLAGS += -mlong-double-80 -DUSE_ELF_SYMVER $(CET_FLAGS)
+HOST_LIBGCC2_CFLAGS += -mlong-double-80 $(CET_FLAGS)
CRTSTUFF_T_CFLAGS += $(CET_FLAGS)
-72
View File
@@ -1,72 +0,0 @@
From db28b1e0f3b06325026ec5b5e7cdca4e9992e05c Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Sat, 7 Nov 2015 02:08:05 +0000
Subject: [PATCH] nopie
---
gcc/configure | 27 +++++++++++++++++++++++++++
gcc/configure.ac | 13 +++++++++++++
2 files changed, 40 insertions(+)
diff --git a/gcc/configure b/gcc/configure
index e9060112384..2f6b3265a6c 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -32497,6 +32497,33 @@ fi
$as_echo "$gcc_cv_no_pie" >&6; }
if test "$gcc_cv_no_pie" = "yes"; then
NO_PIE_FLAG="-no-pie"
+else
+ # Check if -nopie works.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -nopie option" >&5
+$as_echo_n "checking for -nopie option... " >&6; }
+if test "${gcc_cv_nopie+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ saved_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -nopie"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int main(void) {return 0;}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ gcc_cv_nopie=yes
+else
+ gcc_cv_nopie=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$saved_LDFLAGS"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_nopie" >&5
+$as_echo "$gcc_cv_nopie" >&6; }
+ if test "$gcc_cv_nopie" = "yes"; then
+ NO_PIE_FLAG="-nopie"
+ fi
fi
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 75a7048045c..e683d3a7a5f 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -7681,6 +7681,19 @@ AC_CACHE_CHECK([for -no-pie option],
LDFLAGS="$saved_LDFLAGS"])
if test "$gcc_cv_no_pie" = "yes"; then
NO_PIE_FLAG="-no-pie"
+else
+ # Check if -nopie works.
+ AC_CACHE_CHECK([for -nopie option],
+ [gcc_cv_nopie],
+ [saved_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -nopie"
+ AC_LINK_IFELSE([int main(void) {return 0;}],
+ [gcc_cv_nopie=yes],
+ [gcc_cv_nopie=no])
+ LDFLAGS="$saved_LDFLAGS"])
+ if test "$gcc_cv_nopie" = "yes"; then
+ NO_PIE_FLAG="-nopie"
+ fi
fi
AC_SUBST([NO_PIE_FLAG])
@@ -1,21 +0,0 @@
From 686e85d8a05f9f9e6c983afb13f937bd88fe84dd Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Thu, 6 Jan 2022 03:18:32 +0000
Subject: [PATCH] dlang: use libucontext on mips64
---
libphobos/configure.tgt | 1 +
1 file changed, 1 insertion(+)
diff --git a/libphobos/configure.tgt b/libphobos/configure.tgt
index 0063dd23249..c5e782a1238 100644
--- a/libphobos/configure.tgt
+++ b/libphobos/configure.tgt
@@ -38,6 +38,7 @@ case "${target}" in
;;
mips*-*-linux*)
LIBPHOBOS_SUPPORTED=yes
+ LIBDRUNTIME_NEEDS_UCONTEXT=yes
;;
power*-*-freebsd*)
LIBPHOBOS_SUPPORTED=yes
@@ -1,39 +0,0 @@
From fd642f8cd61849a9dc169588be5562ceda96a889 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:59:16 +0000
Subject: [PATCH] ada: fix shared linking
---
gcc/ada/link.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/gcc/ada/link.c b/gcc/ada/link.c
index a7574efb472..0ad0d66463c 100644
--- a/gcc/ada/link.c
+++ b/gcc/ada/link.c
@@ -107,9 +107,9 @@ const char *__gnat_default_libgcc_subdir = "lib";
|| defined (__NetBSD__) || defined (__OpenBSD__) \
|| defined (__QNX__)
const char *__gnat_object_file_option = "-Wl,@";
-const char *__gnat_run_path_option = "-Wl,-rpath,";
-char __gnat_shared_libgnat_default = STATIC;
-char __gnat_shared_libgcc_default = STATIC;
+const char *__gnat_run_path_option = "";
+char __gnat_shared_libgnat_default = SHARED;
+char __gnat_shared_libgcc_default = SHARED;
int __gnat_link_max = 8192;
unsigned char __gnat_objlist_file_supported = 1;
const char *__gnat_object_library_extension = ".a";
@@ -129,9 +129,9 @@ const char *__gnat_default_libgcc_subdir = "lib";
#elif defined (__linux__) || defined (__GLIBC__)
const char *__gnat_object_file_option = "-Wl,@";
-const char *__gnat_run_path_option = "-Wl,-rpath,";
-char __gnat_shared_libgnat_default = STATIC;
-char __gnat_shared_libgcc_default = STATIC;
+const char *__gnat_run_path_option = "";
+char __gnat_shared_libgnat_default = SHARED;
+char __gnat_shared_libgcc_default = SHARED;
int __gnat_link_max = 8192;
unsigned char __gnat_objlist_file_supported = 1;
const char *__gnat_object_library_extension = ".a";
@@ -1,21 +0,0 @@
From a547632f5c7caec4a164e8d5e5b568fb7a461365 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:59:43 +0000
Subject: [PATCH] build: fix CXXFLAGS_FOR_BUILD passing
---
Makefile.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/Makefile.in b/Makefile.in
index 593495e1650..b96f60e33e2 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -176,6 +176,7 @@ BUILD_EXPORTS = \
# built for the build system to override those in BASE_FLAGS_TO_PASS.
EXTRA_BUILD_FLAGS = \
CFLAGS="$(CFLAGS_FOR_BUILD)" \
+ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \
LDFLAGS="$(LDFLAGS_FOR_BUILD)"
# This is the list of directories to built for the host system.
@@ -1,22 +0,0 @@
From 5bd37f8ee93a0fe1a3f841f48ed6626e7e0aa19d Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 07:01:06 +0000
Subject: [PATCH] add fortify-headers paths
---
gcc/config/linux.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
index 74f70793d90..61b07f319f6 100644
--- a/gcc/config/linux.h
+++ b/gcc/config/linux.h
@@ -172,6 +172,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#ifdef NATIVE_SYSTEM_HEADER_DIR
#define INCLUDE_DEFAULTS_MUSL_NATIVE \
+ { NATIVE_SYSTEM_HEADER_DIR "/fortify", 0, 0, 0, 1, 2 }, \
+ { NATIVE_SYSTEM_HEADER_DIR "/fortify", 0, 0, 0, 1, 0 }, \
{ NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \
{ NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 },
#else
@@ -1,28 +0,0 @@
From d2577dc78a1f159e5c41fd0b53e73fa0e264cb52 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
Date: Fri, 21 Aug 2020 07:03:00 +0000
Subject: [PATCH] Alpine musl package provides libssp_nonshared.a. We link to
it unconditionally, as otherwise we get link failures if some objects are
-fstack-protector built and final link happens with -fno-stack-protector.
This seems to be the common case when bootstrapping gcc, the piepatches do
not seem to fully fix the crosstoolchain and bootstrap sequence wrt.
stack-protector flag usage.
---
gcc/gcc.cc | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index cc99d0b7aa1..c60a75371f8 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -1004,8 +1004,7 @@ proper position among the other output files. */
#ifndef LINK_SSP_SPEC
#ifdef TARGET_LIBC_PROVIDES_SSP
-#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
- "|fstack-protector-strong|fstack-protector-explicit:}"
+#define LINK_SSP_SPEC "-lssp_nonshared"
#else
#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
"|fstack-protector-strong|fstack-protector-explicit" \
@@ -1,66 +0,0 @@
From bbd5c529ef878c2d6096fd4949616714eb82683a Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 07:03:42 +0000
Subject: [PATCH] DP: Use --push-state/--pop-state for gold as well when
linking libtsan.
---
gcc/gcc.cc | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index c60a75371f8..735b2b1bba1 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -745,10 +745,10 @@ proper position among the other output files. */
#define LIBASAN_SPEC STATIC_LIBASAN_LIBS
#elif defined(HAVE_LD_STATIC_DYNAMIC)
#define LIBASAN_SPEC "%{static-libasan:" LD_STATIC_OPTION "}" \
- " %{!static-libasan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " %{!static-libasan:--push-state --no-as-needed}" \
" -lasan " \
" %{static-libasan:" LD_DYNAMIC_OPTION "}" \
- " %{!static-libasan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
+ " %{!static-libasan:--pop-state}" \
STATIC_LIBASAN_LIBS
#else
#define LIBASAN_SPEC "-lasan" STATIC_LIBASAN_LIBS
@@ -784,10 +784,10 @@ proper position among the other output files. */
#define LIBTSAN_SPEC STATIC_LIBTSAN_LIBS
#elif defined(HAVE_LD_STATIC_DYNAMIC)
#define LIBTSAN_SPEC "%{static-libtsan:" LD_STATIC_OPTION "}" \
- " %{!static-libtsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " %{!static-libtsan:--push-state --no-as-needed}" \
" -ltsan " \
" %{static-libtsan:" LD_DYNAMIC_OPTION "}" \
- " %{!static-libtsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
+ " %{!static-libtsan:--pop-state}" \
STATIC_LIBTSAN_LIBS
#else
#define LIBTSAN_SPEC "-ltsan" STATIC_LIBTSAN_LIBS
@@ -805,10 +805,10 @@ proper position among the other output files. */
#define LIBLSAN_SPEC STATIC_LIBLSAN_LIBS
#elif defined(HAVE_LD_STATIC_DYNAMIC)
#define LIBLSAN_SPEC "%{static-liblsan:" LD_STATIC_OPTION "}" \
- " %{!static-liblsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " %{!static-liblsan:--push-state --no-as-needed}" \
" -llsan " \
" %{static-liblsan:" LD_DYNAMIC_OPTION "}" \
- " %{!static-liblsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
+ " %{!static-liblsan:--pop-state}" \
STATIC_LIBLSAN_LIBS
#else
#define LIBLSAN_SPEC "-llsan" STATIC_LIBLSAN_LIBS
@@ -824,10 +824,10 @@ proper position among the other output files. */
" %{static-libubsan|static:%:include(libsanitizer.spec)%(link_libubsan)}"
#ifdef HAVE_LD_STATIC_DYNAMIC
#define LIBUBSAN_SPEC "%{static-libubsan:" LD_STATIC_OPTION "}" \
- " %{!static-libubsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \
+ " %{!static-libubsan:--push-state --no-as-needed}" \
" -lubsan " \
" %{static-libubsan:" LD_DYNAMIC_OPTION "}" \
- " %{!static-libubsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \
+ " %{!static-libubsan:--pop-state}" \
STATIC_LIBUBSAN_LIBS
#else
#define LIBUBSAN_SPEC "-lubsan" STATIC_LIBUBSAN_LIBS
@@ -1,45 +0,0 @@
From 714ed6d9649bf9ed42e34fef9c41169921e63921 Mon Sep 17 00:00:00 2001
From: Nils Andreas Svee <me@lochnair.net>
Date: Thu, 21 Dec 2017 03:14:33 +0100
Subject: [PATCH] mips64: disable multilib support
multilib is not supported by Alpine GCC
---
gcc/config/mips/mips.h | 8 ++++----
gcc/config/mips/t-linux64 | 6 +++---
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
index 858bbba3a36..2d4f553e652 100644
--- a/gcc/config/mips/mips.h
+++ b/gcc/config/mips/mips.h
@@ -3447,11 +3447,11 @@ struct GTY(()) machine_function {
/* If we are *not* using multilibs and the default ABI is not ABI_32 we
need to change these from /lib and /usr/lib. */
#if MIPS_ABI_DEFAULT == ABI_N32
-#define STANDARD_STARTFILE_PREFIX_1 "/lib32/"
-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib32/"
+#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
+#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
#elif MIPS_ABI_DEFAULT == ABI_64
-#define STANDARD_STARTFILE_PREFIX_1 "/lib64/"
-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib64/"
+#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
+#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
#endif
/* Load store bonding is not supported by micromips and fix_24k. The
diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64
index 2fdd8e00407..406a3676289 100644
--- a/gcc/config/mips/t-linux64
+++ b/gcc/config/mips/t-linux64
@@ -21,6 +21,6 @@ MULTILIB_DIRNAMES = n32 32 64
MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el)
MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft)
MULTILIB_OSDIRNAMES = \
- ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
- ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
+ ../lib \
+ ../lib32 \
+ ../lib
@@ -1,23 +0,0 @@
From 8fc8d6c26a2a45945182e211bc3ac2eae4d6a11b Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Thu, 6 Jan 2022 03:12:55 +0000
Subject: [PATCH] aarch64: disable multilib support
multilib is unsupported on Alpine GCC
---
gcc/config/aarch64/t-aarch64-linux | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux
index d0cd546002a..b63a77f4969 100644
--- a/gcc/config/aarch64/t-aarch64-linux
+++ b/gcc/config/aarch64/t-aarch64-linux
@@ -22,7 +22,7 @@ LIB1ASMSRC = aarch64/lib1funcs.asm
LIB1ASMFUNCS = _aarch64_sync_cache_range
AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be)
-MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
+MULTILIB_OSDIRNAMES = mabi.lp64=../lib
MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
@@ -1,22 +0,0 @@
From 65ad898df141261a1ccd891a99133ad8f9847133 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Thu, 6 Jan 2022 03:13:59 +0000
Subject: [PATCH] s390x: disable multilib support
multilib is not supported on Alpine GCC at present
---
gcc/config/s390/t-linux64 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gcc/config/s390/t-linux64 b/gcc/config/s390/t-linux64
index cc6ab367072..7f498ee1cdc 100644
--- a/gcc/config/s390/t-linux64
+++ b/gcc/config/s390/t-linux64
@@ -7,5 +7,5 @@
MULTILIB_OPTIONS = m64/m31
MULTILIB_DIRNAMES = 64 32
-MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:s390x-linux-gnu)
-MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:s390-linux-gnu)
+MULTILIB_OSDIRNAMES = m64=../lib
+MULTILIB_OSDIRNAMES+= m32=../lib32
@@ -1,78 +0,0 @@
From 3263d8634da6d7e1edb1bfd88e1b2627ce0aa1be Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Thu, 6 Jan 2022 03:14:33 +0000
Subject: [PATCH] ppc64[le]: disable multilib support
multilib is not presently supported on Alpine GCC
---
gcc/config/rs6000/t-linux | 6 ++++--
gcc/config/rs6000/t-linux64 | 4 ++--
gcc/config/rs6000/t-linux64bele | 4 ++--
gcc/config/rs6000/t-linux64lebe | 4 ++--
4 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/gcc/config/rs6000/t-linux b/gcc/config/rs6000/t-linux
index 4e371255533..128c75c7d39 100644
--- a/gcc/config/rs6000/t-linux
+++ b/gcc/config/rs6000/t-linux
@@ -2,7 +2,8 @@
# or soft-float.
ifeq (,$(filter $(with_cpu),$(SOFT_FLOAT_CPUS))$(findstring soft,$(with_float)))
ifneq (,$(findstring powerpc64,$(target)))
-MULTILIB_OSDIRNAMES := .=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
+MULTILIB_OSDIRNAMES := m64=../lib
+MULTILIB_OSDIRNAMES += m32=../lib32
else
MULTIARCH_DIRNAME := $(call if_multiarch,powerpc-linux-gnu)
endif
@@ -10,7 +11,8 @@ ifneq (,$(findstring powerpcle,$(target)))
MULTIARCH_DIRNAME := $(subst -linux,le-linux,$(MULTIARCH_DIRNAME))
endif
ifneq (,$(findstring powerpc64le,$(target)))
-MULTILIB_OSDIRNAMES := $(subst -linux,le-linux,$(MULTILIB_OSDIRNAMES))
+MULTILIB_OSDIRNAMES := m64=../lib
+MULTILIB_OSDIRNAMES += m32=../lib32
endif
endif
diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
index 47e0efd5764..f89729af64f 100644
--- a/gcc/config/rs6000/t-linux64
+++ b/gcc/config/rs6000/t-linux64
@@ -28,8 +28,8 @@
MULTILIB_OPTIONS := m64/m32
MULTILIB_DIRNAMES := 64 32
MULTILIB_EXTRA_OPTS :=
-MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
-MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
+MULTILIB_OSDIRNAMES := m64=../lib
+MULTILIB_OSDIRNAMES += m32=../lib32
rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.cc
$(COMPILE) $<
diff --git a/gcc/config/rs6000/t-linux64bele b/gcc/config/rs6000/t-linux64bele
index 97c1ee6fb4d..08d72639cb6 100644
--- a/gcc/config/rs6000/t-linux64bele
+++ b/gcc/config/rs6000/t-linux64bele
@@ -2,6 +2,6 @@
MULTILIB_OPTIONS += mlittle
MULTILIB_DIRNAMES += le
-MULTILIB_OSDIRNAMES += $(subst =,.mlittle=,$(subst lible32,lib32le,$(subst lible64,lib64le,$(subst lib,lible,$(subst -linux,le-linux,$(MULTILIB_OSDIRNAMES))))))
-MULTILIB_OSDIRNAMES += $(subst $(if $(findstring 64,$(target)),m64,m32).,,$(filter $(if $(findstring 64,$(target)),m64,m32).mlittle%,$(MULTILIB_OSDIRNAMES)))
+MULTILIB_OSDIRNAMES = m64=../lib
+MULTILIB_OSDIRNAMES+= m32=../lib32
MULTILIB_MATCHES := ${MULTILIB_MATCHES_ENDIAN}
diff --git a/gcc/config/rs6000/t-linux64lebe b/gcc/config/rs6000/t-linux64lebe
index 2e63bdb9fc9..c6e1c5db65d 100644
--- a/gcc/config/rs6000/t-linux64lebe
+++ b/gcc/config/rs6000/t-linux64lebe
@@ -2,6 +2,6 @@
MULTILIB_OPTIONS += mbig
MULTILIB_DIRNAMES += be
-MULTILIB_OSDIRNAMES += $(subst =,.mbig=,$(subst libbe32,lib32be,$(subst libbe64,lib64be,$(subst lib,libbe,$(subst le-linux,-linux,$(MULTILIB_OSDIRNAMES))))))
-MULTILIB_OSDIRNAMES += $(subst $(if $(findstring 64,$(target)),m64,m32).,,$(filter $(if $(findstring 64,$(target)),m64,m32).mbig%,$(MULTILIB_OSDIRNAMES)))
+MULTILIB_OSDIRNAMES := m64=../lib
+MULTILIB_OSDIRNAMES += m32=../lib32
MULTILIB_MATCHES := ${MULTILIB_MATCHES_ENDIAN}
@@ -1,23 +0,0 @@
From bf63353ea679e0bbf2c2f17bb64c75ebd590c6e7 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Thu, 6 Jan 2022 03:14:54 +0000
Subject: [PATCH] x86_64: disable multilib support
multilib is not presently supported on Alpine GCC
---
gcc/config/i386/t-linux64 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64
index 5526ad0e6cc..78866afab36 100644
--- a/gcc/config/i386/t-linux64
+++ b/gcc/config/i386/t-linux64
@@ -33,6 +33,6 @@
comma=,
MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG))
MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
-MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu)
-MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu)
+MULTILIB_OSDIRNAMES = m64=../lib
+MULTILIB_OSDIRNAMES+= m32=../lib32
MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
@@ -1,71 +0,0 @@
From 2eed19787020ce52cf07b76a5d167c420ec42b61 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Mon, 3 Jan 2022 07:14:48 +0100
Subject: [PATCH] riscv: disable multilib support
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
From the musl wiki [1]:
musl does not support sharing an include directory between archs
[…], and thus is not compatible with GCC-style multilib. It is
recommended that distributions build GCC with multilib disabled,
and use library directories named lib, not lib64 or lib32.
For this reason, we patch existing GCC configuration files (gcc/config)
to pin MULTILIB_OSDIRNAMES to lib, there is also a corresponding GCC
upstream bug about this issue [2]. Avoiding the use of lib64 and lib32
directories is a bit more difficult on the RISC-V architecture. This is
due to the fact that the default RISC-V configuration does not only use
the lib64 and lib32 directories but also subdirectories within these
directories for different RISC-V ABIs (e.g. lp64d, lp64, …) [3].
This patch aligns the RISC-V configuration with other architectures by
pinning MULTILIB_OSDIRNAMES to lib for rv64gc (our default RISC-V
-march). Furthermore, this patch removes the ABI-specific startfile
prefix spec. Since both of these impact the default LIBRARY_PATH [4]
this patch thereby aligns the default RISC-V LIBRARY_PATH with that from
other Alpine architectures and thereby fixes #13369 [5].
Incidentally, this also fixes gccgo on riscv64, as without this patch
gccgo is otherwise not able to find the *.gox files for the Go standard
library.
[1]: https://wiki.musl-libc.org/guidelines-for-distributions.html#Multilib/multi_arch
[2]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90077
[3]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103889#c14
[4]: https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/gcc.c;h=d4c8746b0aa322286decf92aa72a12f0a393b655;hb=HEAD#l9122
[5]: https://gitlab.alpinelinux.org/alpine/aports/-/issues/13369
---
gcc/config/riscv/linux.h | 6 ------
gcc/config/riscv/t-linux | 7 +++++--
2 files changed, 5 insertions(+), 8 deletions(-)
diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h
index 3067ed6eac8..4c8c85e3285 100644
--- a/gcc/config/riscv/linux.h
+++ b/gcc/config/riscv/linux.h
@@ -71,9 +71,3 @@ along with GCC; see the file COPYING3. If not see
%{static:-static}}"
#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
-
-#define STARTFILE_PREFIX_SPEC \
- "/lib" XLEN_SPEC "/" ABI_SPEC "/ " \
- "/usr/lib" XLEN_SPEC "/" ABI_SPEC "/ " \
- "/lib/ " \
- "/usr/lib/ "
diff --git a/gcc/config/riscv/t-linux b/gcc/config/riscv/t-linux
index 216d2776a18..1a8a863853e 100644
--- a/gcc/config/riscv/t-linux
+++ b/gcc/config/riscv/t-linux
@@ -1,3 +1,6 @@
-# Only XLEN and ABI affect Linux multilib dir names, e.g. /lib32/ilp32d/
-MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES)))
+MULTILIB_OPTIONS := march=rv64gc
+MULTILIB_DIRNAMES := rv64gc
+
+MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib,$(MULTILIB_DIRNAMES)))
MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES))
+MULTILIB_MATCHES := march?rv64gc=march?rv64imafdc
@@ -1,48 +0,0 @@
From 51a35c0fa0e793c6a2c64ae1449c0cfd681d8f8a Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 07:05:41 +0000
Subject: [PATCH] always build libgcc_eh.a
highly inspired by:
http://landley.net/hg/aboriginal/file/7e0747a665ab/sources/patches/gcc-core-libgcceh.patch
---
libgcc/Makefile.in | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in
index 09b3ec8bc2e..c9ca58c64cc 100644
--- a/libgcc/Makefile.in
+++ b/libgcc/Makefile.in
@@ -957,8 +957,9 @@ ifneq ($(LIBUNWIND),)
all: libunwind.a
endif
+all: libgcc_eh.a
ifeq ($(enable_shared),yes)
-all: libgcc_eh.a libgcc_s$(SHLIB_EXT)
+all: libgcc_s$(SHLIB_EXT)
ifneq ($(LIBUNWIND),)
all: libunwind$(SHLIB_EXT)
libgcc_s$(SHLIB_EXT): libunwind$(SHLIB_EXT)
@@ -1160,10 +1161,6 @@ install-libunwind:
install-shared:
$(mkinstalldirs) $(DESTDIR)$(inst_libdir)
- $(INSTALL_DATA) libgcc_eh.a $(DESTDIR)$(inst_libdir)/
- chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_eh.a
- $(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_eh.a
-
$(subst @multilib_dir@,$(MULTIDIR),$(subst \
@shlib_base_name@,libgcc_s,$(subst \
@shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(SHLIB_INSTALL))))
@@ -1180,6 +1177,10 @@ ifeq ($(enable_gcov),yes)
$(RANLIB) $(DESTDIR)$(inst_libdir)/libgcov.a
endif
+ $(INSTALL_DATA) libgcc_eh.a $(DESTDIR)$(inst_libdir)/
+ chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_eh.a
+ $(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_eh.a
+
parts="$(INSTALL_PARTS)"; \
for file in $$parts; do \
rm -f $(DESTDIR)$(inst_libdir)/$$file; \
@@ -1,132 +0,0 @@
From 64a1c5f57e278869f41c43ee56cc5defb3dd55c5 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 07:06:30 +0000
Subject: [PATCH] ada: libgnarl compatibility for musl
---
gcc/ada/libgnarl/s-osinte__linux.ads | 11 ------
gcc/ada/libgnarl/s-taprop__linux.adb | 53 ++--------------------------
2 files changed, 3 insertions(+), 61 deletions(-)
diff --git a/gcc/ada/libgnarl/s-osinte__linux.ads b/gcc/ada/libgnarl/s-osinte__linux.ads
index 7c9e7ca4518..caafc4aa68f 100644
--- a/gcc/ada/libgnarl/s-osinte__linux.ads
+++ b/gcc/ada/libgnarl/s-osinte__linux.ads
@@ -403,12 +403,6 @@ package System.OS_Interface is
PTHREAD_RWLOCK_PREFER_WRITER_NP : constant := 1;
PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP : constant := 2;
- function pthread_rwlockattr_setkind_np
- (attr : access pthread_rwlockattr_t;
- pref : int) return int;
- pragma Import
- (C, pthread_rwlockattr_setkind_np, "pthread_rwlockattr_setkind_np");
-
function pthread_rwlock_init
(mutex : access pthread_rwlock_t;
attr : access pthread_rwlockattr_t) return int;
@@ -470,11 +464,6 @@ package System.OS_Interface is
protocol : int) return int;
pragma Import (C, pthread_mutexattr_setprotocol);
- function pthread_mutexattr_setprioceiling
- (attr : access pthread_mutexattr_t;
- prioceiling : int) return int;
- pragma Import (C, pthread_mutexattr_setprioceiling);
-
type struct_sched_param is record
sched_priority : int; -- scheduling priority
end record;
diff --git a/gcc/ada/libgnarl/s-taprop__linux.adb b/gcc/ada/libgnarl/s-taprop__linux.adb
index 4ff784f0ea7..b34a12802c6 100644
--- a/gcc/ada/libgnarl/s-taprop__linux.adb
+++ b/gcc/ada/libgnarl/s-taprop__linux.adb
@@ -198,9 +198,6 @@ package body System.Task_Primitives.Operations is
pragma Import
(C, GNAT_pthread_condattr_setup, "__gnat_pthread_condattr_setup");
- function GNAT_has_cap_sys_nice return C.int;
- pragma Import
- (C, GNAT_has_cap_sys_nice, "__gnat_has_cap_sys_nice");
-- We do not have pragma Linker_Options ("-lcap"); here, because this
-- library is not present on many Linux systems. 'libcap' is the Linux
-- "capabilities" library, called by __gnat_has_cap_sys_nice.
@@ -210,38 +207,6 @@ package body System.Task_Primitives.Operations is
-- Convert Ada priority to Linux priority. Priorities are 1 .. 99 on
-- GNU/Linux, so we map 0 .. 98 to 1 .. 99.
- function Get_Ceiling_Support return Boolean;
- -- Get the value of the Ceiling_Support constant (see below).
- -- Note well: If this function or related code is modified, it should be
- -- tested by hand, because automated testing doesn't exercise it.
-
- -------------------------
- -- Get_Ceiling_Support --
- -------------------------
-
- function Get_Ceiling_Support return Boolean is
- Ceiling_Support : Boolean := False;
- begin
- if Locking_Policy /= 'C' then
- return False;
- end if;
-
- declare
- function geteuid return Integer;
- pragma Import (C, geteuid, "geteuid");
- Superuser : constant Boolean := geteuid = 0;
- Has_Cap : constant C.int := GNAT_has_cap_sys_nice;
- pragma Assert (Has_Cap in 0 | 1);
- begin
- Ceiling_Support := Superuser or else Has_Cap = 1;
- end;
-
- return Ceiling_Support;
- end Get_Ceiling_Support;
-
- pragma Warnings (Off, "non-preelaborable call not allowed*");
- Ceiling_Support : constant Boolean := Get_Ceiling_Support;
- pragma Warnings (On, "non-preelaborable call not allowed*");
-- True if the locking policy is Ceiling_Locking, and the current process
-- has permission to use this policy. The process has permission if it is
-- running as 'root', or if the capability was set by the setcap command,
@@ -344,7 +309,9 @@ package body System.Task_Primitives.Operations is
-- Init_Mutex --
----------------
+ pragma Warnings (Off, "formal parameter * is not referenced");
function Init_Mutex (L : RTS_Lock_Ptr; Prio : Any_Priority) return C.int is
+ pragma Warnings (On, "formal parameter * is not referenced");
Mutex_Attr : aliased pthread_mutexattr_t;
Result, Result_2 : C.int;
@@ -356,16 +323,7 @@ package body System.Task_Primitives.Operations is
return Result;
end if;
- if Ceiling_Support then
- Result := pthread_mutexattr_setprotocol
- (Mutex_Attr'Access, PTHREAD_PRIO_PROTECT);
- pragma Assert (Result = 0);
-
- Result := pthread_mutexattr_setprioceiling
- (Mutex_Attr'Access, Prio_To_Linux_Prio (Prio));
- pragma Assert (Result = 0);
-
- elsif Locking_Policy = 'I' then
+ if Locking_Policy = 'I' then
Result := pthread_mutexattr_setprotocol
(Mutex_Attr'Access, PTHREAD_PRIO_INHERIT);
pragma Assert (Result = 0);
@@ -405,11 +363,6 @@ package body System.Task_Primitives.Operations is
Result := pthread_rwlockattr_init (RWlock_Attr'Access);
pragma Assert (Result = 0);
- Result := pthread_rwlockattr_setkind_np
- (RWlock_Attr'Access,
- PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
- pragma Assert (Result = 0);
-
Result := pthread_rwlock_init (L.RW'Access, RWlock_Attr'Access);
pragma Assert (Result in 0 | ENOMEM);
@@ -1,220 +0,0 @@
From 82addb1312f4f58a412a664228944009aa5cb569 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 07:07:48 +0000
Subject: [PATCH] ada: musl support fixes
---
gcc/ada/Makefile.rtl | 10 +++++-----
gcc/ada/adaint.c | 34 +++++++++++++++++++---------------
gcc/ada/adaint.h | 10 ++++------
gcc/ada/terminals.c | 8 ++++----
4 files changed, 32 insertions(+), 30 deletions(-)
diff --git a/gcc/ada/Makefile.rtl b/gcc/ada/Makefile.rtl
index aaf853e3a2a..e2dd3587ed5 100644
--- a/gcc/ada/Makefile.rtl
+++ b/gcc/ada/Makefile.rtl
@@ -1633,7 +1633,7 @@ ifeq ($(strip $(filter-out %86 linux%,$(target_cpu) $(target_os))),)
s-intman.adb<libgnarl/s-intman__posix.adb \
s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
a-exetim.adb<libgnarl/a-exetim__posix.adb \
a-exetim.ads<libgnarl/a-exetim__default.ads \
s-linux.ads<libgnarl/s-linux.ads \
@@ -2258,7 +2258,7 @@ ifeq ($(strip $(filter-out powerpc% linux%,$(target_cpu) $(target_os))),)
s-tasinf.adb<libgnarl/s-tasinf__linux.adb \
s-taspri.ads<libgnarl/s-taspri__posix.ads \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
$(ATOMICS_TARGET_PAIRS) \
$(ATOMICS_BUILTINS_TARGET_PAIRS) \
system.ads<libgnat/system-linux-ppc.ads
@@ -2289,7 +2289,7 @@ ifeq ($(strip $(filter-out powerpc% linux%,$(target_cpu) $(target_os))),)
endif
# ARM linux, GNU eabi
-ifeq ($(strip $(filter-out arm% linux-gnueabi%,$(target_cpu) $(target_os))),)
+ifeq ($(strip $(filter-out arm% linux-gnueabi% linux-musleabi% linux-muslgnueabi%,$(target_cpu) $(target_os))),)
LIBGNAT_TARGET_PAIRS = \
a-intnam.ads<libgnarl/a-intnam__linux.ads \
s-inmaop.adb<libgnarl/s-inmaop__posix.adb \
@@ -2504,7 +2504,7 @@ ifeq ($(strip $(filter-out %ia64 linux%,$(target_cpu) $(target_os))),)
s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \
s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
$(ATOMICS_TARGET_PAIRS) \
$(ATOMICS_BUILTINS_TARGET_PAIRS) \
$(GNATRTL_128BIT_PAIRS) \
@@ -2608,7 +2608,7 @@ ifeq ($(strip $(filter-out %x86_64 linux%,$(target_cpu) $(target_os))),)
s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \
s-taspri.ads<libgnarl/s-taspri__posix.ads \
$(TRASYM_DWARF_UNIX_PAIRS) \
- s-tsmona.adb<libgnat/s-tsmona__linux.adb \
+ s-tsmona.adb<libgnat/s-tsmona.adb \
$(ATOMICS_TARGET_PAIRS) \
$(X86_64_TARGET_PAIRS) \
$(GNATRTL_128BIT_PAIRS) \
diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c
index 591d033fbca..a485cbf15b9 100644
--- a/gcc/ada/adaint.c
+++ b/gcc/ada/adaint.c
@@ -91,6 +91,11 @@
#include <sys/param.h>
#include <sys/pstat.h>
#endif
+
+#if defined (linux) || defined(__linux__)
+#define _GNU_SOURCE 1
+#include <sched.h>
+#endif
#ifdef __PikeOS__
#define __BSD_VISIBLE 1
@@ -3446,7 +3451,6 @@ __gnat_lwp_self (void)
#endif
#if defined (__linux__)
-#include <sched.h>
/* glibc versions earlier than 2.7 do not define the routines to handle
dynamically allocated CPU sets. For these targets, we use the static
@@ -3456,7 +3460,7 @@ __gnat_lwp_self (void)
/* Dynamic cpu sets */
-cpu_set_t *
+void *
__gnat_cpu_alloc (size_t count)
{
return CPU_ALLOC (count);
@@ -3469,33 +3473,33 @@ __gnat_cpu_alloc_size (size_t count)
}
void
-__gnat_cpu_free (cpu_set_t *set)
+__gnat_cpu_free (void *set)
{
- CPU_FREE (set);
+ CPU_FREE ((cpu_set_t *) set);
}
void
-__gnat_cpu_zero (size_t count, cpu_set_t *set)
+__gnat_cpu_zero (size_t count, void *set)
{
- CPU_ZERO_S (count, set);
+ CPU_ZERO_S (count, (cpu_set_t *) set);
}
void
-__gnat_cpu_set (int cpu, size_t count, cpu_set_t *set)
+__gnat_cpu_set (int cpu, size_t count, void *set)
{
/* Ada handles CPU numbers starting from 1, while C identifies the first
CPU by a 0, so we need to adjust. */
- CPU_SET_S (cpu - 1, count, set);
+ CPU_SET_S (cpu - 1, count, (cpu_set_t *) set);
}
#else /* !CPU_ALLOC */
/* Static cpu sets */
-cpu_set_t *
+void *
__gnat_cpu_alloc (size_t count ATTRIBUTE_UNUSED)
{
- return (cpu_set_t *) xmalloc (sizeof (cpu_set_t));
+ return xmalloc (sizeof (cpu_set_t));
}
size_t
@@ -3505,23 +3509,23 @@ __gnat_cpu_alloc_size (size_t count ATTRIBUTE_UNUSED)
}
void
-__gnat_cpu_free (cpu_set_t *set)
+__gnat_cpu_free (void *set)
{
free (set);
}
void
-__gnat_cpu_zero (size_t count ATTRIBUTE_UNUSED, cpu_set_t *set)
+__gnat_cpu_zero (size_t count ATTRIBUTE_UNUSED, void *set)
{
- CPU_ZERO (set);
+ CPU_ZERO ((cpu_set_t *) set);
}
void
-__gnat_cpu_set (int cpu, size_t count ATTRIBUTE_UNUSED, cpu_set_t *set)
+__gnat_cpu_set (int cpu, size_t count ATTRIBUTE_UNUSED, void *set)
{
/* Ada handles CPU numbers starting from 1, while C identifies the first
CPU by a 0, so we need to adjust. */
- CPU_SET (cpu - 1, set);
+ CPU_SET (cpu - 1, (cpu_set_t *) set);
}
#endif /* !CPU_ALLOC */
#endif /* __linux__ */
diff --git a/gcc/ada/adaint.h b/gcc/ada/adaint.h
index 2631be5ad3e..d442f4bd6cd 100644
--- a/gcc/ada/adaint.h
+++ b/gcc/ada/adaint.h
@@ -321,13 +321,11 @@ extern void *__gnat_lwp_self (void);
/* Routines for interface to required CPU set primitives */
-#include <sched.h>
-
-extern cpu_set_t *__gnat_cpu_alloc (size_t);
+extern void * __gnat_cpu_alloc (size_t);
extern size_t __gnat_cpu_alloc_size (size_t);
-extern void __gnat_cpu_free (cpu_set_t *);
-extern void __gnat_cpu_zero (size_t, cpu_set_t *);
-extern void __gnat_cpu_set (int, size_t, cpu_set_t *);
+extern void __gnat_cpu_free (void *);
+extern void __gnat_cpu_zero (size_t, void *);
+extern void __gnat_cpu_set (int, size_t, void *);
#endif
#if defined (_WIN32)
diff --git a/gcc/ada/terminals.c b/gcc/ada/terminals.c
index 32d30a49c7e..d960e32e2d0 100644
--- a/gcc/ada/terminals.c
+++ b/gcc/ada/terminals.c
@@ -1132,7 +1132,7 @@ __gnat_setup_winsize (void *desc ATTRIBUTE_UNUSED,
/* POSIX does not specify how to open the master side of a terminal.Several
methods are available (system specific):
1- using a cloning device (USE_CLONE_DEVICE)
- 2- getpt (USE_GETPT)
+ 2- posix_openpt (USE_POSIX_OPENPT)
3- openpty (USE_OPENPTY)
When using the cloning device method, the macro USE_CLONE_DEVICE should
@@ -1146,7 +1146,7 @@ __gnat_setup_winsize (void *desc ATTRIBUTE_UNUSED,
#if defined (__APPLE__) || defined (BSD)
#define USE_OPENPTY
#elif defined (__linux__)
-#define USE_GETPT
+#define USE_POSIX_OPENPT
#elif defined (__sun__)
#define USE_CLONE_DEVICE "/dev/ptmx"
#elif defined (_AIX)
@@ -1195,8 +1195,8 @@ allocate_pty_desc (pty_desc **desc) {
int master_fd = -1;
char *slave_name = NULL;
-#ifdef USE_GETPT
- master_fd = getpt ();
+#if defined(USE_POSIX_OPENPT)
+ master_fd = posix_openpt(O_RDWR | O_NOCTTY);
#elif defined (USE_OPENPTY)
status = openpty (&master_fd, &slave_fd, NULL, NULL, NULL);
#elif defined (USE_CLONE_DEVICE)
@@ -1,26 +0,0 @@
From 7feb681596c4cfa34c769505058aa5bdf31c5131 Mon Sep 17 00:00:00 2001
From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
Date: Sun, 30 Aug 2020 17:59:45 +0200
Subject: [PATCH] gcc-go: Fix handling of signal 34 on musl
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Taken from Adélie Linux.
---
libgo/mksigtab.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libgo/mksigtab.sh b/libgo/mksigtab.sh
index bea8739957e..3876002efab 100644
--- a/libgo/mksigtab.sh
+++ b/libgo/mksigtab.sh
@@ -86,7 +86,7 @@ checksig _SIGPWR '{_SigNotify, "SIGPWR: power failure restart"}'
checksig _SIGEMT '{_SigThrow, "SIGEMT: emulate instruction executed"}'
checksig _SIGINFO '{_SigNotify, "SIGINFO: status request from keyboard"}'
checksig _SIGTHR '{_SigNotify, "SIGTHR: reserved"}'
-checksig _SIGPOLL '{_SigNotify, "SIGPOLL: pollable event occurred"}'
+#checksig _SIGPOLL '{_SigNotify, "SIGPOLL: pollable event occurred"}'
checksig _SIGWAITING '{_SigNotify, "SIGWAITING: reserved signal no longer used by"}'
checksig _SIGLWP '{_SigNotify, "SIGLWP: reserved signal no longer used by"}'
checksig _SIGFREEZE '{_SigNotify, "SIGFREEZE: special signal used by CPR"}'
@@ -1,24 +0,0 @@
From b6885cf73989161b1b6893b5ae0dafed006d5f13 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Thu, 25 Nov 2021 01:47:03 +0000
Subject: [PATCH] There are more than one st_{a,m,c}tim fields in struct stat
on time64 machines.
Run the Go-isation on all of them.
---
libgo/mksysinfo.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libgo/mksysinfo.sh b/libgo/mksysinfo.sh
index 0c52ea5d71a..6fef104cc1c 100755
--- a/libgo/mksysinfo.sh
+++ b/libgo/mksysinfo.sh
@@ -510,7 +510,7 @@ fi
# For historical reasons Go uses the suffix "timespec" instead of "tim" for
# stat_t's time fields on NetBSD.
-st_times='-e s/st_atim/Atim/ -e s/st_mtim/Mtim/ -e s/st_ctim/Ctim/'
+st_times='-e s/st_atim/Atim/g -e s/st_mtim/Mtim/g -e s/st_ctim/Ctim/g'
if test "${GOOS}" = "netbsd"; then
st_times='-e s/st_atim/Atimespec/ -e s/st_mtim/Mtimespec/ -e s/st_ctim/Ctimespec/'
fi
@@ -1,24 +0,0 @@
From c7a22e42ae403154a0c0158495b04b0205102041 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Sun, 30 Aug 2020 19:27:51 +0200
Subject: [PATCH] gcc-go: undef SETCONTEXT_CLOBBERS_TLS in proc.c
---
libgo/runtime/proc.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/libgo/runtime/proc.c b/libgo/runtime/proc.c
index 3a30748d329..a987678fa84 100644
--- a/libgo/runtime/proc.c
+++ b/libgo/runtime/proc.c
@@ -66,6 +66,10 @@ static void gscanstack(G*);
__thread G *g __asm__(GOSYM_PREFIX "runtime.g");
+/* libucontext does not seem to support tlsbase, undef the macro
+ * here to make sure we define initcontext and fixcontext as dummies. */
+#undef SETCONTEXT_CLOBBERS_TLS
+
#ifndef SETCONTEXT_CLOBBERS_TLS
static inline void
@@ -1,22 +0,0 @@
From ef9df74e0c1059e51bb76b1f6d9d4746949d4d34 Mon Sep 17 00:00:00 2001
From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
Date: Mon, 31 Aug 2020 08:59:40 +0200
Subject: [PATCH] gcc-go: link to libucontext
---
Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.in b/Makefile.in
index b96f60e33e2..b564ddbf792 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -52802,7 +52802,7 @@ configure-target-libgo:
esac; \
module_srcdir=libgo; \
rm -f no-such-file || : ; \
- CONFIG_SITE=no-such-file $(SHELL) \
+ CONFIG_SITE=no-such-file LIBS="-lucontext $$LIBS" $(SHELL) \
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
Loaded 100 of 4166 files, more files were not shown because too many files have changed in this diff. Show more