Compare commits

...
633 Commits
Author SHA1 Message Date
Oliver Smith 5eaebc1431 main/postmarketos-base-ui: show EOL message 2024-01-28 18:49:12 +00:00
Oliver Smith 8c2813ec12 main/postmarketos-upgrade-gtk3: new aport 2024-01-28 18:49:12 +00:00
Oliver Smith e39762d349 main/postmarketos-release-upgrade: upgrade to 1.6.1 (MR 4616)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 1a5e394074)
2023-12-10 22:35:51 +01:00
Oliver Smith 6afd586026 main/postmarketos-release-upgrade: upgrade to 1.6.0 (MR 4592)
[ci:skip-build]: already built successfully in CI
2023-12-05 17:54:23 +01:00
Arnav Singh fc7273390a main/linux-postmarketos-allwinner: switch to working mirror (MR 4552)
Ref: #2303

[ci:skip-vercheck] [ci:skip-build]: changing source location only
2023-11-14 21:09:59 +01:00
Oliver Smith 1a55666bbc cross/busybox-static-*: upgrade to 1.36.1-r5 2023-11-13 08:38:46 +01:00
Alistair Francis 281b29e947 temp/pulseaudio: Enable webrtc (MR 4480)
Signed-off-by: Alistair Francis <alistair@alistair23.me>

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

(cherry picked from commit 2c2aeed034)
2023-10-23 07:47:14 +02:00
Oliver Smith 6ce25bf99e main/postmarketos-initramfs: fix resize bug (MR 4482)
Fix root partition not getting resized if subpartitions are used (how we
install postmarketOS to all Androids). Run the resize logic if the
partition starts with /dev/dm too, e.g. on the OnePlus 6:

  partition=/dev/dm-1

The bug has already been fixed in postmarketOS edge with MR 4204, patch
"main/postmarketos-initramfs: optimise find_*_partition". However this
patch contains more refactoring so here is a separate patch with just
the fix.

[ci:skip-build]: already built successfully in CI
2023-10-17 09:34:50 +02:00
Oliver Smith f9976f6e32 cross/busybox-static-*: upgrade to 1.36.1-r4 2023-10-12 21:28:19 +02:00
Oliver Smith 80ff5082fe cross/musl-*: upgrade to 1.2.4-r2 2023-10-12 21:28:14 +02:00
Oliver Smith 4f2dd0c6c5 main/postmarketos-ondev: upgrade to 0.8.2 (MR 4455)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit e179ba59ea)
2023-10-09 06:44:03 +02:00
Stefan Hansson fbf946bf22 linux-purism-librem5: upgrade to 6.4.14 (MR 4384) (MR 4410)
(cherry picked from commit be7b845d17)

[ci:skip-build]: Already built successfully in CI
2023-09-21 17:39:06 +02:00
Oliver Smith ea944198c8 device-pine64-pinebookpro: add elogind subpackage (MR 4202)
Move the elogind configuration and post-install call of "loginctl
reload" into an extra subpackage with install_if=elogind.

Fix for:
  Executing device-pine64-pinebookpro-16-r0.post-install
   * service nvme-powersave added to runlevel boot
   * service sysfsconf added to runlevel default
  lib/apk/exec/device-pine64-pinebookpro-16-r0.post-install: line 5: loginctl: not found
  ERROR: device-pine64-pinebookpro-16-r0.post-install: script exited with error 127

Make the post-install scripts more robust while at it, by adding
"exit 0" at the end.

(cherry picked from commit 2d5a9d7d0a)
2023-09-11 08:10:38 +02:00
Oliver Smith 29bc9e825b main/postmarketos-base: bump to v23.06.1 (MR 4382)
[ci:skip-vercheck] [ci:ignore-count] [ci:skip-build]
2023-09-07 23:51:19 +02:00
Sicelo A. Mhlongo c9549cd23f device-nokia-n900: increase terminal and i3 font sizes (MR 4363) (MR 4382)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 2e3cd005a4)
2023-09-07 23:51:06 +02:00
Oliver Smith 44eea7a87f temp/phosh: disable tests (MR 4382) 2023-09-07 23:51:06 +02:00
Oliver Smith 7bff5d04a5 temp/phosh: phosh-keyboard -> squeekboard (MR 4382)
Change the dependency to squeekboard to work around pmb issue 2262.
2023-09-07 23:51:06 +02:00
pedja 51d7af2662 linux-postmarketos-omap: adjust Kconfig to fix nokia-modem (MR 4282) (MR 4382)
Added CONFIG_GPIO_SYSFS, this is required for nokia-modem module
GPIO_SYSFS depends on EXPERT which in turn sets DEBUG*

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

(cherry picked from commit bffe5d95ac)
2023-09-07 23:51:06 +02:00
Sicelo A. Mhlongo 5589838018 linux-postmarketos-omap: Fix volume keys on N900 (MR 4228) (MR 4382)
The N900 volume keys were configured to produce F7 and F8 in Maemo Fremantle.
Set them to normal volume keys to restore expected behavior

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

(cherry picked from commit 62d4d0c62a)
2023-09-07 23:51:06 +02:00
Sicelo A. Mhlongo 30dfc009e3 device-nokia-n900: fix hwkbd on unl0kr (MR 4320) (MR 4382)
- add keyboard driver to initramfs (twl4030_keypad & matrix_keymap)
- order modules in alphabetical order

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

(cherry picked from commit 5d8dd4d145)
2023-09-07 23:51:06 +02:00
Sicelo A. Mhlongo f241f620ab device-nokia-n900: do not open terminal for nagbar actions (MR 4320) (MR 4382)
(cherry picked from commit 9c0e8fcc10)
2023-09-07 23:51:06 +02:00
Sicelo A. Mhlongo b6e1defcb9 device-nokia-n900: restore modem (MR 4320) (MR 4382)
(cherry picked from commit b117742459)
2023-09-07 23:51:06 +02:00
Sicelo A. Mhlongo a64a1c5517 device-nokia-n900: let user choose power button action (MR 4312) (MR 4382)
Offer user a choice between suspend, shutdown, and reboot when power button
pressed.

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

(cherry picked from commit dbbd4e46ec)
2023-09-07 23:51:06 +02:00
Sicelo A. Mhlongo fceea9726d device-nokia-n900: use elogind for suspend (MR 4312) (MR 4382)
Since 80ab66cd2a (MR 4179), suspend using `loginctl` works, so drop pm-utils
and the associated sudo rule.

(cherry picked from commit 61951f08e7)
2023-09-07 23:51:06 +02:00
Sicelo A. Mhlongo 3e36355d20 device-nokia-n900: switch to urxvt terminal (MR 4312) (MR 4382)
Switch to urxvt terminal in order to provide a scrollable terminal. Scrolling
is convoluted in st [1], especially when used on a mobile device.

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

[1] https://git.suckless.org/st/file/FAQ.html#l21

(cherry picked from commit e702458223)
2023-09-07 23:51:06 +02:00
Sicelo A. Mhlongo 1c6f176df2 device-nokia-n900: drop conky (MR 4309) (MR 4382)
Save a few CPU cycles by dropping conky. Additionally, the existing config has
not been working for a long time now, and no one missed it.

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

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

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

[1] https://github.com/brndnmtthws/conky/issues/1443#issuecomment-1557793718
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 7992f29cf9)
2023-09-07 23:51:06 +02:00
Oliver Smith c3e67cf38a temp/squeekboard: fork from Alpine (MR 4382) 2023-09-07 23:51:06 +02:00
Affe Null 3b5610ab07 cross/crossdirect: improve rust handling (MR 4234) (MR 4382)
Add a cargo wrapper which appends a --target argument to the command
line. This makes cargo pass the --target argument to rustc for crates
being built for the target architecture, even if the target is the same
as the host. It will omit the --target argument for build scripts and
crates used in macros.

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

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

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

(cherry picked from commit f0286576e7)
2023-09-07 23:51:05 +02:00
Oliver Smith b9a5013457 temp/phosh-mobile-settings: fix >= in makedepends (MR 4382) 2023-09-07 23:51:05 +02:00
Oliver Smith 85032208c8 temp/phosh-mobile-settings: fork from Alpine (MR 4382) 2023-09-07 23:51:05 +02:00
Oliver Smith e5972537eb temp/phosh: fork from Alpine (MR 4382) 2023-09-07 23:51:05 +02:00
Oliver Smith c0ad8ed18c temp/phoc: fix build with pmbootstrap (MR 4382) 2023-09-07 23:51:05 +02:00
Oliver Smith 865a40af40 temp/phoc: fork from Alpine (MR 4382) 2023-09-07 23:51:05 +02:00
Alistair Francis 23d6bd8f0d temp/gtk+3.0: Fix Phosh boot splash (MR 4332) (MR 4382)
For the splash screen to correctly dismiss itself without
hitting the timeout, we need a Gtk patch.

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

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

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

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

Signed-off-by: Alistair Francis <alistair@alistair23.me>
[ci:skip-build]: already built successfully in CI
(cherry picked from commit b567653505)
2023-09-07 23:51:05 +02:00
anteater 27cd7e3be2 temp/gtk+3.0: upgrade to 3.24.37-2pureos3 (MR 4261) (MR 4382)
(cherry picked from commit 3747b6cbd9)
2023-09-07 23:51:05 +02:00
QC8086 c460eefcca device-pine64-pinebookpro: Enable s2idle in elogind. (MR 4194) (MR 4382)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 10f86941d6)
2023-09-07 23:51:05 +02:00
Pablo Correa Gómez 7b27cf78ef main/postmarketos-base-ui: depend on tzdata (MR 4175) (MR 4382)
Most UIs already implicitly depend on this in some way, and from the
user-facing point of view, it is sensible to have the full DB of timezones
available, in case the user wants to swap timezone or requires working
with them in different ways. Having it as a explicit dependency makes more
sense than relying on backward dependencies.

Background: https://gitlab.com/postmarketOS/pmaports/-/issues/2168#note_1426261355
[ci:skip-build]: already built successfully in CI

(cherry picked from commit ef00e24e5a)
2023-09-07 23:50:59 +02:00
Stefan Hansson fb544d08d6 linux-purism-librem5: upgrade to 6.4.5pureos1 (MR 4329) (MR 4355)
[ci:skip-build]: Already built successfully in CI
2023-09-03 11:33:06 +02:00
Sicelo A. Mhlongo 18c04de3f8 linux-postmarketos-omap: re-add twl for basic soc reset (MR 4321)
Fix shutdown regression introduced with 3e737241ba ("linux-postmarketos-omap:
N900: disable twl off idle features"). After that commit, shutdown never
completes.

[ci:skip-build]: Already built successfully in CI
2023-08-10 10:47:59 +02:00
Sicelo A. Mhlongo 754aca62c6 linux-postmarketos-omap: N900: disable twl off idle features (MR 4317)
Disable twl pmic off-idle configuration for Nokia N900. An ugly patch to do
this was lost during the migration from linux-nokia-n900 to the shared omap
kernel.

Fixes #2161

[ci:skip-build]: Already built successfully in CI
2023-08-09 10:05:30 +02:00
Pablo Correa Gómez d709392be7 main/postmarketos-base: migrate wrong timezone configurations (MR 4308)
So that old installations that run setup-timezone without "-i" do not
need to execute manual steps to get sensible timezone configurations.

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

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

(cherry picked from commit 04abb5b1a7)
2023-08-07 09:46:11 +02:00
Oliver Smith db490de436 cross/busybox-static-*: upgrade to 1.36.1-r2 2023-07-28 07:56:53 +02:00
Oliver Smith 479fc117aa cross/musl-*: upgrade to 1.2.4-r1 2023-07-28 07:56:53 +02:00
Stefan Hansson 9c2045928f linux-purism-librem5: upgrade to 6.4.1 (MR 4256)
(cherry picked from commit 154ff85adf)

[ci:skip-build] already built successfully in CI
2023-07-21 14:26:12 -07:00
Clayton Craft 55dac9bd51 linux-purism-librem5: upgrade to 6.3.7 (MR 4256)
(cherry picked from commit 5b4c1d14ff)
2023-07-21 14:26:12 -07:00
Mighty b131b352f1 linux-postmarketos-omap: upgrade to 6.4.3 (MR 4253)
Also remove CONFIG_NO_HZ
https://lore.kernel.org/lkml/20220825162034.5901-1-newbie13xd@gmail.com/T/
2023-07-19 12:20:47 +02:00
Stefan Hansson efa821572e linux-postmarketos-exynos4: upgrade to 6.4.2 (MR 4241)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 7e899024db)
2023-07-18 08:20:36 +02:00
Luca Weiss 9dc8999e2c linux-postmarketos-qcom-sm6350: upgrade to 6.4.2 (MR 4236)
[ci:skip-build]: Already built successfully in CI
2023-07-08 10:40:38 +02:00
Oliver Smith 2055e5a2e0 cross/busybox-static-*: upgrade to 1.36.1-r1 2023-07-07 09:38:41 +02:00
Sicelo A. Mhlongo 3fc9d4fa94 device-nokia-n900: block non-critical modules (MR 4227)
* modem-related modules seem partly responsible for recent l3 firewall
     timeouts and kernel crashes.
 * rx51-battery can be used to get battery design capacity, but not required
    for general running of the system blacklist other
 * modules that can impact power consumption on the N900

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

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

(cherry picked from commit 7495be948b)
2023-07-06 07:38:17 +02:00
Oliver Smith 9d05e67312 main/mobile-config-firefox: upgrade to 4.0.3 (MR 4232)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit e073914c01)
2023-07-05 22:11:55 +02:00
Pablo Correa Gómez f213ff8be3 temp/gnome-shell-mobile: sync with upstream (MR 4210)
Adds desktop-file-utils following upstream changes:
https://git.alpinelinux.org/aports/commit/?id=01c1be3932404333bbf371cade1674e95c08a795

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

(cherry picked from commit 32336fbd00)
2023-07-03 10:18:47 -07:00
Luca Weiss 1364918933 main/postmarketos-mkinitfs-hook-netboot: show Loading splash once done (MR 4212)
Since the original "Loading..." splash is being shown before the hooks
is being run, we should go back to the "Loading..." splash once we're
done in the hook.

[ci:skip-build]: already built successfully in CI
2023-07-01 19:59:59 +02:00
Luca Weiss b9aea9f549 main/postmarketos-mkinitfs-hook-debug-shell: show Loading splash once done (MR 4212)
Since the original "Loading..." splash is being shown before the hooks
is being run, we should go back to the "Loading..." splash once we're
done in the hook.
2023-07-01 19:58:49 +02:00
Jan Jasper de Kroon 6dac2c0c55 linux-postmarketos-allwinner: upgrade to 6.3.5 (MR 4161)
This kernel release incorporates the following fix from Megi:
- fixed regression in Pinephone power consumption during sleep (touchscreen
  was not disabled properly, consuming a lot of power)

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

(cherry picked from commit bb5b986bf3)
2023-06-20 08:32:21 +02:00
QC8086 5f4fc8a2d2 purism-librem5: Enable quick resume support in ModemManager (MR 4158)
[ci:skip-build] already built successfully in CI

(cherry picked from commit f7876f67d6)
2023-06-16 09:48:23 -07:00
Oliver Smith 8bc4a6e77e cross/busybox-static-*: upgrade to 1.36.1 2023-06-12 07:57:53 +02:00
Newbyte 53614b2ae5 linux-postmarketos-exynos4: upgrade to 6.3.5 (MR 4147)
[ci:skip-build] already built successfully in CI

(cherry picked from commit 4f88b15af5)
2023-06-11 14:13:10 -07:00
Newbyte d883ae440e linux-purism-librem5: upgrade to 6.3.4pureos1 (MR 4171)
Note: this squashes the upgrades to 6.3.3 and 6.3.4 from master/edge
into 1 commit.

(cherry picked from commit 734d4d1572)
(cherry picked from commit e27bc8a84e)

[ci:skip-build] already built successfully in CI
2023-06-11 11:12:40 -07:00
Luca Weiss dbd139af94 device-fairphone-fp4: use sparse image (MR 4164)
Sparse images get a bit smaller which should lead to faster flashing
times. And they work absolutely fine on FP4, so let's enable them.

(cherry picked from commit e0bd6dc64c)
2023-06-10 10:20:07 +02:00
Oliver Smith 957de5f742 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:41 +02:00
Sicelo A. Mhlongo 08c62c5dce linux-postmarketos-omap: tty and cmdline fixes, upgrade to 6.3.5 (MR 4152)
- make CONFIG_DRM_DISPLAY_CONNECTOR built-in. This resolves 'slow' tty
  initialization that breaks pbsplash on N900
- use CONFIG_CMDLINE_FROM_BOOTLOADER instead of CONFIG_CMDLINE_FORCE, to allow
  kernel to boot with u-boot provided parameters such as
  PMOS_FORCE_PARTITION_RESIZE
- upgrade to 6.3.5

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

(cherry picked from commit d58b8a182f)
2023-06-06 18:09:53 +02:00
Oliver Smith aa634fab06 main/postmarketos-ui-gnome-mobile: remove dep on wallpapers (MR 4156)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit f50c6c5a8a)
2023-06-06 18:07:01 +02:00
Oliver Smith 5599d54167 main/postmarketos-ui-gnome: remove dep on wallpapers (MR 4156)
(cherry picked from commit 55c2aa08c8)
2023-06-06 18:06:53 +02:00
Oliver Smith 938747f714 main/postmarketos-base-ui-gnome: update wallaper (MR 4156)
Use wallpapers that give a good contrast to read the labels of
launchers in GNOME Shell on Mobile.

Related: https://fosstodon.org/@tbernard@mastodon.social/110312623463860112
(cherry picked from commit 334a03eaae)
2023-06-06 18:06:43 +02:00
Oliver Smith 70bc7cc022 main/postmarketos-artwork: add gnome wallpapers (MR 4156)
Add GNOME specific wallpapers with a good contrast, so lables for
launchers on top of the wallpaper can be read nicely.

Also set myself as maintainer since the original maintainer didn't
change the package since 2018.

(cherry picked from commit 55c617ef64)
2023-06-06 18:06:31 +02:00
Sicelo A. Mhlongo 88a823f983 device-nokia-n900: improve user experience on i3 (MR 4157)
- fix wifi signal quality display, since /proc/net/wireless is no longer
  available in omap kernel
  Suggested-by: DvaMishkiLapa <thesame.personal@gmail.com>

- add `polkit-elogind` so tools like `loginctl poweroff` and `nmtui` do not
  require sudo under i3wm

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

(cherry picked from commit 80ab66cd2a)
2023-06-05 23:54:40 +02:00
Oliver Smith c70d80371c temp/calamares-extensions: fork from alpine
Fork to add the change min pass length patch

Related: https://gitlab.com/postmarketOS/postmarketos-ondev/-/issues/62
2023-06-05 23:29:54 +02:00
Oliver Smith dcb58a320b modem/msm-modem: increase timeout to 4 (MR 4153)
For a lot of people having the 1 second timeout results in not finding
the sim at all. Let's rather wait up to 4 seconds for the sim to appear,
it was reported that 3 is enough in a report where 1 wasn't.

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

(cherry picked from commit a1b9f90871)
2023-06-05 21:08:17 +02:00
Oliver Smith bcefaea239 temp/light: fork from Alpine
Related: issue 2133
2023-06-05 15:52:06 +02:00
Jane Rachinger 3460660f29 device-pine64-pinebookpro: resize on initial boot (MR 4149)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 5433eecb11)
2023-06-05 15:18:50 +02:00
Oliver Smith 3a80ad19f1 temp/megapixels: fork from alpine 2023-06-03 12:33:04 +02:00
Oliver Smith 5e08baa8c7 temp/gnss-share: fork from alpine
Arm builders are currently broken in Alpine, let's fork the packages we
need to have updated to pmaports in the meantime.
2023-06-03 12:32:58 +02:00
Clayton Craft 050dbb1fcb purism-librem5: revert ucm, other cleanup (MR 4138)
changes:

- don't try to set gnss-share socket in geoclue

- install Alsa UCM configs from purism

  Upstream ucm is broken when migrating from the purism ucm, so let's
  just use ucm from purism until someone upstreams something that works.
  What I upstreamed was based on an older ucm from Purism, what they are
  shipping is more correct than upstream ucm...

  This reverts commit 70b7813fee.

  fixes #2134

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

(cherry picked from commit bbbc7b7b2d)
2023-06-02 08:16:17 -07:00
Pablo Correa Gómez b11f9b1203 temp/gnome-shell-mobile: update mutter_api_version (MR 4119)
See previous commit for rationale

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

(cherry picked from commit 66625efa43)
2023-05-31 17:00:36 -07:00
Pablo Correa Gómez 7672421b18 temp/mutter-mobile: force update of libmutter_api_version (MR 4119)
The forked version includes some new API, but the maintainer wants to
have things as-close-as-possible to upstream. Since APK mostly keeps track
of libraries versions, having the same API version as upstream (there's no
stable ABI for mutter), makes it possible for APK to confuse with non-mobile
mutter. By having an unrealistic API version, we make sure this does not happen
to us.

Fixes #2127

(cherry picked from commit 997243f6f7)
2023-05-31 17:00:36 -07:00
NewbyteandOliver Smith b45ddea00d purism-librem5: fix ship mode on Linux 6.3 and higher (MR 4128)
Taken from https://source.puri.sm/Librem5/librem5-base/-/merge_requests/353

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

Co-authored-by: Oliver Smith <ollieparanoid@postmarketos.org>

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

(cherry picked from commit bc0ff89fdc)
2023-05-31 14:00:59 -07:00
Clayton Craft bb63d5f0ba purism-librem5: don't install custom geoclue service file (MR 4120)
Geoclue now supports reading from this path:

https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/43661

fixes https://gitlab.com/postmarketOS/pmaports/-/issues/2024

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

(cherry picked from commit 3fff515886)
2023-05-31 14:00:52 -07:00
Luca Weiss 57dc28ff1d main/postmarketos-base-ui: add supervisor to bluetooth service (MR 4136)
Due to an issue, probably in bluez, the bluetooth service often fails to
start on boot. Restarting the service later make bluez start correctly.

While adding the service supervisor for just this issue isn't a great
solution, in any case having a supervisor on such an important system
service is good, and it fixes this issue also by restarting the
bluetooth service after the first failure on boot.

  May 30 08:05:56 fairphone-fp4 daemon.info bluetoothd[1420]: Bluetooth daemon 5.66
  May 30 08:05:56 fairphone-fp4 daemon.err bluetoothd[1420]: src/main.c:main() Unable to get on D-Bus

Also while we're editing the list of subpackages make sure they're
ordered alphabetically.
[ci:skip-build]: already built successfully in CI

(cherry picked from commit b2e5ad1670)
2023-05-31 08:07:29 +02:00
Oliver Smith eb12dc002e main/mobile-config-firefox: upgrade to 4.0.2 (MR 4125)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 0ccd191d21)
2023-05-29 13:08:10 +02:00
Caleb Connolly d57442a433 community/linux-postmarketos-qcom-sdm845: upgrade to 6.3.4 (MR 4122)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit 9ba1d82f6e)
2023-05-29 02:37:46 +02:00
Oliver Smith 2d54aea84f temp/alpine-appstream-downloader: fork from Alpine
Fork it and upgrade to 0.6 to fix a bug that is currently preventing
images from getting built.
2023-05-29 00:05:24 +02:00
Oliver Smith 2d8179c129 cross/binutils-*: upgrade to 2.40-r7 2023-05-28 23:47:19 +02:00
Mighty a9fd5d2546 linux-postmarketos-omap: upgrade to 6.3.4 (MR 4124)
[ci:skip-build]: already built successfully in CI

(cherry picked from commit eeb6fb22eb)
2023-05-28 19:38:21 +02:00
Oliver Smith 72504c362d temp/gtk+3.0: disable for armv7 2023-05-28 19:16:11 +02:00
Luca Weiss 4ff86fb9be device-fairphone-fp4: add Bluetooth firmware dependency (MR 4110)
[ci:skip-build] Already build tested on CI

(cherry picked from commit 42d8a5abd5)
2023-05-26 15:47:35 +02:00
Luca Weiss 259062fc18 firmware-fairphone-fp4: package Bluetooth firmware (MR 4110)
(cherry picked from commit 8d81c77f05)
2023-05-26 15:47:34 +02:00
Luca Weiss 6b57d0408b linux-postmarketos-qcom-sm6350: upgrade to 6.3.3 (MR 4110)
Enable Bluetooth-related options in defconfig since FP4 now has
Bluetooth support.

(cherry picked from commit 9813033c80)
2023-05-26 15:47:31 +02:00
Oliver Smith c800d1aec7 temp/power-profiles-daemon: fork from alpine edge
Still in testing, postmarketos-base-ui-gnome depends on it.

Related: https://gitlab.alpinelinux.org/alpine/aports/-/issues/14962
2023-05-26 07:56:48 +02:00
Oliver Smith c4e649411d device-pine64-pinetab: remove
This probably won't be part of the stable v23.06 release, see pmaports
issue 1727.
2023-05-25 08:36:14 +02:00
Oliver Smith 6208620dc6 main/gcc{4,6}: remove 2023-05-24 21:52:27 +02:00
Oliver Smith 7f988923fd cross/gcc{4,6}-*: remove 2023-05-24 21:47:19 +02:00
Luca Weiss 90e2cdc7a8 main/dtbtool: switch to repository mirror (MR 4111)
Since codeaurora.org has been shut down and this project seemingly
hasn't been migrated to git.codelinaro.org, let's switch to a source
found on GitHub.

(cherry picked from commit 1a50b3a49b)
2023-05-24 17:21:47 +02:00
Oliver Smith 1f93b9ecc1 CI: remove build-* scripts for armhf, riscv64, x86 2023-05-24 09:40:25 +02:00
Oliver Smith 6031c5d6b7 cross/grub-efi-x86: regenerate with aportgen for v23.06 2023-05-24 09:30:17 +02:00
Oliver Smith 393a4e3d4e cross/musl-*: regenerate with aportgen for v23.06 2023-05-24 09:30:15 +02:00
Oliver Smith bbd8f1c50b cross/busybox-static-*: regenerate with aportgen for v23.06 2023-05-24 09:30:14 +02:00
Oliver Smith dbf6039627 cross/binutils-*: regenerate with aportgen for v23.06
Using patches from here:
https://lists.sr.ht/~postmarketos/pmbootstrap-devel/patches/41318
2023-05-24 09:30:13 +02:00
Oliver Smith 519e18ba3b cross/gcc-*: regenerate with aportgen for v23.06 2023-05-24 09:30:11 +02:00
Oliver Smith af3b87fbb8 Remove packages not relevant for stable releases 2023-05-24 09:29:50 +02:00
Oliver Smith e19763b992 main/postmarketos-base: set version to v23.06 2023-05-24 09:26:12 +02:00
Oliver Smith d1eb08536a === Branch v23.06 from master ===
Related: https://wiki.postmarketos.org/wiki/Create_release_branch
2023-05-24 09:09:42 +02:00
gtrxAC 5aa28ef117 huawei-plank: new device (MR 4096)
[ci:skip-build] already built successfully in CI
2023-05-23 15:19:16 -07:00
M0Rf30 e388dbb57d linux-postmarketos-qcom-sdm660: upgrade to 6.3.3 (MR 3984)
Rebase of sdm660 patchset on top of linux-stable/linux-6.3.y
branch.

Notable changes:
* New device: HMD Global Nokia 6.1 (nokia-pl2)
* New device: Xiaomi Mi A2 (xiaomi-jasmine_sprout)
* usage of pmb:kconfigcheck-community only
* LOCALVERSION is no longer set in kconfig, but at build time

Signed-off-by: Gianluca Boiano <morf3089@gmail.com>

[ci:skip-build] already built successfully in CI
2023-05-23 15:15:13 -07:00
René Kliment 5666109a4a samsung-p4note: use sparse image (MR 4105)
Fixes flashing of rootfs img with heimdall for Samsung Galaxy Note 10.1 N8010.

see https://wiki.postmarketos.org/wiki/Troubleshooting#Heimdall:_Flashing_fails_at_7.25
2023-05-23 22:36:10 +02:00
Jianhua Lu 1db7d64aab testing/device-xiaomi-elish: add audio speaker support (MR 4087) 2023-05-23 09:41:38 +02:00
Jianhua Lu b6cc5c0e9f testing/alsa-ucm-conf-qcom-sm8250: new aport (MR 4087) 2023-05-23 09:41:38 +02:00
Jianhua Lu 866b67e772 testing/firmware-xiaomi-elish: add cirrus and boe variant touchscreen firmware (MR 4087) 2023-05-23 09:41:38 +02:00
Jianhua Lu 30ff0308a2 testing/linux-postmarketos-qcom-sm8250: upgrade to 6.4.0 rc2 (MR 4087) 2023-05-23 09:41:32 +02:00
Oliver Smith 7926019217 cross/binutils-*: upgrade to 2.40-r8 (MR 4107)
Generated with:
https://lists.sr.ht/~postmarketos/pmbootstrap-devel/patches/41318
2023-05-22 08:54:25 +02:00
Anton Bambura 6e2077e604 google-stern: new device (MR 4091)
[ci:skip-build]: already built successfully in CI
2023-05-22 08:08:52 +02:00
Anton Bambura fdd5c560e9 google-cerise: new device (MR 4091) 2023-05-22 08:08:46 +02:00
Newbyte eee2eaf970 linux-purism-librem5: upgrade to 6.3.2pureos1 (MR 4104)
[ci:skip-build]: already built successfully in CI
2023-05-22 07:54:17 +02:00
Newbyte b891b8b18b cross/gcc-*: upgrade to 13.1.1_git20230520-r0 2023-05-21 21:12:02 +02:00
Dylan Van Assche 4b92e922ef main/postmarketos-base-ui: enable USB tethering (MR 3819)
USB tethering allows users to use their phone's WiFi or WWAN interface
as an access point for the device they connect the phone with over USB.
This way, they can use their data plan with a laptop or desktop when
regular Internet access is absent.

Configure NetworkManager to manage the usb0 iface from initfs so users
can configure it in GNOME Settings or KDE. Include a NetworkManager
dispatcher script as well to handle postmarketOS' setup with unudhcpd as
we want to provide an SSH login over USB when tethering is disabled. If
tethering is enabled, unudhpcd is stopped and its functionality is taken
over by NetworkManager through an instance of dnsmasq. NetworkManager
will also configure the necessary settings to allow IP forwarding and
firewall rules during tethering. Once disabled, NetworkManager cleans up
these settings and our dispatcher script starts unudhcpd again.

Due to upstream changes, NetworkManager requires networkmanager-dnsmasq
subpackage as dependency as dnsmasq needs DBus support for
NetworkManager. Without it, NetworkManager will silently fail spawning
dnsmasq instances.
[ci:skip-build]: already built successfully in CI
2023-05-21 19:42:14 +02:00
Newbyte a2a4772177 main/postmarketos-ui-plasma-mobile: don't recommend postmarketos-hidden-desktop-entries (MR 4086)
Package has been removed.

[ci:skip-vercheck]: Not necessary when recommends are changed.
[ci:skip-build]: already built successfully in CI
2023-05-21 17:14:55 +02:00
Newbyte 853f4ba5a5 main/postmarketos-ui-phosh: don't recommend postmarketos-hidden-desktop-entries (MR 4086)
Package has been removed.
2023-05-21 17:14:55 +02:00
Newbyte 8dcb873f9b main/postmarketos-ui-gnome-mobile: don't recommend postmarketos-hidden-desktop-entries (MR 4086)
Package has been removed.
2023-05-21 17:14:55 +02:00
Newbyte a04ca4caff main/postmarketos-hidden-desktop-entries: remove (MR 4086)
GNOME Console can now launch command-line applications from .desktop
files, so they are no longer "useless" in Phosh.

gnome-extensions-app hasn't been pulled in automatically in Phosh for
long. If users install this manually, it would be confusing for it to
not show up. The app itself has an error message that explains they
need to be logged into GNOME for it to work when launched in e.g.
Phosh, so I think that should take care of UX concerns. Additionally,
this package is installed in gnome-mobile as well, where
gnome-extensions-app actually is useful.

firefox-safe-mode has been removed in Alpine:
 - https://git.alpinelinux.org/aports/commit/community/firefox?id=438ee43621e1a83c8309bf7e5e14ba9fce0532ff
 - https://git.alpinelinux.org/aports/commit/community/firefox-esr?id=0f324c8b39ab08cc3f504e4ae959425bec472791

Considering all of this, postmarketos-hidden-desktop-entries no longer
serves a purpose, so let's remove it.
2023-05-21 17:14:50 +02:00
Ishaaq 9f15da8d46 samsung-starlte: new device (MR 4102)
[ci:skip-build]: Already built successfully in CI
2023-05-21 07:32:32 +02:00
hazardchem 4e1f99160d pine64-pinephonepro: Packages for PinePhone Keyboard with sway and X11 (MR 4078)
Copy of the work from this merge as pro model was missed:
https://gitlab.com/postmarketOS/pmaports/-/merge_requests/3845
2023-05-20 11:19:21 +02:00
Anton Bambura fcf33fccaa google-willow: add bluetooth firmware (MR 4099)
[ci:ignore-count]
[ci:skip-build]: Already built successfully in CI.
2023-05-20 11:15:51 +02:00
Anton Bambura fc3421e665 google-makomo: add bluetooth firmware (MR 4099) 2023-05-20 11:15:49 +02:00
Anton Bambura d69cd81186 google-krane: add bluetooth firmware (MR 4099) 2023-05-20 11:15:49 +02:00
Anton Bambura 22df89a1cb google-kodama: add bluetooth firmware (MR 4099) 2023-05-20 11:15:49 +02:00
Anton Bambura 7f78f74025 google-kenzo: add bluetooth firmware (MR 4099) 2023-05-20 11:15:48 +02:00
Anton Bambura af2ae7aa4c google-katsu: add bluetooth firmware (MR 4099) 2023-05-20 11:15:48 +02:00
Anton Bambura a2faf88238 google-kappa: add bluetooth firmware (MR 4099) 2023-05-20 11:15:48 +02:00
Anton Bambura fd0c785eb9 google-kakadu: add bluetooth firmware (MR 4099) 2023-05-20 11:15:48 +02:00
Anton Bambura 36e6a69dd7 google-juniper: add bluetooth firmware (MR 4099) 2023-05-20 11:15:48 +02:00
Anton Bambura 50d260240b google-fennel14: add bluetooth firmware (MR 4099) 2023-05-20 11:15:48 +02:00
Anton Bambura e859e47589 google-fennel: add bluetooth firmware (MR 4099) 2023-05-20 11:15:48 +02:00
Anton Bambura 3ed15d3d19 google-damu: add bluetooth firmware (MR 4099) 2023-05-20 11:15:48 +02:00
Anton Bambura 3c20e11910 google-cozmo: add bluetooth firmware (MR 4099) 2023-05-20 11:15:47 +02:00
Anton Bambura 0f4258d37e google-burnet: add bluetooth firmware (MR 4099) 2023-05-20 11:15:47 +02:00
Anton Bambura 6688808de8 linux-postmarketos-rockchip: enable video decoder (MR 4097)
[ci:skip-build]: Already built successfully in CI.
2023-05-20 11:13:25 +02:00
Anton Bambura 07cdab935a google-bob: enable accelerometer (MR 4098)
Fixed in upstream: https://github.com/eudev-project/eudev/pull/239
2023-05-20 11:09:39 +02:00
Anton Bambura 46304c497c google-kevin: enable accelerometer (MR 4098)
Fixed in upstream: https://github.com/eudev-project/eudev/pull/239
2023-05-20 11:09:38 +02:00
Luca Weiss 486de9b306 device-sony-leo: install lk2nd package (MR 4077)
This enables us to easily flash lk2nd with pmbootstrap during
installation.

[ci:skip-build]: already built successfully in CI
2023-05-19 18:42:19 +02:00
Luca Weiss 00261bc123 device-oneplus-bacon: install lk2nd package (MR 4077)
This enables us to easily flash lk2nd with pmbootstrap during
installation.
2023-05-19 18:42:19 +02:00
Luca Weiss 1e59890385 device-lg-hammerhead: install lk2nd package (MR 4077)
This enables us to easily flash lk2nd with pmbootstrap during
installation.
2023-05-19 18:42:19 +02:00
Luca Weiss 5954048db3 device-fairphone-fp2: install lk2nd package (MR 4077)
This enables us to easily flash lk2nd with pmbootstrap during
installation.
2023-05-19 18:42:18 +02:00
Luca Weiss 644439c79f main/lk2nd: also package appended-dtb variant of msm8974 (MR 4077)
Devices like oneplus-bacon require this variant instead of the standard
variant.
2023-05-19 18:42:18 +02:00
Newbyte e8eb332fa2 main/postmarketos-tweaks: upgrade to 0.13.1 (MR 4100)
[ci:skip-build]: already built successfully in CI
2023-05-19 16:07:31 +02:00
Hugo Osvaldo Barrera e9029c9153 pine64-pinebookpro: switch to upstream udev rules (MR 4095)
The entries kept locally are now part of the upstream rules. We can rely
on those instead and avoid the duplication.

See: https://github.com/eudev-project/eudev/blob/2703baf55615b7554fb67c4f1c241f057f8c0a79/hwdb/60-evdev.hwdb#L625
See: https://github.com/eudev-project/eudev/blob/2703baf55615b7554fb67c4f1c241f057f8c0a79/hwdb/60-keyboard.hwdb#L1526
[ci:skip-build]: already built successfully in CI
2023-05-19 12:11:10 +02:00
Anton Bambura af105937a2 mt8183 devices: remove audio module load configs (MR 4090)
Sound drivers not probing is solved with a patch in 6.1.28-r0 version
of linux-postmarketos-mediatek-mt8183 package.

[ci:ignore-count]
2023-05-19 07:24:32 +00:00
Luca Weiss 44797d1f4e testing/device-huawei-sturgeon: add mainline subpackages (MR 4053)
[ci:skip-build]: already built successfully in CI
2023-05-19 08:11:10 +02:00
Luca Weiss 8ff50a82a8 testing/firmware-huawei-sturgeon: add adsp and more wifi/bt firmware (MR 4053) 2023-05-19 08:11:10 +02:00
Luca Weiss f77fb2e610 testing/device-asus-sparrow: add mainline subpackages (MR 4053) 2023-05-19 08:11:10 +02:00
Luca Weiss a26ede4de6 testing/firmware-asus-sparrow: new aport (MR 4053) 2023-05-19 08:11:10 +02:00
Luca Weiss b1b5f9a8f2 testing/device-lg-lenok: add mainline subpackages (MR 4053) 2023-05-19 08:11:10 +02:00
Luca Weiss 7b4bf89443 testing/firmware-lg-lenok: new aport (MR 4053) 2023-05-19 08:11:10 +02:00
Luca Weiss 476f7fe6ad testing/linux-postmarketos-qcom-msm8226: adjust kernel config (MR 4053)
Enable various configs needed for the apq8026 watches, disable some
options for other platforms and adjust various other configs where it
makes sense.
2023-05-19 08:11:10 +02:00
Luca Weiss f3adab7539 testing/linux-postmarketos-qcom-msm8226: upgrade to 6.3.0 (MR 4053) 2023-05-19 08:11:05 +02:00
Anton Bambura 8e3cc49cfe soc-mediatek-mt8183: add symlink to scp.img (MR 4094)
Add symlink to the place where kernel expects it to be

[ci:skip-build]: already built successfully in CI
2023-05-19 07:49:49 +02:00
Anton Bambura 68a3bf8610 linux-postmarketos-mediatek-mt8183: add support for video decoder (MR 4093)
[ci:skip-build]: already built successfully in CI
2023-05-18 14:41:41 +03:00
Newbyte 6d72b33b41 cross/gcc-*: upgrade to 13.1.1_git20230513-r2 2023-05-17 22:27:00 +02:00
Anton Bambura 9c8ccba142 linux-postmarketos-mediatek-mt8183: upgrade to 6.1.28 (MR 4089)
[ci:skip-build]: Already built successfully in CI
2023-05-17 18:16:00 +02:00
Anton Bambura 3c629c64e3 google-nyan-blaze: add initfs modules for usb storage (MR 4074)
[ci:skip-build]
2023-05-16 23:18:02 +03:00
Anton Bambura 093611357b google-nyan-big: add initfs modules for usb storage (MR 4074) 2023-05-16 23:18:01 +03:00
Anton Bambura daea5dade3 google-nyan-blaze: switch from u-boot script to extlinux (MR 4074) 2023-05-16 23:18:01 +03:00
Anton Bambura 5ae8060f6d google-nyan-big: switch from u-boot script to extlinux (MR 4074) 2023-05-16 23:18:01 +03:00
Anton Bambura 670f23f640 google-nyan-blaze: switch from secondary u-boot to depthcharge (MR 4074) 2023-05-16 23:18:01 +03:00
Anton Bambura 2c6399db1c google-nyan-big: switch from secondary u-boot to depthcharge (MR 4074) 2023-05-16 23:18:01 +03:00
Anton BamburaandAlper Nebi Yasak 5bfe3ab5b5 linux-google-nyan: add a hack for depthcharge (MR 4074)
Prevent kernel self-decompression from overwriting initramfs

Co-authored-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2023-05-16 23:18:01 +03:00
Anton Bambura 08096700f0 linux-google-nyan: upgrade to 6.1.27 (MR 4074)
Also, make it smaller and more modular
2023-05-16 23:18:01 +03:00
Newbyte 91adc26f51 linux-purism-librem5: enable lazy RCU (MR 4080)
See https://gitlab.com/postmarketOS/pmbootstrap/-/issues/2220

[ci:skip-build]: Already built successfully in CI
2023-05-16 18:40:42 +02:00
Newbyte f47d58a680 linux-purism-librem5: upgrade to 6.3.1 (MR 4080) 2023-05-16 18:40:41 +02:00
Joel Selvaraj 86601ff415 community/linux-postmarketos-qcom-sdm845: upgrade to 6.3.2 (MR 4079)
[ci:skip-build]: Already built successfully in CI
2023-05-16 09:19:47 +02:00
Anton Bambura 8ada15f062 google-veyron-jerry: use depthcharge (MR 4067)
Make use of its bootloader, so users don't have to flash U-Boot.
2023-05-16 01:56:38 +03:00
Mek101 34b1aff3cd lg-w5: move from armhf to armv7 (MR 4085)
[ci:skip-build]: already built successfully in CI
2023-05-15 22:29:08 +02:00
Newbyte 9c858aad62 cross/busybox-static-*: upgrade to 1.36.0-r11 2023-05-15 14:40:58 +02:00
Newbyte 8a9170d125 cross/binutils-*: upgrade to 2.40-r7 2023-05-15 14:40:32 +02:00
Newbyte 57b22658a9 cross/gcc-*: upgrade to 13.1.1_git20230513-r1 2023-05-15 10:15:31 +02:00
Anton Bambura a3001a0cb0 main/postmarketos-update-depthcharge-kernel: use kern_guid instead of label (MR 4066)
This allows to flash correct partition when having 2 installations of pmOS.

This will also avoid flashing kernel image when using U-Boot.
2023-05-14 19:22:51 +02:00
Newbyte 13904bb777 cross/busybox-static-*: upgrade to 1.36.0-r10 2023-05-14 18:31:53 +02:00
Newbyte 6352910769 cross/binutils-*: upgrade to 2.40-r6 2023-05-14 18:31:29 +02:00
Newbyte 69aea328e5 purism-librem5: upgrade to librem5-base 60 (MR 4055) 2023-05-13 10:40:21 +02:00
Newbyte 70b7813fee purism-librem5: don't install Alsa UCM configs (MR 4055)
This is now upstream in alsa-ucm-conf v1.2.9, and should as such
be removed from here as to avoid conflicts.
2023-05-13 10:40:17 +02:00
Newbyte 741b9caece cross/grub-efi-x86: upgrade to 2.06-r12 2023-05-13 10:32:21 +02:00
Oliver Smith 4f6b01db82 temp/pulseaudio: upgrade to 16.1 (MR 4075)
[ci:skip-build]: already built successfully in CI
2023-05-12 22:15:40 +02:00
Newbyte 16696849eb temp/pulseaudio: depend on alsa-utils in openrc subpackage (MR 4072)
Closes https://gitlab.com/postmarketOS/pmaports/-/issues/1801

Backport of https://gitlab.alpinelinux.org/alpine/aports/-/commit/3d3c5d17a79a615cd5935455cb31fee4efbe21a3
2023-05-12 08:52:48 +02:00
Martin Lillepuu 5b4df25783 device-oneplus-oneplus3t: remove mesa-dri-gallium from deps (MR 3323) 2023-05-11 20:48:58 +02:00
Martin Lillepuu ffb351f136 device-oneplus-oneplus3t: add GPU acceleration support (MR 3323)
Add GPU acceleration support for Oneplus 3T
2023-05-11 20:48:58 +02:00
Oliver Smith 76f32fecf3 device-pine64-pinephone: add replaces=alsa-ucm-conf (MR 4061)
Override the upstream alsa-ucm-conf for now.

Related: issue 2115
2023-05-11 10:11:09 +02:00
Luca Weiss 74c7092bbd main/postmarketos-ui-asteroid: launch mapplauncherd booster (MR 4063)
All Asteroid apps are launched with the "invoker" which needs the
booster running. Make sure this happens when the UI starts.

Alternatively we could use superd to launch it but for a single
executable this is good enough for now.
2023-05-10 11:54:20 +02:00
M0Rf30 4ded17dc1e linux-postmarketos-qcom-msm8953: enable motorola-ocean panel and sound (MR 4064)
[ci:skip-build]: Already built successfully in CI
2023-05-10 10:32:00 +02:00
Anton Bambura 91b81d92f7 firmware-google-veyron-brcm: add bluetooth firmware (MR 4068)
[ci:skip-build]: Already built successfully in CI
2023-05-10 00:20:09 +02:00
Anton Bambura 5cf259f46e linux-google-veyron: upgrade to 6.1.27 (MR 4069)
Also make it passing kconfig check again.

[ci:skip-build]: Already built successfully in CI
2023-05-10 00:17:21 +02:00
Clayton Craft 047730dfb0 main/postmarketos-ui-kodi: enable shutdown/reboot/suspend options (MR 4065)
These power menu options require this package

[ci:skip-build] already built successfully in CI
2023-05-09 10:01:32 -07:00
Luca Weiss 9a4a818bde community/linux-postmarketos-qcom-sm6350: enable DEVFREQ_THERMAL (MR 4062)
Make sure the GPU can register its thermal device to avoid this error:

  [    9.303081] adreno 3d00000.gpu: [drm:msm_devfreq_init] *ERROR* Couldn't register GPU cooling device

[ci:skip-build]: already built successfully in CI
2023-05-08 18:03:58 +02:00
Yassine Oudjana f71abed592 linux-postmarketos-qcom-msm8996: upgrade to 6.3.1 (MR 4059)
[ci:skip-build]: already built successfully in CI
2023-05-08 17:47:32 +02:00
Andreas Kemnade 3c32dbe814 linux-kobo-clara-mainline: Upgrade to 6.3.0 (MR 4060)
Add most config options for pmbootstrap kconfig check --community
CONFIG_SMP is left out since we have no mulitprocessor systems
using this kernel.

[ci:skip-build]: already built successfully in CI
2023-05-08 17:42:35 +02:00
Barnabás Czémán 3628ed25e8 device-xiaomi-tissot: update panel module names for initramfs (MR 4056)
[ci:skip-build]: already built successfully in CI
2023-05-07 18:55:30 +02:00
Newbyte 919c24cecb cross/busybox-static-*: upgrade to 1.36.0-r9 2023-05-06 23:22:53 +02:00
vipaol f07d122b67 xiaomi-markw: new device (MR 3906) 2023-05-04 20:54:05 +02:00
Clayton Craft b8aca2b914 main/boot-deploy: upgrade to 0.8.1 (MR 4048)
0.8.1:

Fixes:
  - get_free_space: always return an integer (MR 31)

0.8:

Features:
  - Add support for gummiboot
  - Many internal code improvements and bug fixes, see git log for
    details

Fixes:
  - Fix destination space calculation (MR 28)
  - Support destination paths with spaces

[ci:skip-build] already built successfully in CI
2023-05-04 08:39:51 -07:00
Newbyte 2f1d832d4d cross/musl-*: upgrade to 1.2.4 2023-05-03 14:12:26 +00:00
Pablo Correa Gómez d1856dad75 main/postmarketos-ui-xfce4: add elogind-openrc to depends, enable service (MR 4020)
[ci:ignore-count]
2023-05-03 15:56:56 +02:00
Pablo Correa Gómez 83d224df2b main/postmarketos-ui-weston: add elogind-openrc to depends, enable service (MR 4020) 2023-05-03 15:56:56 +02:00
Pablo Correa Gómez bc8bc00ef9 main/postmarketos-ui-sway: add elogind-openrc to depends, enable service (MR 4020) 2023-05-03 15:56:56 +02:00
Pablo Correa Gómez 10e5f418a0 main/postmarketos-ui-plasma-mobile: add elogind-openrc to depends, enable service (MR 4020) 2023-05-03 15:56:56 +02:00
Pablo Correa Gómez ec062f4e09 main/postmarketos-ui-plasma-bigscreen: add elogind-openrc to depends, enable service (MR 4020) 2023-05-03 15:56:56 +02:00
Pablo Correa Gómez 088482b579 main/postmarketos-ui-mate: add elogind-openrc to depends, enable service (MR 4020) 2023-05-03 15:56:56 +02:00
Pablo Correa Gómez 2d2b9bddd8 main/postmarketos-ui-lxqt: add elogind-openrc to depends, enable service (MR 4020) 2023-05-03 15:56:56 +02:00
Pablo Correa Gómez cbb4367c47 main/postmarketos-ui-kodi: add elogind-openrc to depends, enable service (MR 4020) 2023-05-03 15:56:55 +02:00
Pablo Correa Gómez d820779a10 main/postmarketos-ui-i3wm: add elogind-openrc to depends, enable service (MR 4020) 2023-05-03 15:56:55 +02:00
Pablo Correa Gómez ab87fde2f6 main/postmarketos-ui-asteroid: add elogind-openrc to depends, enable service (MR 4020) 2023-05-03 15:56:55 +02:00
Pablo Correa Gómez 6a125a739e main/postmarketos-base-ui-gnome: add elogind-openrc to depends, enable service (MR 4020) 2023-05-03 15:56:55 +02:00
M0Rf30 39f6db50cb linux-postmarketos-qcom-msm8953: upgrade to 6.3.0 (MR 4035)
[ci:skip-build]: Already built successfully in CI
2023-05-03 15:52:33 +02:00
M0Rf30 60fe572b47 xiaomi-vince: remove qcom_fg, i2c_qup from initfs modules, proper panel names (MR 4035) 2023-05-03 15:52:21 +02:00
Luca Weiss b2f939943c testing/linux-postmarketos-qcom-msm8974: upgrade to 6.3.0 (MR 4040)
Manual config changes:
* CONFIG_BPF_SYSCALL=y (waydroid check)
* CONFIG_CGROUP_BPF=y (waydroid check)

[ci:skip-build]: Already built successfully in CI
2023-05-03 15:48:18 +02:00
Oliver Smith e2169ff59f main/postmarketos-ui-lxqt: fix dep: lxpolkit -> lxqt-policykit (MR 4021)
lxpolkit has been removed in Alpine, adjust our packaging:
> this is dead for 10 years, pretty much superceded by lxqt-policykit

Related: https://gitlab.alpinelinux.org/alpine/aports/-/commit/9df419c349175cda0e635ec2bae13683b7eb916f
2023-05-02 08:14:14 +00:00
Luca Weiss 214f898dc5 community/linux-postmarketos-rockchip: adjust kconfig for usb_gadgets (MR 4028)
[ci:skip-build]: takes too long for CI
2023-05-02 08:33:38 +02:00
Luca Weiss 8ddef357b3 community/linux-postmarketos-omap: adjust kconfig for usb_gadgets (MR 4028) 2023-05-02 08:33:03 +02:00
Luca Weiss 65e27349d5 community/linux-postmarketos-exynos4: adjust kconfig for usb_gadgets (MR 4028) 2023-05-02 08:33:03 +02:00
Luca Weiss bec770e995 main/linux-purism-librem5: adjust kconfig for usb_gadgets (MR 4028) 2023-05-02 08:33:03 +02:00
Luca Weiss 9c894f8a73 main/linux-postmarketos-allwinner: adjust kconfig for usb_gadgets (MR 4028) 2023-05-02 08:32:57 +02:00
Caleb Connolly d40db11c30 device-thundercomm-db845c: new device (MR 4047)
Add support for the Qualcomm Robotics (RB3) dev kit, the Thundercomm
DB845c. This is a successor to the arrow 410c board already supported in
postmarketOS. It is based on the SDA845 SoC, almost identical to SDM845
but without a fully featured modem.

All the things you'd expect to work out of the box:
* UART
* USB host and peripheral
* HDMI display out
* Wifi, Bluetooth
2023-05-01 19:28:34 +01:00
Caleb Connolly 6c27c1c460 soc-qcom-sdm845: encapsulate cellular specific stuff (MR 4047)
The upcoming db845c doesn't have cellular modem capabilities, but still
has wifi. Avoid installing modem related configs and services by default
and only install it for devices that need it.
2023-05-01 19:28:34 +01:00
Alistair Francis 01d084c777 linux-purism-librem5: upgrade to 6.2.10 (MR 4045)
Signed-off-by: Alistair Francis <alistair@alistair23.me>

[ci:skip-build] already built successfully in CI
2023-04-30 00:18:28 -07:00
Pablo Correa Gómez e6a905c176 main/postmarketos-base-ui-gnome: enable apk-polkit-rs service (MR 4014)
Needed by GNOME Software since
https://gitlab.alpinelinux.org/Cogitri/apk-polkit-rs/-/merge_requests/45

GNOME Software is often installed in GNOME UI's through pmb_recommends,
but it's not a dependency in any way. To avoid spilling this service
enablement everywhere, add just the openrc subpackage from the daemon.
That means that if GNOME Software is not installed or gets uninstalled,
the daemon will crash on startup. That should not be a big deal though.

[ci:skip-build] already built successfully in CI
2023-04-30 00:02:12 -07:00
vipaol a1a9836982 main/lk2nd-msm8953: upgrade to 0.3.3 (MR 4044)
[ci:skip-build] already built successfully in CI
2023-04-29 23:57:49 -07:00
Santiago García Mantiñán d17d994693 linux-samsung-jackpotlte: Add patch to fix build ld error, issue #2052. (MR 4006)
[ci:skip-build] already built successfully in CI
2023-04-29 23:55:18 -07:00
Luca Weiss a7ed851ed9 community/linux-postmarketos-qcom-sm6350: upgrade to 6.3.0 (MR 4042)
[ci:skip-build] already built successfully in CI
2023-04-29 23:52:44 -07:00
Luca Weiss c91cd9998e community/firmware-fairphone-fp4: upgrade to 20230215 (MR 4042) 2023-04-29 23:52:44 -07:00
Clayton CraftandArnavion 4b516916dc pmos-base-ui-networkmanager: set up dnsmasq for filtering lookups (MR 3823)
This uses a dispatcher script to configure filtering A and AAAA records
based on which IP versions are routable on the NM primary connection.

gojq is preferred over the 'standard' jq because it's considerably
faster... the dispatcher script took 0.89s on my L5 with jq, and 0.07s
with gojq. the difference is probably greater on slower phones... so it
seemed worth installing it.

fixes #1430

Co-authored-by: Arnavion <me@arnavion.dev>
2023-04-29 23:40:52 -07:00
Jan Jasper de Kroon 08b32ff4ba linux-postmarketos-allwinner: upgrade to 6.3.0 (MR 4038)
-Removed 0013-media-ov5640-Update-last-busy-timestamp-to-reset-aut.patch:
 Fix should now be incorporated in 6.3 kernel.

[ci:skip-build]: Already built successfully in CI
2023-04-28 10:40:24 +02:00
notfound405 8f8c0bb350 main/msm-firmware-loader: upgrade to 1.2.0 (MR 4041) 2023-04-28 09:09:30 +02:00
notfound405 23d7875f10 generic-zhihe: add new devices (MSM8916-based LTE dongles, namely zhihe) (MR 3988)
[ci:skip-build]: already built successfully in CI
2023-04-27 09:58:53 +02:00
M0Rf30 dc79738ba6 firmware-xiaomi-vince: use a530_pfp.fw from V11.0.2.0.OEGMIXM (MR 4033)
[ci:skip-build]: already built successfully in CI
2023-04-27 09:55:37 +02:00
Pablo Correa Gómez ae41229fd4 device-pine64-dontbeevil: modernize, select dtb based on kernel suffix (MR 4037)
[ci:skip-vercheck]
2023-04-26 18:13:53 +02:00
Pablo Correa Gómez ee13208d07 device-planet-geminipda: use source_deviceinfo (MR 4037) 2023-04-26 18:13:53 +02:00
Pablo Correa Gómez ff12848ae6 device-motorola-maserati: use source_deviceinfo (MR 4037) 2023-04-26 18:13:52 +02:00
Pablo Correa Gómez 38659e07ff main/osk-sdl: use source_deviceinfo from init_functions.sh (MR 4037)
The osk-sdl runs on the initramfs, so this should be no issue
2023-04-26 18:13:52 +02:00
Pablo Correa Gómez 3c3ef48600 main/postmarketos-mkinitfs-hook-netboot: use source_deviceinfo (MR 4037) 2023-04-26 18:13:52 +02:00
Pablo Correa Gómez e192346cb4 main/postmarketos-mkinitfs-hook-debug-shell: use source_deviceinfo (MR 4037) 2023-04-26 18:13:52 +02:00
Pablo Correa Gómez c47963552a main/postmarketos-mkinitfs-hook-console-shell: use source_deviceinfo (MR 4037) 2023-04-26 18:13:52 +02:00
Pablo Correa Gómez b26ba8784c main/postmarketos-initramfs: add function to source deviceinfo (MR 4037)
As a preparation for #1836, move the sourcing of deviceinfo to its own
function. This should allow to have a single point in the whole of the
initramfs for the sourcing of the deviceinfo, instead of every script
that needs it sourcing it. This allows to change the way deviceinfo is
sourced in the future with a lot less effort.
2023-04-26 18:13:52 +02:00
Pablo Correa Gómez beef607a81 device-oneplus-oneplus2: remove unnecessary deviceinfo installation (MR 4037) 2023-04-26 18:13:52 +02:00
Pablo Correa Gómez b3998d167f device-asus-t00f: remove unnecessary deviceinfo installation (MR 4037) 2023-04-26 18:13:52 +02:00
Adam Słaboń 455368dfed lenovo-a6020a40: new device (Lenovo Vibe K5) (MR 4036)
[ci:skip-build]: already built successfully in CI
2023-04-25 22:24:47 +02:00
Minecrell a5a0b54f40 samsung-matisseve: add panel and touchscreen to initfs (MR 4032)
This makes the splash screen work and probably osk-sdl/unl0kr as well.

[ci:skip-build]: already built successfully in CI
2023-04-25 15:24:58 +02:00
Minecrell 25cc08f1e2 soc-qcom-msm8916: update ALSA UCM configs (MR 4031)
- Add msm8916-1mic configuration for devices without SecondaryMic
- Fix audio volume after upstream msm8916-wcd-digital changes

[ci:skip-build]: already built successfully in CI
2023-04-25 07:21:23 +02:00
Minecrell 880c94220e linux-postmarketos-qcom-msm8916: upgrade to 6.3 (MR 4031)
- Update to Linux 6.3
- Fix voltage reporting for SMB1360 battery driver

Device changes:
  - nokia-{argon,leo,sparkler}: Fix some key mappings
  - wileyfox-crackling: Fix multi-touch
  - bq-piccolo, samsung-gt510, samsung-matisseve:
    - Add capacitive touch keys
  - samsung-matisseve: Display brightness control
  - bq-paella: yushun-nt35521s panel driver
  - motorola-surnia: inx_v1 panel driver

New devices:
  - Various MSM8916-based USB modem dongles ("zhihe")
    (UF896, UFI001c, UZ801v3, ...)
    - eMMC, USB, Button, WiFi/BT, Modem, LEDs
  - Lenovo Vibe K5 (wingtech-wt82918hd)
    - eMMC, SD card, USB, Buttons, WiFi/BT, Vibrator
    - Display, Brightness control, LEDs
    - Touchscreen
    - Sensors (Accelerometer/Gyroscope/IMU)
    - Battery status (no charging driver yet)
    - Flash LED
    - Modem
2023-04-25 07:20:35 +02:00
Luca Weiss dfe9ada6e8 testing/linux-postmarketos-qcom-msm8953: enable new waydroid options (MR 4027)
[ci:skip-build]
2023-04-24 21:00:12 +02:00
Luca Weiss d7e933fbf5 testing/linux-postmarketos-qcom-msm8953: work around build timeout (MR 4027) 2023-04-24 20:59:54 +02:00
Luca Weiss daa1c6d8a5 testing/linux-sourceparts-pocketpc: enable new waydroid options (MR 4027) 2023-04-24 20:59:54 +02:00
Luca Weiss a570ee22c2 testing/linux-sourceparts-pocketpc: work around build timeout (MR 4027) 2023-04-24 20:59:54 +02:00
Luca Weiss bd280119fe testing/linux-postmarketos-stericsson: enable new waydroid options (MR 4027) 2023-04-24 20:59:54 +02:00
Luca Weiss 46b97c342b testing/linux-postmarketos-stericsson: work around build timeout (MR 4027) 2023-04-24 20:59:54 +02:00
Luca Weiss 03b588fc67 testing/linux-postmarketos-qcom-sdm660: enable new waydroid options (MR 4027) 2023-04-24 20:59:54 +02:00
Luca Weiss 137d23f938 testing/linux-postmarketos-qcom-sdm660: work around build timeout (MR 4027) 2023-04-24 20:59:54 +02:00
Clayton Craft 88f58f6a11 cross/busybox-static-a*: upgrade to 1.36.0-r8 2023-04-24 11:58:30 -07:00
Minecrell f81492edab motorola-harpia: use WCNSS firmware from osprey (MR 4034)
harpia's WCNSS firmware has problems with WiFi channels on some device
variants, using osprey's firmware seems to help as a workaround.

Install that by default so WiFi has better chances of working properly
out of the box.
[ci:skip-build]: already built successfully in CI
2023-04-24 12:37:56 +02:00
Bart Ribbers d892694d34 main/postmarketos-ui-plasma-mobile: remove kpeoplesink (MR 4030)
It has been dropped from Alpine due to being unmaintained and it's
dependencies not building against the latest kmime (23.04) anymore

[ci:skip-vercheck]
[ci:skip-build]
2023-04-24 10:50:45 +02:00
Dang Huynh 2d6be776a1 sipeed-m1sdock: new device (MR 4025)
Sipeed M1s DOCK is a development board from Sipeed, it is based on
M1s module.

The Sipeed M1s introduces the BL808 SoC from Bouffalo Lab, the
BL808 is also used in Pine64 0x64 development board.

[ci:skip-build]: already built successfully in CI
2023-04-24 07:53:10 +02:00
Barnabás Czémán 560e8b56ee linux-xiaomi-riva: Replace kernel source (MR 4029)
The kernel source replaced with the lineageos version.
It fix the compile issues and the contains security fixes.

[ci:skip-build]: Already built successfully in CI
2023-04-23 21:39:39 +02:00
Henrik Grimler 8583329551 linux-postmarketos-exynos5: upgrade to 6.1.24 (lts) (MR 4022)
The pmaports package will follow lts releases from now on.
Intermediate versions will be tagged in the
gitlab.com/exynos5-mainline/linux repo.

Also enable CONFIG_LRU_GEN while we are at it (but not
CONFIG_LRU_GEN_ENABLED for now).
[ci:skip-build]: already built successfully in CI
2023-04-23 15:23:59 +02:00
M0Rf30 20983e2b50 xiaomi-vince: use msm8953 prefix for dtb filename and remove mainline subpackage (MR 4023) 2023-04-22 20:47:03 +02:00
M0Rf30 6d8dbf777f xiaomi-tissot: use msm8953 prefix for dtb filename (MR 4023) 2023-04-22 20:47:02 +02:00
M0Rf30 69a148491c xiaomi-mido: use msm8953 prefix for dtb filename (MR 4023) 2023-04-22 20:47:02 +02:00
M0Rf30 65578e8149 xiaomi-daisy: use msm8953 prefix for dtb filename (MR 4023) 2023-04-22 20:47:01 +02:00
M0Rf30 4ab4c6f8f7 motorola-potter: use msm8953 prefix for dtb filename (MR 4023) 2023-04-22 20:47:00 +02:00
Henrik Grimler ee22fd5eac linux-postmarketos-exynos4: upgrade to version 6.3-rc7 (MR 4018)
And use gitlab.com/exynos4-mainline/linux as source so that we no
longer have to carry all the patches in pmaports.

[ci:skip-build]: Already built successfully in CI
2023-04-22 09:02:12 +02:00
Pangwalla d5fa93bd01 linux-postmarketos-qcom-sm8250: upgrade to 6.3.0_rc6 (MR 4002)
Add modules for instantnoodlep NFC, touchscreen, and MHI related to modem, which is a
work in progress

[ci:skip-build] already built successfully in CI
2023-04-21 09:33:29 +02:00
Pangwalla db7766d24e device-oneplus-instantnoodlep: add sm8250 mainline kernel (MR 4002) 2023-04-21 09:33:24 +02:00
Clayton Craft f8d91ebdfd temp/dhcpcd: remove (MR 4015)
I don't see any packages in pmaports that actually depend on dhcpcd, and
it hasn't been updated in 3 years...  (upstream is at version 10.0.0
now...)

NOTE by ollieparanoid: networkmanager in Alpine used dhcpcd before, so
it was part of our default network stack. But that isn't the case
anymore since 2020:
https://gitlab.alpinelinux.org/alpine/aports/-/commit/db03cedea9469e93f6ede531d92246ddc3c93e4e
2023-04-19 09:52:23 +02:00
Oliver Smith ccb594c646 cross/musl-*: upgrade to 1.2.3_git20230411 2023-04-18 19:55:58 +02:00
Oliver Smith 102e0a57f1 main/mobile-config-firefox: upgrade to 4.0.1 (MR 4017)
[ci:skip-build]: already built successfully in CI
2023-04-18 09:24:38 +02:00
Henrik Grimler 0d2757b3a4 linux-postmarketos-exynos4: split panel patch (MR 4011)
As stated in the MRs that added the patch, the ea8061 and s6evr02
panel drivers are originally from work by Simon Shields (fourkbomb).
Let's base our patches on the original commits to preserve authorship,
and note which modifications have been done, and by who.  This is a
step towards making these patches ready for submission to upstream.

[ci:skip-build]: Already built successfully in CI
2023-04-17 14:10:51 +02:00
Alistair Francis 484f587c1f purism-librem5: upgrade to librem5-base 59 (MR 4016)
Update to the librem5-base release 59 and include a fix for the modem
stability issues from:
https://source.puri.sm/Librem5/librem5-base/-/merge_requests/358.

Signed-off-by: Alistair Francis <alistair@alistair23.me>
2023-04-17 11:04:19 +02:00
Caleb Connolly 3f698640f1 device/community/sdm845: disable serial console (MR 3886)
The UART console makes the boot process a whole lot slower due to printk
being synchronous. These devices are well enough supported that we can
disable UART logging by default to improve the boot speed. This
constitutes a ~30 second speedup on the SHIFT6mq at 115200 baud.
2023-04-15 20:26:22 +01:00
Henrik Grimler a5de8ae21b samsung-klimtlte: set getty (MR 4013)
So that we can get a shell over uart.

[ci:skip-build]: already built successfully in CI
2023-04-14 09:33:14 +02:00
Henrik Grimler 4fa38dd8a8 samsung-chagallwifi: set getty (MR 4013)
So that we can get a shell over uart.
2023-04-14 09:33:14 +02:00
Henrik Grimler 02a4b7cd48 samsung-m0: set getty (MR 4013)
So that we can get a shell over uart.
2023-04-14 09:33:09 +02:00
Ferass El Hafidi 8c9b594cd3 linux-postmarketos-amlogic: upgrade to 6.2.9 (MR 3987)
Also update the patches with new, rebased ones straight from
the linux-amlogic mailing list, and rename them.

Signed-off-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>

[ci:skip-build] already built successfully in CI
2023-04-13 23:25:36 -07:00
Bart Ribbers 15cca9eebf raspberry-pi4: add Plasma Bigscreen configuration (MR 3994)
Plasma Bigscreen requires specific configuration on the RPi4 to tell it
to load some device-specific stuff. In this case to disable 4K mode as
the device can not handle it

[ci:skip-build] already built successfully in CI
2023-04-13 23:23:47 -07:00
Pablo Correa Gómez a91fcca8d4 README: add mention to COMMITSTYLE (MR 4010)
[ci:skip-build] already built successfully in CI
2023-04-13 23:22:01 -07:00
Clayton Craft ef69eb7bdb cross/musl-*: upgrade to 1.2.3_git20230322-r3 2023-04-13 23:16:53 -07:00
Clayton Craft c3b0ea0021 cross/busybox-static-*: upgrade to 1.36.0-r7 2023-04-13 23:15:46 -07:00
Clayton Craft a6722a5116 cross/binutils-*: upgrade to 2.40-r5 2023-04-13 23:14:09 -07:00
Luca Weiss 41afe17856 cross/grub-efi-x86: upgrade to 2.06-r11 (MR 4012)
[ci:skip-build]: Already built successfully in CI
2023-04-13 15:36:57 +02:00
Luca Weiss d605627e1a cross/binutils-*: upgrade to 2.40-r4 (MR 4012) 2023-04-13 15:36:57 +02:00
Luca Weiss 7784f0326a cross/gcc-*: upgrade to 12.2.1_git20220924-r10 (MR 4012) 2023-04-13 15:36:56 +02:00
Luca Weiss 99553042ad main/postmarketos-base-ui: configure openrc-settingsd for chronyd (MR 3953)
We need to tell openrc-settingsd which ntp service to use, otherwise
it'll default to busybox ntpd which we don't want.

Additionally make sure openrc-settingsd service gets launched at boot
with the post-install/post-upgrade script.
[ci:skip-build]: already built successfully in CI
2023-04-12 16:53:15 +02:00
Pablo Correa Gómez 048a18ad71 Add githooks from alpine (MR 4008)
Get the githooks from alpine, with the following changes:

* Make it possible to parse the additionally nested "device" folder
  with the exceptions mentioned in our COMMITSTYLE
* Ignore "device/*" as a possible prefix for the commit
* Replace abuild references with pmbootstrap

Relates #2055
[ci:skip-build]: already built successfully in CI
2023-04-12 16:42:45 +02:00
Dylan Van Assche 2327b6efdb main/postmarketos-bootsplash: allow skip shutdown splash (MR 3970)
deviceinfo allows to disable the framebuffer which automatically
skips the splash on boot. Honor this setting as well for the shutdown
splash. Also honor the PMOS_NOSPLASH cmdline parameter as well.

[ci:skip-build]: already built successfully in CI
2023-04-12 08:59:19 +02:00
Petr Vorel 73a8aec0cc linux-postmarketos-qcom-msm8994: upgrade to 6.3.0-rc5 (MR 3875)
Angler and Bullhead support is in early stage other msm899{2,4} does not
use the package yet => safe to use rc kernels to get closer to
qcom/for-next git tree.

Kernel 6.2 and 6.3 got few memory map fixes for angler and bullhead.

* Added 3 not yet merged patches for angler:
  - add regulators
  - memory overlap fixes
  - proper cont_splash_mem setup

* Removed 0004-arm64-dts-qcom-msm8992-Don-t-use-sfpb-mutex.patch
  (already applied and backported to 6.1 stable), thus renumber the
  following patch.

* config
  - Enable zram with lzo-rle, add pmb:kconfigcheck-zram (fixes warning:
    zramctl: /dev/zram0: failed to set algorithm: Invalid argument)
  - Enable crc32, lz4hc, zstd.

Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
[ci:skip-build]: already built successfully in CI
2023-04-11 09:34:49 +02:00
Przemysław Romanik ea980f84f9 samsung-crownlte: fix 'ld: read-only segment has dynamic relocations' kernel build error (MR 4004)
[ci:skip-build]: already built successfully in CI
2023-04-11 09:23:12 +02:00
Oliver Smith 073e6edbac purism-librem5: add librem5-base ver to pkgdesc (MR 4005)
Make it easier to look up the librem5-base version that was used in the
device-purism-librem5 package, e.g. for writing service pack release
notes:

> Purism Librem 5 Phone (librem5-base: 58pureos1)

[ci:skip-build]: already built successfully in CI
2023-04-11 09:19:05 +02:00
Oliver Smith e97f29c725 CI: .ecrc: remove version
The only thing we define in the config file is "SpacesAftertabs": true
besides the version. Apparently it works fine if the version is
removed, and it avoids an error if the version changed (as it just did
now):

> Version from config file is not the same as the version of the binary
> Binary: 2.7.0, Config 2.6.0
2023-04-11 09:18:36 +02:00
Pangwalla 372287e23c oneplus-instantnoodlep: new device (MR 3993) 2023-04-08 01:05:29 +03:00
Oliver Smith f5d3a42f1d cross/busybox-static-*: upgrade to 1.36.0-r6 2023-04-07 11:20:22 +02:00
Oliver Smith 0f05f84507 main/mobile-config-firefox: upgrade to 4.0.0 (MR 4000)
[ci:skip-build]: already built successfully in CI
2023-04-07 10:57:56 +02:00
Seshan (seshpenguin) 387043b5ce linux-postmarketos-rockchip: enable kexec (MR 3999)
[ci:skip-build]: already built successfully in CI
2023-04-07 10:54:47 +02:00
Niko 707cf18e6a temp/gnome-shell-mobile: upgrade to 44_git20230405 (MR 3996)
[ci:skip-build] already built successfully in CI
2023-04-06 16:41:32 -07:00
Niko 7f2935bd2c temp/mutter-mobile: upgrade to 44_git20230405 (MR 3996) 2023-04-06 16:41:32 -07:00
Oliver Smith 1ac584d5db main/postmarketos-welcome: upgrade to 0.8.0 (MR 3997)
[ci:skip-build] already built successfully in CI
2023-04-06 16:39:35 -07:00
@exkc 3e09569982 sony-falconss: new device (MR 3995)
[ci:skip-build]: already built successfully in CI
2023-04-06 10:04:45 +02:00
Pablo Correa Gómez 72b944c1fc main/postmarketos-ui-phosh: add GS APK plugin to pmb_recommends (MR 3851)
We removed the "install_if" of the APK plugin on GS so that one could
use GNOME Software exclusively for flatpak

[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
2023-04-06 09:48:21 +02:00
Pablo Correa Gómez c1cc234088 main/postmarketos-ui-gnome-mobile: add GS APK plugin to pmb_recommends (MR 3851)
We removed the "install_if" of the APK plugin on GS so that one could
use GNOME Software exclusively for flatpak
2023-04-06 09:48:15 +02:00
Alistair Francis 8c13dd3d7a purism-librem5: upgrade to librem5-base 58 (MR 3989)
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
2023-04-05 16:22:45 -07:00
niko 82a813020b temp/gnome-shell-mobile: upgrade to 44_git20230403 (MR 3992)
[ci:skip-build]: already built successfully in CI
2023-04-05 09:27:11 +02:00
niko d19b34d59f temp/mutter-mobile: upgrade to 44_git20230403 (MR 3992) 2023-04-05 09:26:58 +02:00
Jan Jasper de Kroon 507f1149ee linux-pine64-pinephonepro: upgrade to 6.2.7 (MR 3967)
Signed-off-by: Jan Jasper de Kroon <jajadekroon@gmail.com>

[ci:skip-build]: already built successfully in CI
2023-04-03 08:28:55 +02:00
Newbyte 239aa4da8f CI: Support not having "pmbootstrap" in $PATH (MR 3977)
Not everyone's setup includes "pmbootstrap" as a command in $PATH.
Currently, in such setups, $ pmbootstrap ci kconfig (and potentially
other testcases) in the pmaports repository do not work as they expect
the "pmbootstrap" command to exist. Resolve this by checking whether
PMBOOTSTRAP_CMD is set and use that as command for invoking pmbootstrap.
If it isn't set (because you're using an old pmbootstrap version or
invoking a script directly for some reason), fall back to the old
behaviour as to not break compatibility.

Depends on pmbootstrap patch that sets PMBOOTSTRAP_CMD to argv[0]:
https://lists.sr.ht/~postmarketos/pmbootstrap-devel/patches/39995
2023-04-02 15:04:13 +02:00
Tom Fitzhenry 9b4b663a38 pine64-pinephonepro: fix dev_internal_storage (MR 3978)
Change /dev/mmcblk0 to /dev/mmcblk2. Motivation: Fix ondev SD->eMMC
installation.

Related: https://gitlab.com/postmarketOS/postmarketos-ondev/-/issues/61
2023-04-02 13:46:16 +02:00
Raymond Hackley 2baa079111 main/postmarketos-base: replace /etc/sudoers from sudo-ldap (MR 3972)
sudo-ldap is providing cmd:sudo/sudo-virt.
Replace files from sudo-ldap to solve conflict about /etc/sudoers

Fixes #2032
[ci:skip-build]: already built successfully in CI
2023-04-02 12:34:14 +02:00
@exkc fe07d7f9f4 amediatech-x96-mini: new device (MR 3985)
[ci:skip-build]: already built successfully in CI
2023-04-02 12:22:16 +02:00
@exkc c34344108f linux-postmarketos-amlogic: add support for amediatech-x96-mini (MR 3985) 2023-04-02 12:22:11 +02:00
Alistair Francis dfbf4f1c82 linux-purism-librem5: upgrade to 6.2.8 (MR 3986)
Signed-off-by: Alistair Francis <alistair@alistair23.me>

[ci:skip-build]: already built successfully in CI
2023-04-02 12:05:34 +02:00
Julian Winkler ed966495d5 motorola-smi: update kernel to 6.2 and boot with petitboot and devietree (MR 3974)
[ci:skip-build]: already built successfully in CI
2023-04-02 11:58:20 +02:00
Luca Weiss 6afbb6fcd5 Add default issue template (MR 3980)
Previously this was set in the project settings, but according to the
GitLab documentation this can now be set using this file since GitLab
version 14.8. Keep it here to make sure it's version controlled as well.
2023-03-31 18:51:04 +02:00
Willow Barraco c1c1fc4ed0 main/postmarketos-ui-sxmo-de-sway: upgrade to 1.14.0 (MR 3982) 2023-03-30 12:00:16 +02:00
Willow Barraco f6426febc1 main/postmarketos-ui-sxmo-de-dwm: upgrade to 1.14.0 (MR 3982) 2023-03-30 12:00:16 +02:00
Willow Barraco 610acd9fb5 main/sxmo-common: upgrade to 1.14.0 (MR 3982) 2023-03-30 12:00:09 +02:00
@exkc 65e2150e2d treewide: remove a.patch (MR 3983)
See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/3955#note_1333984810
2023-03-30 11:11:38 +02:00
Lorenz Wildberg e5ba7447cf gnome-shell-mobile: update to 43.1_git20210203 (MR 3840) 2023-03-29 22:22:36 +02:00
Lorenz Wildberg 8665e8ec1d mutter-mobile: update to 43.1_git20210203 (MR 3840) 2023-03-29 22:22:36 +02:00
exkc bcd0b35ae0 xiaomi-once: new device (MR 3955) 2023-03-29 19:03:43 +02:00
exkc 611ead9cf1 u-boot-amlogic-s905x-tv: new aport (MR 3955) 2023-03-29 19:03:42 +02:00
@exkc 287e7c4521 soc-amlogic-s905: enable ext2/ext4 support for the boot partition (MR 3955) 2023-03-29 19:03:42 +02:00
@exkc 1bcaffb0fe soc-amlogic-s905: enable booting to a USB drive (MR 3955) 2023-03-29 19:03:41 +02:00
@exkc a55d3991d5 soc-amlogic-s905: package aml_autoscript (MR 3955) 2023-03-29 19:03:40 +02:00
Jianhua Lu d59283cbf6 xiaomi-elish: add misc dependencies (MR 3981)
[ci:skip-build]: Already built successfully in CI
2023-03-28 15:52:54 +02:00
Jianhua Lu ab91dccefa xiaomi-elish: support BOE and CSOT panels (MR 3981) 2023-03-28 15:52:54 +02:00
Jianhua Lu f62d882462 linux-postmarketos-qcom-sm8250: updrade to 6.3.0_rc4 (MR 3981) 2023-03-28 15:52:53 +02:00
Willow Barraco 7517c6cfad linux-postmarketos-allwinner: enable FSCACHE and NFS caching (MR 3979)
See https://gitlab.com/postmarketOS/pmaports/-/issues/2034

[ci:skip-build]: Already built successfully in CI
2023-03-27 17:43:22 +02:00
Oliver Smith 7c8d8f7752 cross/grub-efi-x86: upgrade to 2.06-r10 2023-03-27 08:41:56 +02:00
Oliver Smith 8cd80e0733 linux-postmarketos-allwinner: unset ANDROID_BINDER_IPC_SELFTEST (MR 3975)
Fix long waydroid initialization time.

[ci:skip-build]: already built successfully in CI
2023-03-24 09:46:16 +01:00
Ferass El Hafidi 3194ca834a CODEOWNERS: add myself and @exkc for the linux-postmarketos-amlogic package (MR 3973)
Signed-off-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>
2023-03-23 11:49:10 +00:00
Furkan Sonkaya 3a6d9e5aa5 linux-postmarketos-qcom-msm8996: Re-Add TUSB320 and TYPEC flags (MR 3969)
Must've been removed accidentally. It's causing usb port not to work.

[ci:skip-build]: already built successfully in CI
2023-03-23 08:19:21 +01:00
Alistair Francis f34a55dcbc librem5-agps: Add GUI support (MR 3968)
Add GUI support to librem5-agps

Signed-off-by: Alistair Francis <alistair@alistair23.me>
[ci:skip-build]: already built successfully in CI
2023-03-23 08:03:30 +01:00
Oliver Smith cfb582cba0 CI: kconfig: don't print unrelated warnings (MR 3961)
Run the "pmbootstrap kconfig check" only on the kernels that have been
modified.

[ci:skip-build] already built successfully in CI
2023-03-22 09:40:39 -07:00
Raymond Hackley 1fc99009af main/lk2nd: armv7 only on msm8226 and msm8974 (MR 3936)
msm8226 and msm8974 are both arm32 SoCs.
Set the architecture to armv7 only.

Fixes #1900
[ci:skip-build]: already built successfully in CI
2023-03-22 09:41:38 +01:00
Raymond Hackley ddce692f08 main/lk2nd: upgrade to 0.14.0 (MR 3936) 2023-03-22 09:41:33 +01:00
Anton Bambura 3be5d7e2e3 linux-postmarketos-amlogic: enable kconfigcheck-community (MR 3971)
Also enable various configs for peripherals that can be connected
with USB and/or Bluetooth

[ci:skip-build]: already built successfully in CI
2023-03-21 22:30:37 +02:00
Newbyte f2993c3ad8 COMMITSTYLE: introduce (MR 3908) 2023-03-21 08:32:10 +01:00
Oliver Smith 3ec22cb65e CI: run shellcheck against CI scripts (MR 3960)
Fix that CI scripts weren't actually getting checked.
2023-03-20 09:30:55 +01:00
Oliver Smith eb37732514 CI: adjust scripts to pass shellcheck (MR 3960) 2023-03-20 09:30:55 +01:00
Miles Alan 654d1a4ed7 main/postmarketos-ui-i3wm: use dmenu-virtual and st-virtual (MR 3966)
[ci:skip-build] already built successfully in CI
2023-03-19 15:57:04 -07:00
Clayton Craft 977d4b9d58 linux-postmarketos-rockchip: update waydroid opts (MR 3901)
[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)
2023-03-19 15:52:44 -07:00
Oliver Smith d7ccebce2a linux-postmarketos-qcom-sm6350: update waydroid opts (MR 3901) 2023-03-19 15:52:44 -07:00
Oliver Smith 647c4233a3 linux-postmarketos-qcom-msm8996: update waydroid opts (MR 3901) 2023-03-19 15:52:44 -07:00
Oliver Smith cac809dc31 linux-postmarketos-omap: update waydroid opts (MR 3901) 2023-03-19 15:52:44 -07:00
Oliver Smith d5ed9e0350 linux-postmarketos-exynos4: update waydroid opts (MR 3901) 2023-03-19 15:52:43 -07:00
Oliver Smith ac3ad6047d linux-postmarketos-allwinner: update waydroid opts (MR 3901)
Enable options required for the Android 11 image inside waydroid:

* CONFIG_BPF_SYSCALL
* CONFIG_CGROUP_BPF
* CONFIG_PSI (already set for this kernel)
* not CONFIG_PSI_DEFAULT_DISABLED (already set for this kernel)

The same will be done for all devices in main and community in the
following patches. Also add V=1 for all kernels I'm modifying that are
below 6.2 (see issue 1990).
2023-03-19 15:52:43 -07:00
Jan Jasper de Kroon b743274522 device/main/linux-postmarketos-allwinner: upgrade to 6.2.7 (MR 3962)
Kernel configuration addition:
Just like on the PinePhone Pro I 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.

Signed-off-by: Jan Jasper de Kroon <jajadekroon@gmail.com>

[ci:skip-build] already built successfully in CI
2023-03-19 15:36:48 -07:00
Sicelo A. Mhlongo d19b6cf31b linux-nokia-n900: remove (MR 3964)
linux-postmarketos-omap now supports the Nokia N900 and its OMAP3430 SoC, so
drop this device-specific fork

[ci:skip-build] already built successfully in CI
2023-03-19 15:24:36 -07:00
Sicelo A. Mhlongo 8f8a85412f device-nokia-n900: use shared omap kernel (MR 3964) 2023-03-19 15:24:36 -07:00
Alistair Francis 619bf897d4 linux-purism-librem5: upgrade to 6.2.6 (MR 3957)
Signed-off-by: Alistair Francis <alistair@alistair23.me>

[ci:skip-build] already built successfully in CI
2023-03-19 15:11:58 -07:00
Alistair Francis adf423de58 linux-purism-librem5: upgrade to 6.2.2 (MR 3957)
Signed-off-by: Alistair Francis <alistair@alistair23.me>
2023-03-19 15:11:58 -07:00
Martin Hrůza 34307bd907 sony-coconut: Switch from armhf to armv7 and enable in-kernel netboot support (MR 3965)
Switch from armhf to armv7
- Apart of the usual stuff CONFIG_CRYPTO_AES_ARM_BS must be disabled
  otherwise it breakes kernel compilation with some weird assembler error

Netboot
- CONFIG_BLK_DEV_NBD=y enables /dev/nbd support
- nbd.max_part=16 kernel parameter must be added otherwise it's zero
  which causes that kpartx cannot create partitions

[ci:skip-build]: Already built successfully in CI
2023-03-19 22:15:26 +01:00
Caleb Connolly aa6c7f1fd6 main/pbsplash: upgrade to 0.3.1 (MR 3930) 2023-03-18 23:45:32 +00:00
Caleb Connolly e74ac08673 main/postmarketos-initramfs: fix splash newline (MR 3930)
POSIX sh dictates that newlines in strings are, newlines, so use printf
to format the splash strings and replace the "\\n" with an actual
newline.
2023-03-18 23:45:32 +00:00
Alistair Francis f9bf75ab83 main/librem5-agps: new aport (MR 3927)
Initial commit of the librem5-agps scripts from Purism. These are used
to manage the Librem5 GNSS and download AGPS data.

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

[ci:skip-build] already built successfully in CI
2023-03-17 13:54:18 -07:00
Adrian Chelaru ea72fe05b2 samsung-goyawifi: load vivante kernel graphic module (MR 3912)
[ci:skip-build]: Already built successfully in CI
2023-03-16 23:16:39 +01:00
Adrian Chelaru 6bddc23ddb samsung-goyawifi: disable console blanking (MR 3912)
As fbkeyboard goes blank and no input turn the screen back on.
2023-03-16 23:16:33 +01:00
Adrian Chelaru 7a279b98bc samsung-goyawifi: fix bluetooth module load and Wi-Fi dhcp if name (MR 3912) 2023-03-16 23:16:33 +01:00
Adrian Chelaru 69bc23f24d samsung-goyawifi: fix Wi-Fi calibration and initial Bluetooth module load (MR 3912) 2023-03-16 23:16:32 +01:00
Adrian Chelaru da2aa4fa0b samsung-goyawifi: Fix CMA cmdline and bluetooth module - kconfig (MR 3912) 2023-03-16 23:16:32 +01:00
Adrian Chelaru 7a4b53d2af samsung-goyawifi: fix ALSA audio and pulseaudio compatibility (MR 3912) 2023-03-16 23:16:32 +01:00
Sicelo A. Mhlongo 615d6f0ebe linux-postmarketos-omap: support nokia n900 (MR 3956)
- enable OMAP 3430 SoC features
- enable drivers for N900 peripherals

[ci:skip-build]: Already built successfully in CI
2023-03-16 23:11:46 +01:00
Ferass El Hafidi 32f7b8dedd linux-postmarketos-amlogic: add support for the NEC IR decoder (MR 3958)
Also enable support for LIRC and /dev/uinput.

Signed-off-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>

[ci:skip-build]: Already built successfully in CI
2023-03-16 16:46:51 +01:00
Caleb Connolly 5ce568cd79 mrhlpr.json: accept all generic package commits (MR 3131) 2023-03-15 21:37:37 +00:00
Oliver Smith 53dc6123ef cross/busybox-static-*: upgrade to 1.36.0-r5 2023-03-15 09:33:52 +01:00
Richard Acayan 6824414c1e testing/linux-postmarketos-qcom-sdm670: upgrade to 6.2.6 (MR 3954)
The V=1 flag can be dropped now that this is on 6.2. See #1990.

[ci:skip-build]: already built successfully in CI
2023-03-14 19:20:55 -04:00
Clayton Craft 886c0ab575 main/devicepkg-dev: don't try to install legacy splash images (MR 3951)
These are no longer used, and shouldn't exist.

[ci:skip-build]: already built successfully in CI
2023-03-13 23:09:42 -07:00
Luca Weiss 6460e7c967 main/devicepkg-dev: add hardware vendor & model into machine-info (MR 3950)
Soon openrc-settingsd (hostnamed) will uses these properties so the
information can be exposed to apps like GNOME Settings.

Let's also move the shellcheck comment to the outer scope, otherwise
we'd need four of these comments now, and let's not use ${} but just $.
2023-03-14 04:44:51 +00:00
Dylan Van Assche 6b935f02fa community/linux-postmarketos-qcom-sdm845: disable Tux logos (MR 3884)
Tux logos on boot interfere with splash screens, disable them
to have a nicer splash screen.

[ci:skip-build] already built successfully in CI
2023-03-13 16:06:58 -07:00
Dylan Van Assche 41e81fe4f0 main/postmarketos-bootsplash: launch splash on shutdown (MR 3884)
Instead of a blank screen with a tty login prompt, show a proper
shutdown screen during poweroff or reboot.
2023-03-13 16:06:55 -07:00
Clayton Craft f403330733 main/postmarketos-mkinitfs: upgrade to 2.1.1 (MR 3949)
Bugfix release, nothing major though. Full changelog:

https://gitlab.com/postmarketOS/postmarketos-mkinitfs/-/tags/2.1.1

Note: git was dropped as a makedepends because it's not actually
needed... I forgot that I could just set VERSION at build time. Oops.

[ci:skip-build] already built successfully in CI
2023-03-13 16:01:59 -07:00
Yassine Oudjana e8519a8a91 community/linux-postmarketos-qcom-msm8996: upgrade to 6.1.14 (MR 3910)
[ci:skip-build]: already built successfully in CI
2023-03-13 22:32:50 +01:00
Oliver Smith d0ce50f7d1 treewide: remove inactive maintainers (MR 3820)
Remove maintainers who could not be reached to test v22.12. Add exkc as
maintainer for firmware-pine64-rockpro64 as discussed in review of this
patch.

[ci:skip-build]: already built successfully in CI
2023-03-13 07:31:01 +01:00
@exkc 505598c09e beelink-gt1: new device (MR 3924)
[ci:skip-build]: already built successfully in CI
2023-03-12 22:15:18 +01:00
Sergey Lisov 22a8c4a06a samsung-a6lte: WIP mainline support (MR 3925)
Currently display (simplefb), touchscreen, eMMC & SD card are working.

[ci:skip-build]: already built successfully in CI
2023-03-12 22:08:34 +01:00
Clayton Craft 82c02ea325 main/postmarketos-initramfs: support initramfs-extra as gzip (MR 3948)
This is a revert of the change introduced in 4eda0715 to support an
uncompressed initramfs-extra. osk-sdl support results in an initramfs-extra
that is too big for some devices with a small (traditional) /boot partition

Also see: https://gitlab.com/postmarketOS/pmaports/-/issues/2009

[ci:skip-build]: Already built successfully in CI
2023-03-12 19:36:49 +01:00
Clayton Craft 901d932dba main/postmarketos-mkinitfs: upgrade to 2.1 (MR 3948)
Full changelog: https://gitlab.com/postmarketOS/postmarketos-mkinitfs/-/tags/2.1

The make dependency on "git" is because the makefile derives the app
version from git tag info.

Fixes https://gitlab.com/postmarketOS/postmarketos-mkinitfs/-/issues/22
2023-03-12 19:36:38 +01:00
Luca Weiss d68c069836 testing/linux-postmarketos-qcom-msm8974: upgrade to 6.2.1 (MR 3923)
[ci:skip-build]: Already built successfully in CI
2023-03-10 21:04:21 +01:00
Sicelo A. Mhlongo ab8767a08f linux-postmarketos-omap: upgrade to 6.2.1 (MR 3911)
- 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
2023-03-10 20:15:04 +01:00
Newbyte 8e77cdd287 alsa-ucm-conf-samsung-sm7125: move from temp (MR 3938)
This is device-specific, so let's move it.

[ci:skip-vercheck]: Doesn't change the resulting package
[ci:skip-build]: already built successfully in CI
2023-03-10 09:26:20 +01:00
Newbyte d3c63de938 alsa-ucm-conf-google-kukui: move from temp (MR 3938)
This is device-specific, so let's move it.
2023-03-10 09:26:08 +01:00
Newbyte 08e4a87e58 alsa-ucm-conf-google-kukui: move from temp (MR 3938)
This is device-specific, so let's move it.
2023-03-10 09:26:08 +01:00
Luca Weiss 210d1e77bf sony-sirius: remove xf86-video-modesetting dependency (MR 3942)
The modesetting driver previously provided by xf86-video-modesetting is
now shipped with xorg-server.

[ci:skip-build]: already built successfully in CI
2023-03-10 09:14:55 +01:00
Luca Weiss 18c5e19f10 tablet-x86uefi: remove x11 subpackage (MR 3942)
The modesetting driver previously provided by xf86-video-modesetting is
now shipped with xorg-server.
2023-03-10 09:14:46 +01:00
Ferass El Hafidi 4889611423 CODEOWNERS: add myself for packages I maintain (MR 3833)
Signed-off-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>
[ci:skip-build]: already built successfully in CI
2023-03-10 09:03:31 +01:00
Ferass El Hafidi b05904dc22 videostrong-kii-pro: new device (MR 3833)
Signed-off-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>
2023-03-10 09:03:24 +01:00
Ferass El Hafidi bfa85b0c4d soc-amlogic-s905: new aport (MR 3833)
Signed-off-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>
2023-03-10 09:03:23 +01:00
Ferass El Hafidi 964b1268f7 u-boot-amlogic-s905-tv: new aport (MR 3833)
Also add a GCC12 patch for versions <2020.xx to device/.shared-patches/u-boot

Signed-off-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>
2023-03-10 09:03:23 +01:00
Ferass El Hafidi 5adb3352e9 linux-postmarketos-amlogic: new aport (MR 3833)
Signed-off-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>
2023-03-10 09:03:18 +01:00
Luca Weiss b0182951a3 samsung-on7: fix firmware dependency name (MR 3943)
From what I can tell, the package firmware-samsung-on7-wcnss-nv should
have been put as dependency since the on7lte package doesn't exist, and
I can't seem to find a trace of it.

[ci:skip-build] already successfully built in CI
2023-03-09 22:29:05 +01:00
Luca Weiss f41739e2d1 temp/gnome-shell-mobile: rebuild against gcr4 (MR 3944)
Previous so:libgcr-4.so.0.0.0 cannot be found anymore.

[ci:skip-build] already built successfully in CI
2023-03-09 22:25:57 +01:00
Petr Hodina 29170afc03 hello-world-rust: Remove quotes around pkgver (MR 3874)
[ci:skip-vercheck]
[ci:skip-build] already successfully built in CI
2023-03-09 17:57:04 +01:00
Petr Hodina ddf128f480 u-boot-starqltechn: Prefix ubootver variable with underscore (MR 3874) 2023-03-09 17:57:01 +01:00
Petr Hodina 46d06756ee linux-sony-nicki-mainline: Rewrite build and fix lint warnings. (MR 3874) 2023-03-09 17:56:58 +01:00
Petr Hodina eaf1313d4d linux-google-crosshatch-mainline: Rewrite build and fix lint warnings. (MR 3874) 2023-03-09 17:56:55 +01:00
Clayton Craft eed476097e postmarketos-base: depend on postmarketos-initramfs (MR 3895)
Changes the dependency from pmos-mkinitfs to pmos-initramfs, so now the
dependency chain for boot config packages is:

    base -> postmarketos-initramfs -> postmarketos-mkinitfs -> boot-deploy

Sorting dependencies this way makes sense because "base" just needs an
initramfs, it doesn't care about the implementation (that currently uses
"postmarketos-mkinitfs.")

[ci:ignore-count]
[ci:skip-build] already successfully built in CI
2023-03-09 17:42:36 +01:00
Clayton Craft 4eda07153a postmarketos-mkinitfs: upgrade to 2.0 (MR 3895)
- Move base files/modules out of package, this package now only provides
  the mkinitfs tool.

- Add all required modules, these were copied over from
  postmarketos-mkinitfs and sorted

- Use new exe name in trigger

- Update triggers to ignore /etc, add /usr/share/mkinitfs. No packages
  should be installing into /etc/mkinitfs/

- Support building/installing docs

- Add vendored deps

- Change trigger path
2023-03-08 21:35:04 -08:00
Clayton Craft 536264bac0 main/postmarketos-initramfs: new aport (MR 3895)
This package contains base file and module lists for the initramfs /
initramfs-extra archives, along with the init.sh

The primary reason for doing this is so that changes to these
files/lists can be properly versioned (in pkgver), and (re)building
mkinitfs itself is no longer required for these changes.

- Add base file list for initramfs. The dirs at path
  /usr/share/postmarketos-mkinitfs/* are "new" in mkinitfs 2.0

- Install default modules to /usr/share

- Install system config to /usr/share/mkinifs

- Add base files for -extra archive

- Create user config dirs

- Update hook dirs in init.sh, change from mkinitfs 2.0

- Remove splash images, obsolete since pbsplash

- Support uncompressed initramfs-extra
2023-03-08 21:34:37 -08:00
Clayton CraftandOliver Smith 5a01a67634 ci: grep for old mkinitfs paths (MR 3895)
Co-authored-by: Oliver Smith <ollieparanoid@postmarketos.org>
2023-03-08 21:30:30 -08:00
Clayton Craft 7d0d8aa2d9 soc-qcom-sm7125: support new mkintifs paths (MR 3895) 2023-03-08 21:30:30 -08:00
Clayton Craft 3b3a63c0d7 postmarketos-mkinitfs-hook-verbose-initfs: support new mkintifs paths (MR 3895) 2023-03-08 21:30:30 -08:00
Clayton Craft 55fe24f69d postmarketos-mkinitfs-hook-netboot: support new mkintifs paths (MR 3895) 2023-03-08 21:30:30 -08:00
Clayton Craft d4d53f8b65 postmarketos-mkinitfs-hook-maximum-attention: support new mkintifs paths (MR 3895) 2023-03-08 21:30:29 -08:00
Clayton Craft 5a5d290ebd postmarketos-mkintifs-hook-kernel-panic: support new mkintifs paths (MR 3895) 2023-03-08 21:30:29 -08:00
Clayton Craft 6778e7b10b postmarketos-mkinitfs-hook-debug-shell: support new mkintifs paths (MR 3895) 2023-03-08 21:30:29 -08:00
Clayton Craft 576303db06 postmarketos-mkinitfs-hook-console-shell: support new mkintifs paths (MR 3895) 2023-03-08 21:30:29 -08:00
Clayton Craft 68775d878f postmarketos-bootsplash: support new mkintifs paths (MR 3895) 2023-03-08 21:30:29 -08:00
Clayton Craft c371a97c62 main/unl0kr: support new mkintifs paths (MR 3895) 2023-03-08 21:30:28 -08:00
Clayton Craft f27b009cba main/osk-sdl: support new mkintifs paths (MR 3895) 2023-03-08 21:30:28 -08:00
Clayton Craft b74130a6ff main/pbsplash: support new mkintifs paths (MR 3895) 2023-03-08 21:30:28 -08:00
Clayton Craft 0dd2a38bd5 main/msm-fb-refresher: support new mkintifs paths (MR 3895) 2023-03-08 21:30:28 -08:00
Clayton Craft bbf17eb84d main/boot-deploy: support new mkintifs paths (MR 3895) 2023-03-08 21:30:28 -08:00
Clayton Craft 4818869d28 make-dynpart-mappings: support new mkintifs paths (MR 3895) 2023-03-08 21:30:28 -08:00
Clayton Craft ac6bfcee86 kobo-epdc-extractor: support new mkintifs paths (MR 3895) 2023-03-08 21:30:27 -08:00
Clayton Craft f3dfe67a4d firmware-xiaomi-tulip: support new mkintifs paths (MR 3895) 2023-03-08 21:30:27 -08:00
Clayton Craft 76f05f28cb firmware-xiaomi-tissot: support new mkintifs paths (MR 3895) 2023-03-08 21:30:27 -08:00
Clayton Craft 073e261360 firmware-xiaomi-sagit: support new mkintifs paths (MR 3895) 2023-03-08 21:30:27 -08:00
Clayton Craft 6b22647688 firmware-xiaomi-polaris: support new mkintifs paths (MR 3895) 2023-03-08 21:30:27 -08:00
Clayton Craft 2999cda28d firmware-shift-sdm845: support new mkintifs paths (MR 3895) 2023-03-08 21:30:26 -08:00
Clayton Craft 4b6850aa85 firmware-samsung-w767: support new mkintifs paths (MR 3895) 2023-03-08 21:30:26 -08:00
Clayton Craft e049931066 firmware-pine64-pinenote: support new mkintifs paths (MR 3895) 2023-03-08 21:30:26 -08:00
Clayton Craft f89acb3857 firmware-oneplus-sdm845: support new mkintifs paths (MR 3895) 2023-03-08 21:30:26 -08:00
Clayton Craft b0ba6f346c firmware-oneplus-oneplus3t: support new mkintifs paths (MR 3895) 2023-03-08 21:30:26 -08:00
Clayton Craft 451c2dcbd8 firmware-oneplus-oneplus3: support new mkintifs paths (MR 3895) 2023-03-08 21:30:25 -08:00
Clayton Craft 1c406191fb firmware-oneplus-msm8998: support new mkintifs paths (MR 3895) 2023-03-08 21:30:25 -08:00
Clayton Craft e6fa3e49c5 firmware-lenovo-yoga-5g: support new mkintifs paths (MR 3895) 2023-03-08 21:30:25 -08:00
Clayton Craft 86b8ea9d90 firmware-asus-x00td: support new mkintifs paths (MR 3895) 2023-03-08 21:30:25 -08:00
Clayton Craft d0f72c92fa devicepkg-dev: support new mkintifs paths (MR 3895) 2023-03-08 21:30:25 -08:00
Clayton Craft 7457df1b80 device-xiaomi-vince: support new mkintifs paths (MR 3895) 2023-03-08 21:30:24 -08:00
Clayton Craft d75abb96ab device-xiaomi-scorpio: support new mkintifs paths (MR 3895) 2023-03-08 21:30:24 -08:00
Clayton Craft 8c309692a6 device-xiaomi-natrium: support new mkintifs paths (MR 3895) 2023-03-08 21:30:24 -08:00
Clayton Craft 6b0267e639 device-xiaomi-daisy: support new mkintifs paths (MR 3895) 2023-03-08 21:30:24 -08:00
Clayton Craft 84ba3891bb device-sony-taoshan: support new mkintifs paths (MR 3895) 2023-03-08 21:30:24 -08:00
Clayton Craft 40ce35bb4b device-samsung-j8y18lte: support new mkintifs paths (MR 3895) 2023-03-08 21:30:23 -08:00
Clayton Craft 8d0e705c2f device-samsung-golden: support new mkintifs paths (MR 3895) 2023-03-08 21:30:23 -08:00
Clayton Craft b951132dbf device-samsung-a6plte: support new mkintifs paths (MR 3895) 2023-03-08 21:30:23 -08:00
Clayton Craft 1adb2da6d7 device-planet-geminipda: support new mkintifs paths (MR 3895) 2023-03-08 21:30:23 -08:00
Clayton Craft 4c22e1c6ad device-nokia-sparkler: support new mkintifs paths (MR 3895) 2023-03-08 21:30:23 -08:00
Clayton Craft ee2f4db541 device-nokia-n900: support new mkintifs paths (MR 3895) 2023-03-08 21:30:22 -08:00
Clayton Craft 6873b63803 device-nokia-n9: support new mkintifs paths (MR 3895) 2023-03-08 21:30:22 -08:00
Clayton Craft 49b553b19b device-nokia-leo: support new mkintifs paths (MR 3895) 2023-03-08 21:30:22 -08:00
Clayton Craft 6da1f4f646 device-nokia-argon: support new mkintifs paths (MR 3895) 2023-03-08 21:30:22 -08:00
Clayton Craft 76174f8ff0 device-motorola-maserati: support new mkintifs paths (MR 3895) 2023-03-08 21:30:22 -08:00
Clayton Craft 8b18e0e8d7 device-fairphone-fp2: support new mkintifs paths (MR 3895) 2023-03-08 21:30:21 -08:00
Clayton Craft 052d07bd97 device-google-nyan-blaze: support new mkintifs paths (MR 3895) 2023-03-08 21:30:21 -08:00
Clayton Craft 5417748f16 device-google-nyan-big: support new mkintifs paths (MR 3895) 2023-03-08 21:30:21 -08:00
Clayton Craft cf1939ad5e device-amazon-soho: support new mkintifs paths (MR 3895) 2023-03-08 21:30:21 -08:00
Jianhua Lu 4f29ea0f7b xiaomi-elish: add more device firmware and fix spi module name (MR 3933)
Include adsp, cdsp and slpi firmware and add the linux-firmware-qca
dependency for qca6390-bt.

Also correct the module name for spi-geni-qcom in deviceinfo.
2023-03-07 18:28:50 +01:00
Jianhua Lu 5f82ca96dc firmware-xiaomi-elish: add adsp, cdsp and slpi firmware (MR 3933) 2023-03-07 18:27:16 +01:00
Jianhua Lu f23904cb46 linux-postmarketos-qcom-sm8250: upgrade to 6.3.0_rc1 (MR 3933) 2023-03-07 18:27:16 +01:00
Raymond Hackley 6e2805898e main/postmarketos-config-nftables: use $subpkgdir in chromecast subpkg (MR 3937) 2023-03-07 16:41:32 +01:00
Luca Weiss 8fd9a765ab linux-postmarketos-qcom-sm6350: upgrade to 6.2.1 (MR 3919)
SoC/device-specific changes:
* Add OSM L3 Interconnect Provider for L3 cache scaling

Config changes:
* Enable INTERCONNECT_QCOM_OSM_L3
* Enable CPU_FREQ_GOV_POWERSAVE & CPU_FREQ_GOV_CONSERVATIVE

[ci:skip-build]: already built successfully in CI
2023-03-06 08:24:35 +01:00
Jan Jasper de Kroon 01c47c5f3a device/community/linux-pine64-pinephonepro: upgrade to 6.2.2 (MR 3928)
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
2023-03-06 08:12:13 +01:00
Oliver Smith 81956e2fd2 linux-postmarketos-mediatek-mt8183: add V=1 (MR 3929)
[ci:skip-build]: I've verified these build locally
[ci:skip-vercheck]: MR contains a cosmetic commit without pkgrel bump
2023-03-05 19:59:35 +01:00
Oliver Smith de730c2b56 linux-google-nyan: add V=1 (MR 3929) 2023-03-05 19:59:35 +01:00
Oliver Smith 3d84175a0f linux-postmarketos-exynos4: mention pma#1990 (cosmetic) (MR 3929)
Replace the large comment with a shorter one where the issue is getting
tracked.
2023-03-05 19:59:30 +01:00
Joel Selvaraj 58b014ae88 community/linux-postmarketos-qcom-sdm845: upgrade to 6.2.0 (MR 3922) 2023-03-05 18:33:27 +01:00
Petr Hodina 804b97dc20 pine64-pinenote: new device (MR 3778)
Co-developed-by: Caleb Connolly <caleb@connolly.tech>
[ci:skip-build]: already built successfully in CI
2023-03-05 15:43:34 +01:00
Caleb Connolly 712149558b main/postmarketos-base-eink: new aport (MR 3778)
Add a base package to provide some e-ink specific opinionated defaults.
2023-03-05 15:43:12 +01:00
Clayton Craft dabdd92e07 cross/grub-efi-x86: upgrade to 2.06-r9 2023-03-03 23:52:19 -08:00
Clayton Craft c61bb698b4 cross/binutils-*: upgrade to 2.40-r3 2023-03-03 23:51:13 -08:00
Newbyte 3fa300ecdb CI: fix dtb check detecting itself and improve message (MR 3801)
Previously, the grep command would detect the /usr/bin/share string
inside of the .ci/grep.sh file, so only check the device folder to
avoid this. Other folders shouldn't contain any kernels anyway.

[ci:skip-build]: Everything but linux-postmarketos-qcom-sm7150
built fine in CI, and linux-postmarketos-qcom-sm7150 built fine
locally. Building linux-postmarketos-qcom-sm7150 via the CI failed
because it took over 3 hours so the CI timed out.
2023-03-03 23:09:01 +01:00
Newbyte 14d50e1c06 CI: re-enable dtb path check (MR 3801) 2023-03-03 23:09:01 +01:00
Newbyte 5e2a8ecb3e linux-postmarketos-qcom-sm7150: install dtbs to /boot/dtbs (MR 3801) 2023-03-03 23:09:01 +01:00
Newbyte eb54bbc187 linux-postmarketos-mediatek-mt8183: install dtbs to /boot/dtbs (MR 3801) 2023-03-03 23:09:00 +01:00
Luca Weiss bb69fc6a95 linux-oneplus-billie2: install dtbs to /boot/dtbs (MR 3801) 2023-03-03 23:09:00 +01:00
Newbyte 958fe92914 linux-google-nyan: install dtbs to /boot/dtbs (MR 3801) 2023-03-03 23:03:58 +01:00
Luca Weiss 2b97b2267a fairphone-fp4: remove unnecessary sdhci quirks from cmdline
The fix [0] has already been present in the kernel used in pmaports, so
remove it which should improve SD card I/O performance.

Take the moment to bump the pkgver to 1.0

[0] https://lore.kernel.org/linux-arm-msm/20221030073232.22726-11-marijn.suijten@somainline.org/

[ci:skip-build] already built successfully in CI
2023-03-03 20:24:29 +01:00
Clayton Craft 4fc0f7eec6 purism-librem5: re-enable PM for the Sparklan module (MR 3921)
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
2023-03-03 20:07:14 +01:00
Frost_I7 790ab25509 device-samsung-t03g & t0lte: update alsa ucm config (MR 3723) 2023-03-03 08:48:15 +01:00
Richard Acayan 4d2a25db53 testing/linux-postmarketos-qcom-sdm670: upgrade to 6.1.14 (MR 3917)
This is more of a version bump, compared to the past few releases. This
kernel should receive more of these types of releases, especially when
there is less hardware left to bring up.

[ci:skip-build] already built successfully in CI
2023-03-02 22:59:32 -08:00
Richard Acayan 5b1b4ad28b google-sargo: add adsp firmware (MR 3917)
This does not bring up sensors or audio yet, but will be important later
on.
2023-03-02 22:59:32 -08:00
Danila Tikhonov 9f81f9e3dd xiaomi-surya: Add phosh phoc.ini (MR 3892) 2023-03-02 19:15:51 +01:00
Danila Tikhonov 4067aa54a0 linux-postmarketos-qcom-sm7150: Upgrade to 6.2.0 (MR 3892) 2023-03-02 19:15:51 +01:00
Clayton Craft a5978b8561 device/purism-librem5: upgrade librem5-base to v56 (MR 3913)
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
2023-03-02 09:12:12 -08:00
Alistair Francis 597eefcfcd linux-purism-librem5: upgrade to 6.2.1 (MR 3916)
Signed-off-by: Alistair Francis <alistair@alistair23.me>
[ci:skip-build]: already built successfully in CI
2023-03-02 08:32:05 +01:00
Elagost 74db854263 device-pine64-pinephone: subpkgs for sway and x11 keyboard configs (MR 3845)
[ci:skip-build]: already built successfully in CI
2023-03-02 08:22:41 +01:00
Clayton Craft 4f790fb8f9 pmos-ui-*: replace megapixels in pmb_recommends with pmos-default-camera (MR 3815)
fixes #1912, #1557

[ci:skip-build]: already built successfully in CI
2023-03-01 08:42:58 +01:00
Clayton Craft d5eb368394 temp/megapixels-gtk: remove (MR 3815)
No longer necessary for SXMO dwm edition, as tested/confirmed by SXMO
maintainers / developers.
2023-03-01 08:42:46 +01:00
Clayton Craft d42edaaa65 temp/megapixels-purism: remove (MR 3815)
moved to aports as "millipixels"
2023-03-01 08:42:46 +01:00
Clayton Craft 8bac6d45cf xiaomi-scorpio: add -camera subpackage (MR 3815) 2023-03-01 08:42:45 +01:00
Clayton Craft 5e9e19b7a7 pine64-pinephone: add -camera subpackage (MR 3815) 2023-03-01 08:42:45 +01:00
Clayton Craft d49b2087e5 purism-librem5: add -camera subpackage (MR 3815) 2023-03-01 08:42:45 +01:00
Clayton Craft ce40d054ce pine64-pinephone: create "kirigami" subpackage (MR 3815)
kirigami may be installed outside of plamo, however there are some
changes that should only be applied when plamo is installed
2023-03-01 08:42:45 +01:00
Clayton Craft a8450a53f2 purism-librem5: replace -phosh subpkg with -gnome (MR 3815)
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.
2023-03-01 08:42:45 +01:00
Clayton Craft 8c29eaed6e main/pmos-base-ui: add postmarketos-default-camera dummy package (MR 3815)
This is a dummy package that other packages can install_if on to install
the appropriate camera app for the device/UI. It's intended to be added
to pmb_recommends= for pmos-ui-* packages that want to have a camera by
default.
2023-03-01 08:42:45 +01:00
Arnavion 69773b8cc5 main/shutdown-clear-rtc-wakealarm: new aport (MR 3905)
This contains an OpenRC service that clears the RTC wake alarm.
Users who don't want the RTC wake alarm to power on their phone from
powered-off state can use this service to clear the alarm during shutdown.

Fixes #1970

[ci:skip-build] already built successfully in CI
2023-02-28 14:45:04 -08:00
Oliver Smith c30dd812f2 linux-postmarketos-exynos4: add V=1 to build (MR 3914)
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
2023-02-28 08:04:18 +01:00
Pablo Correa Gómez 264d171a88 testing/firmware-samsung-manta: check that /etc/conf.d/wpa_supplicant exists (MR 3909)
Not all UIs depend on it

Fixes #1971

[ci:skip-build] already built successfully in CI
2023-02-27 09:38:54 -08:00
Affe Null c293b03642 samsung-t0lte: add panel selection (MR 3549)
Let the user select between two kernel variants using the different
device trees for the different panel variants (ea8061 and s6evr02)

[ci:skip-build]: Already built successfully in CI
2023-02-27 17:25:01 +01:00
Affe Null 8b470375a9 samsung-t03g: add panel selection (MR 3549)
Let the user select between two kernel variants using the different
device trees for the different panel variants (ea8061 and s6evr02)
2023-02-27 17:24:45 +01:00
Affe Null d4b54d1249 linux-postmarketos-exynos4: Add missing ea8061 panel driver (MR 3549)
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.
2023-02-27 17:24:45 +01:00
Anton Bambura e960066058 google-dumo: enable panel on initramfs stage (MR 3904) 2023-02-26 21:24:46 +01:00
Anton Bambura caa285b8d1 google-druwl: enable panel on initramfs stage (MR 3904) 2023-02-26 21:24:46 +01:00
Anton Bambura ad4d27e134 google-dru: enable panel on initramfs stage (MR 3904) 2023-02-26 21:24:46 +01:00
Anton Bambura 45adf82081 linux-postmarketos-rockchip: enable elan touchscreen for scarlet devices (MR 3903) 2023-02-26 19:57:32 +01:00
Alistair Francis e1efe18136 device-purism-librem5: Disable modem power management (MR 3902)
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
2023-02-25 22:38:27 -08:00
Oliver Smith 92efdacfbf linux-purism-librem5: add Clayton's rebase comment (MR 3896)
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
2023-02-24 09:27:06 +01:00
Newbyte 2affe723e2 linux-purism-librem5: upgrade to 6.2.0 (MR 3896)
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.
2023-02-24 09:25:34 +01:00
Kieran Bingham de591be7d8 community/linux-postmarketos-rockchip: Add ATH10K wireless support (MR 3899)
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
2023-02-24 09:20:00 +01:00
Kieran Bingham d43748aa9c community/linux-postmarketos-rockhip: Migrate to linux-6.2 (MR 3899)
Update the kernel base and migrate the kernel config.

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2023-02-24 09:19:43 +01:00
Kieran Bingham 60821d3a09 community/linux-postmarketos-rockchip: Update install for packaging (MR 3899)
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>
2023-02-24 09:19:38 +01:00
Newbyte 60fc4a2df5 samsung-matisselte: new device (MR 3813)
[ci:skip-build]: already built successfully in CI
2023-02-24 08:55:34 +01:00
Newbyte 954fd59706 linux-postmarketos-qcom-msm8226: new aport (MR 3813) 2023-02-24 08:55:16 +01:00
Clayton Craft e73187d343 postmarketos-ui-{xfce4,mate}: don't fail if tinydm can't be disbled (MR 3897)
Fixes this failure on a new install:
        ERROR: postmarketos-ui-xfce4-0.5.1-r11.post-install: script exited with error 1

[ci:skip-build]: already built successfully in CI
2023-02-23 08:38:57 +01:00
Caleb Connolly d08da30b5a main/pbsplash: upgrade to 0.3.0 (MR 3885)
[ci:skip-build] already built successfully in CI
2023-02-22 21:48:07 -08:00
Newbyte c3540b4678 device-purism-librem5: don't specify cma size in U-Boot bootargs (MR 3889)
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
2023-02-22 15:17:10 -08:00
Richard Acayan 9678ab7b38 google-sargo: enable GPU-accelerated UIs (MR 3898)
This port has been compatible with GPU-accelerated UIs like Phosh and
Plasma Mobile for quite a while now. Enable these UIs in the
`pmbootstrap init` menu.

See #1939.
2023-02-22 11:49:36 +01:00
Newbyte 8496464c47 linux-purism-librem5: upgrade to 6.1.12 (MR 3888)
Includes more power management fixes.

[ci:skip-build]: Already built successfully in CI
2023-02-21 14:39:40 +01:00
Caleb Connolly 4e2507c9e5 Revert "postmarketos-ui-mate: switch to tinydm (MR 3887)" (MR 3893)
This reverts commit 2c5c22f3e3.
2023-02-21 08:40:50 +01:00
Caleb Connolly 2d100dcbdf Revert "postmarketos-ui-xfce: switch to tinydm (MR 3887)" (MR 3893)
This reverts commit 5915d1630b.
2023-02-21 08:40:23 +01:00
Caleb Connolly fe29c9ab34 main/postmarketos-bootsplash: kill pbsplash before display-manager (MR 3893)
If pbsplash is running when a display manager starts it often causes
issues as display managers want to run on a particular VT, but are
unable to switch the active VT since pbsplash has exclusive control of
the framebuffer.

Making DMs not start until after local would solve the issue but
it would also needlessly delay the boot process.

Until we have a better way to detect display managers starting and react
to it, this will at least get devices working again. Though due to how
openrc resolves service start order it may mean the splash is killed
earlier than necessary.
2023-02-20 19:37:19 +00:00
Julian Winkler ca5e6cab1b device/testing/petitboot-motorola-smi: build petitboot image for motorola-smi (MR 3880)
[ci:skip-build]: Already built successfully in CI
2023-02-20 13:19:56 +01:00
Julian Winkler f567cebd8f temp/petitboot: new package petitboot (MR 3880) 2023-02-20 13:19:51 +01:00
Julian Winkler 2b16e5837a temp/kexec-tools: fork from alpine to support devicetree on x86 (MR 3880) 2023-02-20 13:19:51 +01:00
Clayton Craft 5915d1630b postmarketos-ui-xfce: switch to tinydm (MR 3887)
[ci:skip-build]: already built successfully in CI
2023-02-20 08:00:39 +01:00
Clayton Craft 2c5c22f3e3 postmarketos-ui-mate: switch to tinydm (MR 3887) 2023-02-19 20:42:58 -08:00
Arnavion 025105c5a4 device/main/linux-postmarketos-allwinner: enable CONFIG_ARM_SUN8I_A33_MBUS_DEVFREQ and devfreq governors (MR 3864)
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
2023-02-19 20:49:05 +01:00
Oliver Smith fa292406df linux-motorola-panelli: store full kernel config (MR 3883)
Store the full kernel config instead of a fragment, so
"pmbootstrap kconfig check" can properly verify that all required kernel
options are there. Without this, it would fail an upcoming check for
BINFMT_ELF and BINFMT_SCRIPT:
https://lists.sr.ht/~postmarketos/pmbootstrap-devel/patches/38508

With the full config, pmbootstrap found that ANDROID_PARANOID_NETWORK
was enabled while it should be disabled, so disable it.

Fix the mediatek drvgen related build failure with
00_disable_drvgen.patch from linux-wiko-ufeel and including cust.dtsi:
https://wiki.postmarketos.org/wiki/Porting_to_a_new_device#Removing_python2_dependency

[ci:skip-build]: already built successfully in CI
2023-02-19 20:44:50 +01:00
Clayton Craft ac9bff857c main/postmarketos-mkinitfs: trigger on /etc/pmos-mkinitfs/* (MR 3876)
These directories should also trigger a rebuild so that any changes are
reflected in the initramfs.
This will include things like 'files', 'modules' and so on that weren't
previously triggering rebuilds of the initramfs...

[ci:skip-build]: already built successfully in CI
2023-02-19 19:33:32 +01:00
Newbyte 624a384a9f linux-purism-librem5: disable CONFIG_LOGO (MR 3881)
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
2023-02-19 19:26:21 +01:00
Newbyte 604a5ee097 sourceparts-pocketpc: fix u-boot-tools name (MR 3882)
uboot-tools was the previous name of the package I think.

[ci:skip-build]: already built successfully in CI
2023-02-19 16:40:54 +01:00
Newbyte 9769f5a149 sipeed-licheezero: fix u-boot-tools name (MR 3882)
uboot-tools was the previous name of the package I think.
2023-02-19 16:40:34 +01:00
Andreas Kemnade c32221096a linux-kobo-clara-mainline: upgrade to 6.1.12 (MR 3878)
6.1 was not a valid kernel version causing the wlan module installed
into wrong location. 6.1.0 would be correct. Fix that
problem by upgrading to 6.1.12 and make the wlan installation
more robust.

[ci:skip-build]: already built successfully in CI
2023-02-19 15:38:14 +01:00
Newbyte 66735f8db9 main/postmarketos-mkinitfs: remove references to charging-sdl (MR 3872)
As it was dropped in the previous commit.

[ci:skip-build]: already built successfully in CI
2023-02-19 14:04:17 +01:00
Newbyte 05bce12847 main/charging-sdl: remove (MR 3872)
It has almost been two years since pma#1064 was created[1], and nothing
has changed since really. If someone wants to revive charging-sdl, they
can just revert these commits, but given the status quo I don't think
there is any reason to keep this around until it changes.

 [1] https://gitlab.com/postmarketOS/pmaports/-/issues/1064

Closes https://gitlab.com/postmarketOS/pmaports/-/issues/1064
2023-02-19 13:53:27 +01:00
Newbyte 60ba45e9e2 main/triggerhappy: remove (MR 3872)
This is no longer used by anything in pmOS as far as I can tell. One
previous user, ttyescape, has been reworked to use hkdm instead, and the
other previous user, charging-sdl, is no longer available in pmOS.

Closes https://gitlab.com/postmarketOS/pmaports/-/issues/1929
2023-02-19 13:53:27 +01:00
Caleb Connolly b93203a035 main/postmarketos-splash: drop in favour in pbsplash (MR 2878) 2023-02-18 01:40:28 +00:00
Caleb Connolly 80eb55a604 main/devicepkg-dev: don't generate splash images (MR 2878) 2023-02-18 01:40:28 +00:00
Caleb Connolly f54600e966 main/postmarketos-mkinitfs-hook-*: use pbsplash (MR 2878) 2023-02-18 01:40:28 +00:00
Caleb Connolly e97b61b023 main/postmarketos-mkinitfs: switch to pbsplash (MR 2878)
This modifies to the postmarketOS ramdisk init to use the new pbsplash
tool for displaying splash messages, replacing the old fbsplash.

This also moves the show_splash call to run as soon as possible rather
than waiting for mount_subpartitions to run (which can take a while).
2023-02-18 01:40:28 +00:00
Caleb Connolly 702088baff main/postmarketos-base: use pbsplash (MR 2878) 2023-02-18 01:40:28 +00:00
Caleb Connolly 77ad6199a8 main/postmarketos-bootsplash: new aport (MR 2878) 2023-02-18 01:40:28 +00:00
Caleb Connolly 10368eb9f2 main/pbsplash: new aport (MR 2878) 2023-02-18 01:40:28 +00:00
@exkc 49c9b7cc44 radxa-zero: new device (MR 3865) 2023-02-17 15:48:59 +01:00
@exkc 4792c3b859 u-boot-radxa-zero: new aport (MR 3865)
Reference: https://u-boot.readthedocs.io/en/latest/board/amlogic/radxa-zero.html
2023-02-17 15:48:52 +01:00
Newbyte 49bfabcee0 main/postmarketos-ui-gnome-mobile: remove polkit-elogind dependency (MR 3852)
Already in postmarketos-base-ui-gnome.
2023-02-16 17:53:05 +02:00
Newbyte b0e89af26d main/postmarketos-ui-phosh: handle less services (MR 3852)
This is now handled by postmarketos-base-ui-gnome.
2023-02-16 17:53:05 +02:00
Newbyte 62402d529b main/postmarketos-ui-gnome: handle less services (MR 3852)
This is now handled by postmarketos-base-ui-gnome.
2023-02-16 17:53:05 +02:00
Newbyte 7af1d8a290 main/postmarketos-ui-gnome-mobile: handle less services (MR 3852)
This is now handled by postmarketos-base-ui-gnome.
2023-02-16 17:53:05 +02:00
Newbyte 8ddb338f41 main/postmarketos-base-ui-gnome: enable services used by all GNOME "variants" (MR 3852)
Closes https://gitlab.com/postmarketOS/pmaports/-/issues/1936

Additionally, this means that iio-sensor-proxy actually gets enabled
on GNOME and GNOME mobile. Previously, it would get installed there
but not enabled unless the user manually did it.
2023-02-16 17:53:05 +02:00
Henrik Grimler 7bcb236407 testing/odroid-xu4: use extlinux instead of U-Boot script (MR 3799)
Which can give us more flexibility in how/from where to boot
postmarketOS.
2023-02-16 12:44:30 +01:00
Newbyte 44244a7032 main/postmarketos-ui-phosh: recommend Evince (MR 3869)
Otherwise we don't have any document viewer installed by default.

[ci:skip-vercheck]: pkgrel bump is not necessary when changing
recommends.
[ci:skip-build]: already built successfully in CI
2023-02-16 08:18:22 +01:00
Luca Weiss 7df5a66b17 device/testing/linux-oneplus-billie2: fix build (MR 3870)
[ci:skip-build]: already built successfully in CI
2023-02-16 08:05:10 +01:00
Oliver Smith 78dffc2dbe u-boot-rockpro64: remove (MR 3824)
Use Alpine's u-boot package for rp64 instead.

[ci:skip-build]: already built successfully in CI
2023-02-15 08:35:44 +01:00
Oliver Smith 87d2de88c1 pine64-rockpro64: use alpine's u-boot-rockchip (MR 3824)
Prepare to drop u-boot-rockpro64 in favor of using the u-boot package
from Alpine.

Related: https://wiki.pine64.org/wiki/RK3399_boot_sequence#U-Boot_boot_sequence
2023-02-15 08:35:28 +01:00
Dzmitry 2fff60f075 main/extract-dtb: update pkgrel due to updated python version (MR 3867)
[ci:skip-build]: already built successfully in CI
2023-02-15 08:20:28 +01:00
@exkc 327ccd6a54 testing/xunlong-orangepi3: use extlinux instead of U-Boot script (MR 3807) 2023-02-14 18:35:53 +01:00
Bradley Eaton 0c27a5d6fe nokia-fame: new device (MR 3853)
[ci:skip-build]: already built successfully in CI
2023-02-14 08:32:23 +01:00
Alper Nebi Yasak 80948e3be9 google-x64cros: new device (MR 3862)
Add a generic device that should work on x86_64 ChromeOS devices. This
is mostly a copy of tablet-x64uefi, with ChromeOS-specific stuff from
google-kevin. Keeps the UEFI parts so that it can still be booted with
alternative firmware (i.e. MrChromebox's RW_LEGACY builds). Lightly
tested on a Lenovo IdeaPad 3 Chromebook 11IGL05 (codename "Lick").

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2023-02-13 18:34:35 +01:00
Anton Bambura d7ec2e46dc CI: test_device: fix versioned depends for postmarketos-base (MR 3791)
[ci:skip-build]: already built successfully in CI
2023-02-13 08:52:20 +01:00
Anton Bambura 85d192103c google-veyron-jerry: use generated extlinux.conf (MR 3791) 2023-02-13 08:52:20 +01:00
Anton Bambura 2d886ff8eb pine64-rock64: use generated extlinux.conf (MR 3791) 2023-02-13 08:52:20 +01:00
Anton Bambura fb4f0c9aaa pine64-rockpro64: use generated extlinux.conf (MR 3791) 2023-02-13 08:52:20 +01:00
Anton Bambura 109c7c3d54 pine64-pinebookpro: depend on postmarketos-base>=25-r1 (MR 3791) 2023-02-13 08:52:20 +01:00
Anton Bambura a21d5bbaa4 pine64-pinephonepro: depend on postmarketos-base>=25-r1 (MR 3791) 2023-02-13 08:52:20 +01:00
Jan Jasper de Kroon fecd1c038d device/main/linux-postmarketos-allwinner: upgrade to 6.1.9 (MR 3858)
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
2023-02-13 08:43:29 +01:00
Anjandev Momi 41a8429257 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
2023-02-13 08:31:46 +01:00
Anjandev Momi f1ef7e279b soc-qcom-sdm845: supervise call audio workaround, add conf.d, and fix Sxmo audio (MR 3763) 2023-02-13 08:31:02 +01:00
Michal Vasilek 679ee5364b 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:08:09 +01:00
Yassine Oudjana d0e39c1a0b testing/device-samsung-grandpplte: handle changes in 6.1.9 kernel upgrade (MR 3839)
linux-postmarketos-mediatek-mt6735 6.1.9 added full display support and hardware acceleration
as well as haptics. Add a phoc configuration file to set the display scale, and a feedbackd
theme to optimize vibration durations. Route console output to UART to leave the splash
screen clean and to help with debugging when necessary.

[ci:skip-build] already built successfully in CI
2023-02-10 14:17:44 -08:00
Yassine Oudjana 3531779ac8 testing/linux-postmarketos-mediatek-mt6735: upgrade to 6.1.9 (MR 3839)
[ci:skip-build] already built successfully in CI
2023-02-10 14:17:43 -08:00
Yassine Oudjana 181364d08b testing/u-boot-grandpplte: upgrade to 2023.01 (MR 3839)
[ci:skip-build] already built successfully in CI
2023-02-10 14:17:43 -08:00
Adrian Chelaru 512e7d3e4c samsung-goyawifi: add memfd syscall support (MR 3823)
[ci:skip-build] already built successfully in CI
2023-02-10 14:12:11 -08:00
Adrian Chelaru 51d8d6e20f samsung-goyawifi: Enable FBCON & rotate touchscreen from driver (MR 3823)
[ci:skip-build] already built successfully in CI
2023-02-10 14:12:11 -08:00
Sergey Lisov b11e24701a device-samsung-a6lte: hack around a WiFi bug in the vendor kernel (MR 3823)
If the wlan0 interface is rfkilled down on boot, WiFi won't work until reboot.
It seems that quickly ifconfig'ing wlan0 up and down in sysinit is enough to work around the bug.

[ci:skip-build] already built successfully in CI
2023-02-10 14:09:03 -08:00
Newbyte 3a50065ed8 linux-purism-librem5: update url (MR 3859)
Repository was moved.

[ci:skip-build]: Already built successfully in CI
2023-02-10 20:52:05 +01:00
Newbyte 279c363323 linux-purism-librem5: upgrade to 6.1.10 (MR 3859) 2023-02-10 20:51:58 +01:00
Clayton Craft 0e1fe15d24 main/postmarketos-mkinitfs: upgrade to 1.6.1 (MR 3861)
Fixes a bug with library circular dependencies on aports, introduced on
edge today.

[ci:skip-build]: already built successfully in CI
2023-02-10 08:53:42 +01:00
Oliver Smith 3bf4887495 temp/megapixels-purism: bump pkgrel (MR 3856)
It's on its way out already (MR 3815), but until that MR is finished,
bump the pkgrel once more to fix all upstream compat errors:

Increase 'megapixels-purism' pkgrel (6 -> 7), missing depend(s): so:libcamera.so.0.0.3

[ci:skip-build]: Already built successfully in CI
2023-02-09 11:04:13 +01:00
Oliver Smith 3c516c4299 cross/grub-efi-x86: upgrade to 2.06-r8 2023-02-09 08:32:51 +01:00
Oliver Smith 727042b3f7 cross/busybox-static-*: upgrade to 1.36.0-r4 2023-02-09 08:32:51 +01:00
Anton Bambura 99f1489c26 main/postmarketos-base: depend on postmarketos-mkinitfs>=1.5.1-r5 (MR 3854)
Related: discussion in MR 3791
[ci:skip-build]: already built successfully in CI
2023-02-08 08:54:56 +01:00
Jan Jasper de Kroon a07e4621e8 device/community/linux-pine64-pinephonepro: upgrade to 6.1.10 (MR 3817)
- Commit upstreamed: usb: dwc3: Save desired_dr_role on stack during set_mode processing

[ci:skip-build]: already built successfully in CI
2023-02-08 08:05:46 +01:00
Henrik Grimler c319a9db70 samsung-klimtlte: enable automatic kernel upgrades (MR 3842) 2023-02-07 16:33:33 +01:00
Henrik Grimler 3fd4bf38ee samsung-chagallwifi: enable automatic kernel upgrades (MR 3842) 2023-02-07 16:33:33 +01:00
Newbyte 3fd7928b97 u-boot-librem5: add myself as co-maintainer (MR 3850)
[ci:skip-build] already built successfully in CI
2023-02-07 01:22:23 -08:00
Newbyte 518101fc2f linux-purism-librem5: add myself as co-maintainer (MR 3850) 2023-02-07 01:22:23 -08:00
Newbyte ac917294cc device-purism-librem5: add myself as co-maintainer (MR 3850) 2023-02-07 01:22:23 -08:00
Newbyte 678fdf53d2 linux-purism-librem5: enable MGLRU (MR 3850)
See https://gitlab.com/postmarketOS/pmaports/-/issues/1918
2023-02-07 01:22:22 -08:00
Anton Bambura c957e4d566 google-makomo: new device (MR 3841)
[ci:skip-build] already built successfully in CI
2023-02-06 04:27:17 -08:00
Anton Bambura fee4c593a0 google-katsu: new device (MR 3841) 2023-02-06 04:27:17 -08:00
Anton Bambura 0806bb2487 linux-postmarketos-mediatek-mt8183: add support for katsu and makomo (MR 3841) 2023-02-06 04:27:17 -08:00
Anton Bambura 210268fc9b samsung-w767: new device (MR 3838)
[ci:skip-build] already built successfully in CI
2023-02-06 04:20:13 -08:00
Anton Bambura 4b76e05983 lenovo-yoga-5g: new device (MR 3838) 2023-02-06 04:20:12 -08:00
Anton Bambura b249cab428 lenovo-flex-5g: new device (MR 3838) 2023-02-06 04:20:12 -08:00
Anton Bambura 4aa0aac861 linux-postmarketos-qcom-sc8180x: new aport (MR 3838) 2023-02-06 04:20:12 -08:00
Anton Bambura 5f769995ae soc-qcom-sc8180x: new aport (MR 3838) 2023-02-06 04:20:11 -08:00
Dylan Van Assche a08bd157da cross/gcc-*: upgrade to 12.2.1_git20220924-r9
[ci:skip-build]: Already built successfully in CI
2023-02-06 12:33:05 +01:00
Yassine Oudjana af6cc1f110 xiaomi-scorpio: use absolute paths for GPU firmware files (MR 3837)
[ci:skip-build]: already built successfully in CI
2023-02-02 11:07:26 +01:00
Svyatoslav Ryhel b51a1907be linux-postmarketos-grate: upgrade to 6.1.0 stable (MR 3836)
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>

[ci:skip-build]: Already built successfully in CI
2023-02-02 10:03:26 +01:00
Svyatoslav Ryhel 2996901f11 device-lg-p895: switch to extlinux.conf (MR 3836)
Since re-crypt was finished now all T20/T30 devices
can be switched to use generic u-boot approach
and mount eMMC as external storage to host PC.

Unfortunately or fortunately this deprecates
any Android use on device. Have fun!

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-02-01 18:57:34 +02:00
Alistair Francis e6f1fe7e73 linux-purism-librem5: upgrade to 6.1.8pureos1 (MR 3832)
Signed-off-by: Alistair Francis <alistair@alistair23.me>
[ci:skip-build]: already built successfully in CI
2023-02-01 07:42:56 +01:00
Przemysław Romanik e71d96fcb7 samsung-crownlte: set logind-check-graphical=false in LightDM config (MR 3827)
[ci:skip-build]: already built successfully in CI
2023-01-31 08:26:09 +01:00
Anjandev Momi 111862b299 temp/sxmo-utils: drop package - pulseaudio patch is upstreamed (MR 3829)
[ci:skip-build] already built successfully in CI
2023-01-30 20:10:20 -08:00
Anjandev Momi 9c2be2f772 main/postmarketos-ui-sxmo-de-sway: upgrade to 1.13.0 (MR 3829) 2023-01-30 20:10:20 -08:00
Anjandev Momi c0df115a7e main/postmarketos-ui-sxmo-de-dwm: upgrade to 1.13.0 (MR 3829) 2023-01-30 20:10:20 -08:00
Anjandev Momi 4722c3cce2 main/sxmo-common: upgrade to 1.13.0 (MR 3829) 2023-01-30 20:10:17 -08:00
Oliver Smith e3a9b8c61b main/postmarketos-mkinitfs: dep: boot-deploy>=0.7 (MR 3825)
Explicitly depend on the version that allowed mounting with UUIDs, so we
can soon set this explicit dependency for devices that now make use of
this feature.

Dependency chain:
  device package
  -> postmarketos-base
    -> postmarketos-mkinitfs
      -> boot-deploy

Related: discussion in MR 3791
2023-01-28 03:13:23 +02:00
Jan Jasper de Kroon 52fd44825a device/main/linux-postmarketos-allwinner: upgrade to 6.1.7 (MR 3816)
[ci:skip-build]: Already built successfully in CI
2023-01-27 17:46:43 +01:00
Alexander Martinz 93f262d7f1 community/linux-postmarketos-qcom-sdm845: upgrade to 6.2.0_rc3 (MR 3802)
Change-Id: Ia140302bb4d309740db85a36374673a6e66c2c2b
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>

[ci:skip-build]: Already built successfully in CI
2023-01-27 17:41:44 +01:00
Oliver Smith d502d02a0b CI: bump copyright to 2023 2023-01-26 08:40:40 +01:00
Oliver Smith ff9beb4588 cross/busybox-*: upgrade to 1.36.0-r3 2023-01-26 08:37:53 +01:00
Ivan Belokobylskiy 3154d9162f lg-mako: add downstream and mainline kernels (MR 3776)
[ci:skip-build]: already built successfully in CI
2023-01-26 08:31:37 +01:00
Ivan Belokobylskiy a76fd6f0da lg-mako: add firmware package (MR 3776) 2023-01-26 08:31:19 +01:00
Luca Weiss 777d7607b8 testing/linux-postmarketos-qcom-msm8974: upgrade to 6.1.7 (MR 3818)
Changes to defconfig:
* Disable legacy usb gadgets (USB_ETH and friends)
* Enable Multi-Gen LRU (LRU_GEN)

[ci:skip-build]: already built successfully in CI
2023-01-26 08:13:55 +01:00
Oliver Smith 32fc24cd4a main/postmarketos-mkinitfs: upgrade to 1.6 (MR 3821)
Add support for hook scripts in initramfs-extra to the shell scripts.

Related: https://gitlab.com/postmarketOS/postmarketos-mkinitfs/-/merge_requests/27
2023-01-23 08:44:57 +01:00
Oliver Smith 452a41a505 channels.cfg: mark v22.06 as unsupported 2023-01-22 22:36:36 +01:00
Bastindo cd1ddc03b6 dongshanpi-nezhastu: new device (MR 3814)
[ci:skip-build]: Already built successfully in CI
2023-01-22 21:43:15 +01:00
Henrik Grimler 68defa831e linux-postmarketos-exynos5: update to 6.1.7 (MR 3812)
[ci:skip-build]: already built successfully in CI
2023-01-22 21:38:24 +01:00
cheadrian eb0896b170 samsung-goyawifi: new device (MR 3258)
Bring up support for Samsung T110 Goyawifi.
Working: Display (framebuffer), touchscreen, buttons and Wi-Fi.
Include: kernel source and necesarry firmware for Wi-Fi and Bluetooth.

samsung-goyawifi: fix patch names

samsung-goyawifi: remove mesa-dri-gallium

samsung-goyawifi: fix keyboard in deviceinfo

samsung-goyawifi: fix lightdm

samsung-goyawifi: editor-config ci tabs

samsung-goyawifi: add linux kernel as depends

[ci:skip-build]: Already built successfully in CI
2023-01-21 12:55:36 +01:00
Sergey Lisov b7c3d41b9a samsung-a6lte: cellular support via samsungipcd (MR 3585)
[ci:skip-build]: already built successfully in CI
2023-01-19 07:53:31 +01:00
Sergey Lisov b658b886b8 linux-samsung-a6lte: enable PPPoS and BSD-style ptys (MR 3585)
Necessary for samsungipcd.
2023-01-19 07:53:25 +01:00
Sergey Lisov 304b1764ed modem/samsungipcd: upgrade to 0.2.2 (MR 3585) 2023-01-19 07:53:22 +01:00
Alex 4bbd01460d 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.
2023-01-18 14:05:50 +01:00
Oliver Smith 04df7ec06b cross/busybox-static: upgrade to 1.36.0-r1 2023-01-18 08:16:02 +01:00
Andreas Kemnade b2a31dbd14 tolino-shine2hd: add firmware dependency (MR 3810)
Add the firmware for the CyberTan WC121.
Configuration is added in the newest firmware-linux release, so
complete support will appear in the corresponding Alpine package soon.

[ci:skip-build]: already built successfully in CI
2023-01-18 08:12:44 +01:00
Alistair Francis 1993e0cc24 linux-purism-librem5: upgrade to 6.1.4pureos1 (MR 3809)
Signed-off-by: Alistair Francis <alistair@alistair23.me>

[ci:skip-build] already built successfully in CI
2023-01-17 15:11:52 -08:00
Smits Katze a2820d9c79 main/postmarketos-config-nftables: make mDNS rule more restrictive (MR 3755)
mDNS queries and replies are sent to port 5353.
Update firewall rule in order to make it as tight as possible.

[ci:skip-build]: already built successfully in CI
2023-01-17 08:34:20 +01:00
Cédric Bellegarde e84ad270ec main/postmarketos-base-ui-gnome: depend on power-profiles-daemon (MR 3795)
[ci:skip-build] already built successfully in CI
2023-01-16 23:29:15 -08:00
Oliver Smith 7ee859f8dd cross/busybox-static-*: upgrade to 1.36.0-r0 (MR 3808)
[ci:skip-build]: already built successfully in CI
2023-01-15 21:50:21 +01:00
Oliver Smith c834107e9d cross/binutils-*: upgrade to 2.40-r2 (MR 3808) 2023-01-15 21:19:21 +01:00
Newbyte cce08f092a linux-postmarketos-exynos4: upgrade to 6.1 (MR 3717)
And also enable MGLRU.

[ci:skip-build]: Already built successfully in CI
2023-01-15 20:46:39 +01:00
Bobby The Builder c2d091a3a7 main/u-boot-pinephone: upgrade to v2023.01 (MR 3806)
[ci:skip-build]: Already built successfully in CI
2023-01-14 19:07:23 +01:00
Bobby The Builder 631d5eb418 temp/arm-trusted-firmware: upgrade to 2.8.0 (MR 3806) 2023-01-14 19:07:07 +01:00
Bobby The Builder ae74e11664 main/device-pine64-pinephone: U-Boot script update (MR 3806)
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
2023-01-14 19:07:07 +01:00
exkc d933df7e8f u-boot-mangopi-mq-pro:fix the wrong url (MR 3803)
[ci:skip-build] already built successfully in CI
2023-01-13 22:08:40 -08:00
exkc c55ddae1ad mangopi-mq-pro: use generated grub.cfg (MR 3803) 2023-01-13 22:08:34 -08:00
exkc df6c69101b mangopi-mq-pro: remove unnecessary uboot-script.cmd (MR 3803)
by moving grub's efi file to correct path
2023-01-13 22:08:22 -08:00
exkc 73a2ddb8fe mangopi-mq-pro: fix wrong uboot offset (MR 3803) 2023-01-13 22:07:52 -08:00
Luca Weiss 31a651d0d7 pine64-pinephone: Remove myself as maintainer (MR 3804)
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
2023-01-13 22:33:38 +01:00
4644 changed files with 8076 additions and 1640965 deletions

No files matched your search

+1 -1
View File
@@ -12,7 +12,7 @@ if [ "$(id -u)" = 0 ]; then
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" "$@"
-1
View File
@@ -1 +0,0 @@
lib/build_changed_aports.sh
-1
View File
@@ -1 +0,0 @@
lib/build_changed_aports.sh
-1
View File
@@ -1 +0,0 @@
lib/build_changed_aports.sh
+1 -1
View File
@@ -1,5 +1,5 @@
#!/bin/sh -e
# Copyright 2022 Oliver Smith
# Copyright 2023 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
# Description: check pkgver/pkgrel bumps, amount of changed pkgs etc
# Options: native
+24 -8
View File
@@ -9,16 +9,32 @@ if [ "$(id -u)" = 0 ]; then
fi
# Find CHANGEMEs in APKBUILDs
if grep -qr '(CHANGEME!)' *; then
if grep -qr '(CHANGEME!)' -- *; then
echo "ERROR: Please replace '(CHANGEME!)' in the following files:"
grep --color=always -r '(CHANGEME!)' *
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
# shellcheck disable=SC2016
if grep -qr 'INSTALL_DTBS_PATH="$pkgdir"/usr/share/dtb' device/; then
echo 'ERROR: Please do not install dtbs to /usr/share/dtb!'
echo 'ERROR: Unless you have a good reason not to, please put them in /boot/dtbs'
echo 'ERROR: Files that need fixing:'
# shellcheck disable=SC2016
grep --color=always -r 'INSTALL_DTBS_PATH="$pkgdir"/usr/share/dtb' device/
exit 1
fi
# Find old mkinitfs paths (pre mkinitfs 2.0)
if grep -qr '/etc/postmarketos-mkinitfs' -- *; then
echo "ERROR: Please replace '/etc/postmarketos-mkinitfs' with '/usr/share/mkinitfs' in the following files:"
grep --color=always -r '/etc/postmarketos-mkinitfs' -- *
exit 1
fi
if grep -qr '/usr/share/postmarketos-mkinitfs' -- *; then
echo "ERROR: Please replace '/usr/share/postmarketos-mkinitfs' with '/usr/share/mkinitfs' in the following files:"
grep --color=always -r '/usr/share/postmarketos-mkinitfs' -- *
exit 1
fi
+3 -9
View File
@@ -1,5 +1,5 @@
#!/bin/sh -e
# Description: check all kernel configs with 'pmbootstrap kconfig check'
# Description: check modified kernel configs
# Options: native
# Use 'native' because it requires running pmbootstrap.
# https://postmarketos.org/pmb-ci
@@ -11,12 +11,6 @@ if [ "$(id -u)" = 0 ]; then
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" "$@"
}
export PYTHONUNBUFFERED=1
set -x
pmbootstrap kconfig check
.ci/lib/check_changed_kernels.py
+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 -1
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# Copyright 2022 Oliver Smith
# Copyright 2023 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
import argparse
+8
View File
@@ -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
+1 -1
View File
@@ -1,5 +1,5 @@
#!/bin/sh -e
# Copyright 2022 Oliver Smith
# Copyright 2023 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
if ! mount | grep -q /proc/sys/fs/binfmt_misc; then
+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
+3 -2
View File
@@ -1,5 +1,5 @@
#!/bin/sh -e
# Copyright 2022 Oliver Smith
# Copyright 2023 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
# Description: lint with various python tests
# Options: native
@@ -20,7 +20,7 @@ if [ -z "$(command -v pytest)" ]; then
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" "$@"
@@ -34,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"
+6 -4
View File
@@ -1,5 +1,5 @@
#!/bin/sh -e
# Copyright 2022 Oliver Smith
# Copyright 2023 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
# Description: lint all shell scripts
# https://postmarketos.org/pmb-ci
@@ -17,9 +17,11 @@ sh_files="
./main/mdss-fb-init-hack/mdss-fb-init-hack.sh
./main/osk-sdl/unlock.sh
./main/postmarketos-base/rootfs-usr-lib-firmwareload.sh
./main/postmarketos-base-ui/rootfs-etc-NetworkManager-dispatcher.d-99-dns-filter.sh
./main/postmarketos-base-ui/rootfs-etc-NetworkManager-dispatcher.d-85-tethering
./main/postmarketos-installkernel/installkernel-pmos
./main/postmarketos-mkinitfs/init.sh
./main/postmarketos-mkinitfs/init_functions.sh
./main/postmarketos-initramfs/init.sh
./main/postmarketos-initramfs/init_functions.sh
./main/postmarketos-mkinitfs-hook-debug-shell/20-debug-shell.sh
./main/postmarketos-mkinitfs-hook-netboot/netboot.sh
./main/postmarketos-update-kernel/update-kernel.sh
@@ -40,7 +42,7 @@ sh_files="
$(find . -path './main/devicepkg-dev/*.sh')
$(find . -path './main/postmarketos-mvcfg/*.sh')
$(find . -path '.ci/*.sh')
$(find . -path './.ci/**.sh')
"
for file in $sh_files; do
@@ -15,8 +15,10 @@ def path_pmbootstrap():
code from there.
returns: pmbootstrap installation folder
"""
# Find 'pmbootstrap' executable
bin = shutil.which("pmbootstrap")
# This variable is set by pmbootstrap 1.52 and later
# If it's undefined, try to find 'pmbootstrap' in path
bin = os.environ.get("PMBOOTSTRAP_CMD") or shutil.which("pmbootstrap")
if not bin:
print("ERROR: 'pmbootstrap' not found in $PATH")
sys.exit(1)
+5 -1
View File
@@ -38,7 +38,11 @@ def test_aports_device(args):
apkbuild = pmb.parse.apkbuild(path)
# Depends: Require "postmarketos-base"
if "postmarketos-base" not in apkbuild["depends"]:
depend_flag = False
for dependency in apkbuild["depends"]:
if "postmarketos-base" == dependency or "postmarketos-base>" in dependency:
depend_flag = True
if not depend_flag:
raise RuntimeError("Missing 'postmarketos-base' in depends of " +
path)
+1 -1
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# Copyright 2022 Oliver Smith
# Copyright 2023 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
import glob
import logging
+1 -1
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# Copyright 2022 Oliver Smith
# Copyright 2023 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
# Various checks on source= in the APKBUILDs
-1
View File
@@ -1,4 +1,3 @@
{
"Version": "2.6.0",
"SpacesAftertabs": true
}
+119
View File
@@ -0,0 +1,119 @@
#!/bin/sh
#
# This hook checks that all local sources specified in the staged APKBUILDs
# are staged too or already committed and that checksums are correct.
#
set -eu
# Maximal allowed size (in bytes) of a file.
FILE_SIZE_LIMIT=262144 # 256 kiB
if ! command -v sha512sum >/dev/null; then
# macOS / BSDs (?) don't have sha512sum, but shasum.
alias sha512sum='shasum -a 512'
fi
error() {
printf '\033[0;31mpre-commit:\033[0m %s\n' "$1" >&2 # red
}
# Prints paths of created or modified files being committed.
changed_files() {
git diff-index \
--name-only \
--cached \
--diff-filter=ACMR HEAD \
-- "$@"
}
# Prints file names and checksums (in format <SHA-512>:<filename>) of local
# sources specified in the APKBUILD ($1).
apkbuild_local_sources() {
apkbuild="$1"
set +eu
. "$apkbuild" || {
error "$apkbuild is invalid"
return 1
}
set -eu
status=0
: ${source:=""}
for src in $source; do
# Skip remote sources.
case "$src" in */*) continue;; esac
echo "$sha512sums" | awk -v src="$src" '
{ if ($2 == src) { ok=1; print($2 ":" $1) } }
END { if (ok != 1) exit 1 }' || {
status=1
error "${apkbuild%/*}: file \"$src\" is missing in \$sha512sums (hint: run pmbootstrap checksum)"
}
done
return $status
}
# check if given object is a symlink
is_symlink() {
test "$(git ls-files --stage "$1" | awk '{print $1}')" = "120000"
}
# Checks that all local sources specified in the APKBUILD file ($1) are
# available in git tree and checksums are correct.
check_local_sources() {
local apkbuild="$1"
local startdir="${apkbuild%/*}"
local status=0
local checksum_act checksum_exp content filename line sources
sources=$(apkbuild_local_sources "$apkbuild")
for line in $sources; do
filename=${line%%:*}
checksum_exp=${line#*:}
if ! git cat-file -e ":$startdir/$filename" 2>/dev/null; then
error "$startdir: missing file \"$filename\""
status=1
continue
fi
if is_symlink ":$startdir/$filename"; then
continue
fi
checksum_act=$(git show ":$startdir/$filename" | sha512sum)
if [ "$checksum_act" != "$checksum_exp -" ]; then
local cmd="pmbootstrap checksum $(basename "$startdir")"
error "$startdir: bad checksum for file \"$filename\" (hint: run $cmd)"
status=1
fi
done
return $status
}
# Checks if the file ($1) being committed is not bigger than FILE_SIZE_LIMIT.
check_file_size() {
local path="$1"
local size
size=$(git cat-file -s ":$path")
if [ $size -gt $FILE_SIZE_LIMIT ]; then
local size_kb=$(( size / 1024 ))
error "file \"$path\" is quite big ($(( size / 1024 )) kiB), better put a remote url in source="
return 1
fi
}
for apkbuild in $(changed_files '**/APKBUILD'); do
check_local_sources "$apkbuild"
done
for path in $(changed_files); do
check_file_size "$path"
done
+49
View File
@@ -0,0 +1,49 @@
#!/bin/sh
#
# This hook adds prefix "<repo>/<pkgname>: " to the commit message when
# committing changes of a single package.
#
MSG_FILE="$1"
SOURCE="$2"
longest_common_prefix() {
awk -F/ '
(NR == 1) { split($0, prefix); prefix_len = NF }
(NR > 1) {
for (i = 1; i <= prefix_len; i++) {
if (prefix[i] != $i) {
prefix_len = i - 1; break
}
}
}
(prefix_len == 0) { exit }
END {
res = prefix[1]
for (i = 2; i <= prefix_len; i++) {
res = res FS prefix[i]
}
print(res)
}'
}
prepend_msg() {
local prefix="$1"
printf '%s\n%s\n' "$prefix" "$(cat "$MSG_FILE")" > "$MSG_FILE"
}
# Do nothing if message has been given using -m, template, merge etc.
[ -z "$SOURCE" ] || exit 0
lcp=$(git diff-index --name-only --cached HEAD | longest_common_prefix)
case "$lcp" in
device/*/*) prepend_msg "$(echo "$lcp" | cut -d/ -f3): ";;
# Multiple packages touched for same device category
# More logic could be added to detect if they all belong to same device
device/*) ;;
[^.]*/*) prepend_msg "$(echo "$lcp" | cut -d/ -f1-2): ";;
esac
exit 0
+2 -17
View File
@@ -18,7 +18,7 @@ stages:
# https://docs.gitlab.com/ee/ci/merge_request_pipelines/index.html#excluding-certain-jobs
.only-default: &only-default
only:
- master
- v23.06
- merge_requests
- tags
@@ -100,7 +100,7 @@ kernel-kconfig:
stage: lint
only:
refs:
- master
- v23.06
- merge_requests
changes:
- device/*/linux-*/config-*
@@ -140,11 +140,6 @@ build-x86_64:
script:
- .ci/build-x86_64.sh
build-x86:
extends: .build
script:
- .ci/build-x86.sh
build-aarch64:
extends: .build
script:
@@ -154,13 +149,3 @@ build-armv7:
extends: .build
script:
- .ci/build-armv7.sh
build-armhf:
extends: .build
script:
- .ci/build-armhf.sh
build-riscv64:
extends: .build
script:
- .ci/build-riscv64.sh
+46
View File
@@ -0,0 +1,46 @@
<!--
Thank you for using postmarketOS! In order to speed up process of resolving your issue,
we would like you to fill in the following :
-->
### Describe your issue
#### What's the expected behaviour?
#### What's the current behaviour?
#### How to reproduce your issue?
### What device are you using?
<!--
Leave name of your device in vendor-codename format.
If unsure, check name in the device package or leave full name of device
PinePhone: which revision exactly? See https://wiki.pine64.org/index.php/PinePhone#Hardware_revisions
-->
### On what postmarketOS version did you encounter the issue?
<!--
Replace space inside `[ ]` with `x` to fill the checkbox
-->
* [ ] edge (`master` branch)
* [ ] `v22.12`
* [ ] I confirm that the issue still is present after running `sudo apk upgrade -a`
### On what environment did you encounter the issue?
#### Environments
* [ ] Phosh
* [ ] Plasma Mobile
* [ ] Sxmo (Wayland/Sway) **Please post the output of `sxmo_version.sh`**
* [ ] Other: **Please fill out**
### How did you get postmarketOS image?
* [ ] from https://images.postmarketos.org
* [ ] I built it using pmbootstrap
* [ ] It was preinstalled on my device
### What's the build date of the image? (in yyyy-mm-dd format)
<!--
Notes:
can be left empty if unsure
If you downloaded image from images.postmarketos.org, date will be in yyyymmdd format
-->
### Additional information
<!-- logs, etc. -- make use <details> for long listings -->
+1 -6
View File
@@ -1,12 +1,7 @@
{
"subject_format": {
"pass": [
"^[a-z]+/[a-z-0-9*{}]+: new aport(s|)( \\(MR \\d+\\)|)$",
"^[a-z]+/[a-z-0-9*{}]+: pkgrel bump( \\(MR \\d+\\)|)$",
"^[a-z-0-9*{}]+: new device \\([^\\)]+\\)( \\(MR \\d+\\)|)",
"^[a-z]+/[a-z-0-9*{}]+: upgrade to [0-9\\.a-z\\-_]+( \\(MR \\d+\\)|)$",
"^[a-z]+/[a-z-0-9*{}]+: remove( \\(MR \\d+\\)|)$",
"^[a-z]+/[a-z-0-9*{}]+: remove, upstreamed( \\(MR \\d+\\)|)$",
"^(([a-z]+\\/[a-z\\-0-9*{}]+),?)+: [A-Za-z\\/\\-0-9*{}\\(\\)\\.,_&:=' ]+( \\(MR \\d+\\)|)$",
"^CI: [a-z-0-9*{}\\(\\)\\.,_ ][A-Za-z\\/\\-0-9*{}\\(\\)\\.,_ ]+( \\(MR \\d+\\)|)$",
"^mrhlpr.json: [a-z-0-9*{}\\(\\)\\.,_ ][A-Za-z\\/\\-0-9*{}\\(\\)\\.,_ ]+( \\(MR \\d+\\)|)$",
"^pmaports.cfg: [a-z-0-9*{}\\(\\)\\.,_ ][A-Za-z\\/\\-0-9*{}\\(\\)\\.,_ ]+( \\(MR \\d+\\)|)$"
+5
View File
@@ -71,6 +71,8 @@ device/*/device-samsung-klimtlte @Grimler
device/*/linux-samsung-klimtlte @Grimler
device/*/firmware-odroid-xu4 @Grimler
device/*/linux-samsung-chagallwifi @Grimler
device/*/device-huawei-plank @gtrxAC
device/*/linux-huawei-plank @gtrxAC
main/postmarketos-update-depthcharge-kernel/ @jenneron
main/osk-sdl/ @craftyguy
@@ -79,5 +81,8 @@ main/ttyescape @calebccff
temp/u-boot-librem5/ @craftyguy @bshah
temp/alsa-ucm-conf-google-kukui/ @jenneron @binarycraft
temp/alsa-ucm-conf-google-gru/ @jenneron
device/*/*-videostrong-kii-pro/ @vitali64yt
device/*/*-amlogic-s905* @vitali64yt
device/*/linux-postmarketos-amlogic/ @vitali64yt @exkc
# vim: ts=8 sw=4 et
+89
View File
@@ -0,0 +1,89 @@
# Policy for commits in pmaports
This document defines policy for organising and titling commits for
inclusion in pmaports.
## Definitions
### Device-specific package
A device-specific package is used to apply configuration and
functionality specifically for device support in postmarketOS.
This is in contrast to other packages
(e.g. main/postmarketos-ui-phosh) in postmarketOS that are used
for configuring the distribution without consideration of the
target device.
## General policy
We follow Alpine's aports commit style with some minor exceptions
and additions. Alpine's commit style can be found here:
https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/COMMITSTYLE.md
## Exceptions
### Changes to packages inside of the device directory
While Alpine has the policy of always prefixing package names with
the name of the repository they are in, in the case of pmaports
this can lead to excessively long commit titles due to the nested
subfolders of the device directory. As such, commits changing
packages inside of the device directory should omit the directory
prefix, for example:
device-pine64-pinephone: description of change
Or:
soc-qcom-msm8996: description of change
If the commit only makes device-specific changes, the
commit title can opt to use the following format:
manufacturer-codename: description of change
### Moving devices between categories
As we do not include directory prefixes in device-related commits,
Alpine's commit style for moving packages does not apply. Instead,
we do the following:
manufacturer-codename: move from category to category
For example:
samsung-m0: move from testing to community
## Additions
### Forking packages from Alpine
Run `pmbootstrap aportgen --fork-alpine package` and modify it.
#### Template
- temp/package-name: fork from Alpine
Example: temp/pulseaudio: fork from Alpine
#### Rules
One commit per forked package.
### Adding new devices
Adding a new device package and optionally also a device-specific
Linux and firmware package.
#### Template
- manufacturer-codename: new device
Example: htc-m8qlul: new device
#### Rules
If the device has the option of making use of a device-specific
kernel and/or firmware package, those packages should be included
in the same commit that adds the device package. One device per
commit.
+1
View File
@@ -6,3 +6,4 @@ Helpful resources:
* [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 commit style](./COMMITSTYLE.md)
-45
View File
@@ -1,45 +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.12]
description=Latest release / Recommended for best stability
branch_pmaports=v22.12
branch_aports=3.17-stable
mirrordir_alpine=v3.17
[v22.06]
description=Old release (supported until 2023-01-18)
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
+16 -46
View File
@@ -7,23 +7,20 @@ CTARGET_ARCH=aarch64
CTARGET="$(arch_to_hostspec $CTARGET_ARCH)"
pkgname=binutils-aarch64
pkgver=2.39
pkgrel=3
pkgver=2.40
pkgrel=7
pkgdesc="Tools necessary to build programs for aarch64 targets"
url="https://www.gnu.org/software/binutils/"
makedepends_build="bison flex texinfo"
makedepends_host="zlib-dev"
makedepends_host="zlib-dev jansson-dev zstd-dev"
makedepends="$makedepends_build $makedepends_host"
arch="x86_64"
license="GPL-2.0 GPL-3.0-or-later LGPL-2.0 BSD"
license="GPL-2.0-or-later AND LGPL-2.1-or-later AND BSD-3-Clause"
subpackages="binutils-dev binutils-doc"
source="https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz
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
CVE-2022-38533.patch
CVE-2023-1972.patch
binutils-ld-fix-static-linking.patch
"
builddir="$srcdir/binutils-$pkgver"
@@ -38,6 +35,10 @@ if [ "$CHOST" != "$CTARGET" ]; then
fi
# secfixes:
# 2.40-r7:
# - CVE-2023-1972
# 2.40-r0:
# - CVE-2023-1579
# 2.39-r2:
# - CVE-2022-38533
# 2.39-r0:
@@ -59,19 +60,6 @@ build() {
local _gold_configure="--disable-gold"
local _plugin_configure="--enable-plugins"
case "$CARCH" in
riscv64)
# binutils creates empty textrels here
# https://sourceware.org/bugzilla/show_bug.cgi?id=25694
local no_textrels=""
;;
*)
# set -z text by default
# this is the default for linkers such as ld.lld too
local no_textrels="--enable-textrel-check=error"
;;
esac
if [ "$CHOST" != "$CTARGET" ]; then
_sysroot="$CBUILDROOT"
_cross_configure="--disable-install-libiberty"
@@ -90,11 +78,6 @@ build() {
_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 \
@@ -115,8 +98,7 @@ build() {
--enable-default-execstack=no \
$_cross_configure \
$_arch_configure \
$_hash_style_configure \
$no_textrels \
--enable-default-hash-style=gnu \
--with-pic \
--disable-werror \
--disable-nls \
@@ -140,30 +122,18 @@ package() {
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
amove usr/bin/ld.gold
fi
mkdir -p "$subpkgdir"/usr/$CTARGET/bin
mv "$pkgdir"/usr/$CTARGET/bin/ld.gold "$subpkgdir"/usr/$CTARGET/bin/ld.gold
amove 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
a37e042523bc46494d99d5637c3f3d8f9956d9477b748b3b1f6d7dfbb8d968ed52c932e88a4e946c6f77b8f48f1e1b360ca54c3d298f17193f3b4963472f6925 binutils-2.40.tar.xz
70ec22bd72ef6dddecfd970613387dd4a8cdc8730dd3cbf03d5a0c3a7c4d839383167bb06dad21bf7c235329fd44b5dc4aefe762f68544f17155cf002bf1be4a 0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
609cd90d8b334eb309f586b17b9d335a08d3dbb6def7c3eb5c010028fcb681674031e5b9d853aa7a39a50304356a86afc184b85562b3f228f8197f4d29395c8f binutils-mips-disable-assert.patch
631726e557524633ace39c597acbc5ac39bfd25f7b292eee1f0b2a80a503f4ff799f027757d12d5a24b2fa3c07c7e14602d8a86d96e19876d6d0d5d1a02817e7 CVE-2022-38533.patch
b434e126c4c3f70c02b0a5597a0d75a4ea99b1498552c2d0676005ac0ae171c56cf07a6f6e2faa1381f1f4d4a37043a07d177dd4912f09b61109f103853594b2 CVE-2023-1972.patch
ecee33b0e435aa704af1c334e560f201638ff79e199aa11ed78a72f7c9b46f85fbb227af5748e735fd681d1965fcc42ac81b0c8824e540430ce0c706c81e8b49 binutils-ld-fix-static-linking.patch
"
@@ -1,22 +0,0 @@
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);
@@ -0,0 +1,37 @@
Patch-Source: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=c22d38baefc5a7a1e1f5cdc9dbb556b1f0ec5c57;hp=f2f9bde5cde7ff34ed0a4c4682a211d402aa1086
https://sourceware.org/bugzilla/show_bug.cgi?id=30285
--
From: Nick Clifton <nickc@redhat.com>
Date: Thu, 30 Mar 2023 09:10:09 +0000 (+0100)
Subject: Fix an illegal memory access when an accessing a zer0-lengthverdef table.
X-Git-Url: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=c22d38baefc5a7a1e1f5cdc9dbb556b1f0ec5c57;hp=f2f9bde5cde7ff34ed0a4c4682a211d402aa1086
Fix an illegal memory access when an accessing a zer0-lengthverdef table.
PR 30285
* elf.c (_bfd_elf_slurp_version_tables): Fail if no version definitions are allocated.
---
diff --git a/bfd/elf.c b/bfd/elf.c
index 027d0143735..185028cbd97 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -9030,6 +9030,9 @@ _bfd_elf_slurp_version_tables (bfd *abfd, bool default_imported_symver)
bfd_set_error (bfd_error_file_too_big);
goto error_return_verdef;
}
+
+ if (amt == 0)
+ goto error_return_verdef;
elf_tdata (abfd)->verdef = (Elf_Internal_Verdef *) bfd_zalloc (abfd, amt);
if (elf_tdata (abfd)->verdef == NULL)
goto error_return_verdef;
@@ -9133,6 +9136,8 @@ _bfd_elf_slurp_version_tables (bfd *abfd, bool default_imported_symver)
bfd_set_error (bfd_error_file_too_big);
goto error_return;
}
+ if (amt == 0)
+ goto error_return;
elf_tdata (abfd)->verdef = (Elf_Internal_Verdef *) bfd_zalloc (abfd, amt);
if (elf_tdata (abfd)->verdef == NULL)
goto error_return;
@@ -1,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
@@ -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
-169
View File
@@ -1,169 +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=3
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
CVE-2022-38533.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.39-r2:
# - CVE-2022-38533
# 2.39-r0:
# - CVE-2022-38126
# 2.35.2-r1:
# - CVE-2021-3487
# 2.32-r0:
# - CVE-2018-19931
# - CVE-2018-19932
# - CVE-2018-20002
# - CVE-2018-20712
# 2.28-r1:
# - CVE-2017-7614
build() {
local _sysroot=/
local _cross_configure="--enable-install-libiberty --enable-shared"
local _arch_configure=""
local _gold_configure="--disable-gold"
local _plugin_configure="--enable-plugins"
case "$CARCH" in
riscv64)
# binutils creates empty textrels here
# https://sourceware.org/bugzilla/show_bug.cgi?id=25694
local no_textrels=""
;;
*)
# set -z text by default
# this is the default for linkers such as ld.lld too
local no_textrels="--enable-textrel-check=error"
;;
esac
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 \
$no_textrels \
--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
631726e557524633ace39c597acbc5ac39bfd25f7b292eee1f0b2a80a503f4ff799f027757d12d5a24b2fa3c07c7e14602d8a86d96e19876d6d0d5d1a02817e7 CVE-2022-38533.patch
"
-22
View File
@@ -1,22 +0,0 @@
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,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
+16 -46
View File
@@ -7,23 +7,20 @@ CTARGET_ARCH=armv7
CTARGET="$(arch_to_hostspec $CTARGET_ARCH)"
pkgname=binutils-armv7
pkgver=2.39
pkgrel=3
pkgver=2.40
pkgrel=7
pkgdesc="Tools necessary to build programs for armv7 targets"
url="https://www.gnu.org/software/binutils/"
makedepends_build="bison flex texinfo"
makedepends_host="zlib-dev"
makedepends_host="zlib-dev jansson-dev zstd-dev"
makedepends="$makedepends_build $makedepends_host"
arch="x86_64"
license="GPL-2.0 GPL-3.0-or-later LGPL-2.0 BSD"
license="GPL-2.0-or-later AND LGPL-2.1-or-later AND BSD-3-Clause"
subpackages="binutils-dev binutils-doc"
source="https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz
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
CVE-2022-38533.patch
CVE-2023-1972.patch
binutils-ld-fix-static-linking.patch
"
builddir="$srcdir/binutils-$pkgver"
@@ -38,6 +35,10 @@ if [ "$CHOST" != "$CTARGET" ]; then
fi
# secfixes:
# 2.40-r7:
# - CVE-2023-1972
# 2.40-r0:
# - CVE-2023-1579
# 2.39-r2:
# - CVE-2022-38533
# 2.39-r0:
@@ -59,19 +60,6 @@ build() {
local _gold_configure="--disable-gold"
local _plugin_configure="--enable-plugins"
case "$CARCH" in
riscv64)
# binutils creates empty textrels here
# https://sourceware.org/bugzilla/show_bug.cgi?id=25694
local no_textrels=""
;;
*)
# set -z text by default
# this is the default for linkers such as ld.lld too
local no_textrels="--enable-textrel-check=error"
;;
esac
if [ "$CHOST" != "$CTARGET" ]; then
_sysroot="$CBUILDROOT"
_cross_configure="--disable-install-libiberty"
@@ -90,11 +78,6 @@ build() {
_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 \
@@ -115,8 +98,7 @@ build() {
--enable-default-execstack=no \
$_cross_configure \
$_arch_configure \
$_hash_style_configure \
$no_textrels \
--enable-default-hash-style=gnu \
--with-pic \
--disable-werror \
--disable-nls \
@@ -140,30 +122,18 @@ package() {
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
amove usr/bin/ld.gold
fi
mkdir -p "$subpkgdir"/usr/$CTARGET/bin
mv "$pkgdir"/usr/$CTARGET/bin/ld.gold "$subpkgdir"/usr/$CTARGET/bin/ld.gold
amove 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
a37e042523bc46494d99d5637c3f3d8f9956d9477b748b3b1f6d7dfbb8d968ed52c932e88a4e946c6f77b8f48f1e1b360ca54c3d298f17193f3b4963472f6925 binutils-2.40.tar.xz
70ec22bd72ef6dddecfd970613387dd4a8cdc8730dd3cbf03d5a0c3a7c4d839383167bb06dad21bf7c235329fd44b5dc4aefe762f68544f17155cf002bf1be4a 0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
609cd90d8b334eb309f586b17b9d335a08d3dbb6def7c3eb5c010028fcb681674031e5b9d853aa7a39a50304356a86afc184b85562b3f228f8197f4d29395c8f binutils-mips-disable-assert.patch
631726e557524633ace39c597acbc5ac39bfd25f7b292eee1f0b2a80a503f4ff799f027757d12d5a24b2fa3c07c7e14602d8a86d96e19876d6d0d5d1a02817e7 CVE-2022-38533.patch
b434e126c4c3f70c02b0a5597a0d75a4ea99b1498552c2d0676005ac0ae171c56cf07a6f6e2faa1381f1f4d4a37043a07d177dd4912f09b61109f103853594b2 CVE-2023-1972.patch
ecee33b0e435aa704af1c334e560f201638ff79e199aa11ed78a72f7c9b46f85fbb227af5748e735fd681d1965fcc42ac81b0c8824e540430ce0c706c81e8b49 binutils-ld-fix-static-linking.patch
"
-22
View File
@@ -1,22 +0,0 @@
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);
+37
View File
@@ -0,0 +1,37 @@
Patch-Source: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=c22d38baefc5a7a1e1f5cdc9dbb556b1f0ec5c57;hp=f2f9bde5cde7ff34ed0a4c4682a211d402aa1086
https://sourceware.org/bugzilla/show_bug.cgi?id=30285
--
From: Nick Clifton <nickc@redhat.com>
Date: Thu, 30 Mar 2023 09:10:09 +0000 (+0100)
Subject: Fix an illegal memory access when an accessing a zer0-lengthverdef table.
X-Git-Url: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=c22d38baefc5a7a1e1f5cdc9dbb556b1f0ec5c57;hp=f2f9bde5cde7ff34ed0a4c4682a211d402aa1086
Fix an illegal memory access when an accessing a zer0-lengthverdef table.
PR 30285
* elf.c (_bfd_elf_slurp_version_tables): Fail if no version definitions are allocated.
---
diff --git a/bfd/elf.c b/bfd/elf.c
index 027d0143735..185028cbd97 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -9030,6 +9030,9 @@ _bfd_elf_slurp_version_tables (bfd *abfd, bool default_imported_symver)
bfd_set_error (bfd_error_file_too_big);
goto error_return_verdef;
}
+
+ if (amt == 0)
+ goto error_return_verdef;
elf_tdata (abfd)->verdef = (Elf_Internal_Verdef *) bfd_zalloc (abfd, amt);
if (elf_tdata (abfd)->verdef == NULL)
goto error_return_verdef;
@@ -9133,6 +9136,8 @@ _bfd_elf_slurp_version_tables (bfd *abfd, bool default_imported_symver)
bfd_set_error (bfd_error_file_too_big);
goto error_return;
}
+ if (amt == 0)
+ goto error_return;
elf_tdata (abfd)->verdef = (Elf_Internal_Verdef *) bfd_zalloc (abfd, amt);
if (elf_tdata (abfd)->verdef == NULL)
goto error_return;
@@ -1,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
@@ -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
-169
View File
@@ -1,169 +0,0 @@
# Automatically generated aport, do not edit!
# Generator: pmbootstrap aportgen binutils-riscv64
# Based on: main/binutils
CTARGET_ARCH=riscv64
CTARGET="$(arch_to_hostspec $CTARGET_ARCH)"
pkgname=binutils-riscv64
pkgver=2.39
pkgrel=3
pkgdesc="Tools necessary to build programs for riscv64 targets"
url="https://www.gnu.org/software/binutils/"
makedepends_build="bison flex texinfo"
makedepends_host="zlib-dev"
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
CVE-2022-38533.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.39-r2:
# - CVE-2022-38533
# 2.39-r0:
# - CVE-2022-38126
# 2.35.2-r1:
# - CVE-2021-3487
# 2.32-r0:
# - CVE-2018-19931
# - CVE-2018-19932
# - CVE-2018-20002
# - CVE-2018-20712
# 2.28-r1:
# - CVE-2017-7614
build() {
local _sysroot=/
local _cross_configure="--enable-install-libiberty --enable-shared"
local _arch_configure=""
local _gold_configure="--disable-gold"
local _plugin_configure="--enable-plugins"
case "$CARCH" in
riscv64)
# binutils creates empty textrels here
# https://sourceware.org/bugzilla/show_bug.cgi?id=25694
local no_textrels=""
;;
*)
# set -z text by default
# this is the default for linkers such as ld.lld too
local no_textrels="--enable-textrel-check=error"
;;
esac
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 \
$no_textrels \
--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
631726e557524633ace39c597acbc5ac39bfd25f7b292eee1f0b2a80a503f4ff799f027757d12d5a24b2fa3c07c7e14602d8a86d96e19876d6d0d5d1a02817e7 CVE-2022-38533.patch
"
@@ -1,22 +0,0 @@
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,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
+5 -5
View File
@@ -7,8 +7,8 @@ if [ -z "$(type -t arch_to_hostspec)" ]; then
fi
pkgname=busybox-static-aarch64
pkgver=1.35.0
pkgrel=30
pkgver=1.36.1
pkgrel=5
_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.18.apk::$_mirror/v3.18/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.18.apk
rm .PKGINFO .SIGN.*
}
sha512sums="
d34c0d16d77bd18548e4b2764ab4bde59611480aaaab5a47f585158a91fad413ccfb7954d5ebcf4aa6e04fdda4621832f46e8b13e313ce1fd7b4b96b3298d425 busybox-static-1.35.0-r30-aarch64-edge.apk
78b4d14db0bf72c7c9f8262a59010102a208cd0189ae5ee2d622f56bbdfadea2f1976421301c62b326f94f9ea41812d5b1c938a5d71376631e634d30bc03ff4d busybox-static-1.36.1-r5-aarch64-v3.18.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=30
_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="
805bcf5416d70db8a68a90e85dbf9728213f4e996862ce9d4af3eea35ac25bc1bf6ecddb7dc18d2881dfda59ecfbc64bfbaf148022209f26eb034a10e65494aa busybox-static-1.35.0-r30-armhf-edge.apk
"
+5 -5
View File
@@ -7,8 +7,8 @@ if [ -z "$(type -t arch_to_hostspec)" ]; then
fi
pkgname=busybox-static-armv7
pkgver=1.35.0
pkgrel=30
pkgver=1.36.1
pkgrel=5
_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.18.apk::$_mirror/v3.18/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.18.apk
rm .PKGINFO .SIGN.*
}
sha512sums="
1beffa9f0b7a93d72b793c3ebac99a6243ca1a385064388fe6189753210775ff65bd4be30a540b5e0fa85ea795b7e3ad42cf4f9446c52ca1db285eea59a84c1a busybox-static-1.35.0-r30-armv7-edge.apk
1ef39e3714860276cf5a61cfd51eee3f377f7819f3b3a9d653863edce9b43bd3b33e0a25f8e743b3ae9f442008f7960ad1574abb375168eab82e48f05204dd53 busybox-static-1.36.1-r5-armv7-v3.18.apk
"
+14 -12
View File
@@ -16,14 +16,14 @@
# version is implemented as simple shell wrappers.
pkgname=crossdirect
pkgver=4
pkgrel=3
pkgver=5
pkgrel=0
pkgdesc="Wrappers to launch native cross compilers in foreign chroots"
url="https://postmarketOS.org"
arch="all"
license="MIT"
options="!check"
source="crossdirect.c rustc.sh rust-qemu-linker.sh"
source="cargo.sh crossdirect.c rustc.sh rust-qemu-linker.sh"
build() {
cd "$srcdir"
@@ -40,9 +40,6 @@ build() {
-Werror \
-DHOSTSPEC="\"$_hostspec\"" \
crossdirect.c
# rustc
sed "s/@ARCH@/$_arch/g" rustc.sh >rustc-"$_arch"
done
}
@@ -51,9 +48,11 @@ package() {
_archs="x86_64 armhf armv7 aarch64"
_bins="c++ cc cpp g++ gcc clang clang++"
# Rust: qemu-linker
# Rust wrappers
install -Dm755 "$srcdir/rust-qemu-linker.sh" \
"$pkgdir/usr/lib/crossdirect/rust-qemu-linker"
install -Dm755 "$srcdir/cargo.sh" "$pkgdir/usr/lib/crossdirect/cargo.sh"
install -Dm755 "$srcdir/rustc.sh" "$pkgdir/usr/lib/crossdirect/rustc.sh"
# Iterate over architectures
for _arch in $_archs; do
@@ -73,10 +72,13 @@ package() {
ln -s "crossdirect-$_arch" "$_hostspec-$_bin"
done
# Rust: arch-specific rustc wrapper
install -Dm755 "$srcdir/rustc-$_arch" "$_bindir/rustc"
ln -s ../cargo.sh cargo
ln -s ../rustc.sh rustc
done
}
sha512sums="500107e5aff8b34e74b54982ebcd447fc41bc8283956d506561b031a055cb30ec12698047c2604918b4b6d8560fe03db427a63dff2b83c907e8494b7f5233f29 crossdirect.c
6be16ba88720e628a3ecc8fa53f8e7a21d2af268b0509745d989139874d6b94b640bfcff09575eaa19073810be6ef91169c1f83e94f5cf8e6819f2670d9408de rustc.sh
ea9bf8db3810d03d0a7395057f3d6e57f7127d87c55deaedc171c255288f5f3cc6fbcc680a5a1b92786cf573875d5dc22521173799fe2639acc97d0715ff905b rust-qemu-linker.sh"
sha512sums="
0f4b48f250425dc57f63955fc8b38477d23db793bee367c3fbe03c3d2a559ba576434d07518310db4cae9d90d501af4051b80038b10fae94b980e537fc9374ad cargo.sh
500107e5aff8b34e74b54982ebcd447fc41bc8283956d506561b031a055cb30ec12698047c2604918b4b6d8560fe03db427a63dff2b83c907e8494b7f5233f29 crossdirect.c
2c41410a9ef2dab31403545e55e2464f2ee4e7056ffbcd3bc5810d582311801496b88d55307f17ce6acf766e9c867d30d05f2b0d8d46bf77a5e8f0495d6bc24e rustc.sh
ea9bf8db3810d03d0a7395057f3d6e57f7127d87c55deaedc171c255288f5f3cc6fbcc680a5a1b92786cf573875d5dc22521173799fe2639acc97d0715ff905b rust-qemu-linker.sh
"
+66
View File
@@ -0,0 +1,66 @@
#!/bin/sh -e
if [ -n "$CROSSDIRECT_DEBUG" ]; then
set -x
fi
native_version=$(LD_LIBRARY_PATH=/native/lib:/native/usr/lib /native/usr/bin/rustc -V)
target_version=$(/usr/bin/rustc -V)
if [ "$target_version" != "$native_version" ]; then
echo "ERROR: crossdirect: rustc version mismatch between native and build chroot. Please update your chroots and try again." >&2
exit 1
fi
triplet=$(/usr/bin/rustc -vV | sed -n 's/host: //p')
cmd=$1
shift
case "$cmd" in
build|test|run)
;;
*)
echo "WARNING: crossdirect: 'cargo $cmd $*' command not supported, running in QEMU (slow!)" >&2
export PATH="$(echo "$PATH" | sed 's,/native/usr/lib/crossdirect/[^:]*:,,')"
exec /usr/bin/cargo "$cmd" "$@"
;;
esac
target_dir=${CARGO_TARGET_DIR:-target}
target_already_specified=${CARGO_BUILD_TARGET:+1}
if [ -z "$target_specified" ]; then
for arg in "$@"; do
if [ "$arg_target_dir" = 1 ]; then
target_dir=$arg
arg_target_dir=0
fi
case "$arg" in
--target|--target=*)
target_already_specified=1
break
;;
--target-dir)
arg_target_dir=1
;;
--target-dir=*)
target_dir=${arg##--target-dir=}
;;
esac
done
fi
if [ -n "$target_already_specified" ]; then
exec /usr/bin/cargo "$cmd" "$@"
fi
/usr/bin/cargo "$cmd" --target=$triplet "$@"
# copy target/$triplet/{release,debug,...} to target/{release,debug,...}
if [ -d "$target_dir/$triplet" ]; then
for dir in "$target_dir/$triplet"/*/; do
build=$(basename "$dir")
rm -rf "$target_dir/$build"
cp -r "$target_dir/$triplet/$build" "$target_dir/$build"
done
fi
+19 -41
View File
@@ -1,48 +1,26 @@
#!/bin/sh -e
rust_triplet() {
# Find the triplets in Alpine's rust APKBUILD or with:
# pmbootstrap chroot -barmhf --add=rust -- ls /usr/lib/rustlib
case "$1" in
x86_64)
echo "x86_64-alpine-linux-musl"
;;
armhf)
echo "armv6-alpine-linux-musleabihf"
;;
armv7)
echo "armv7-alpine-linux-musleabihf"
;;
aarch64)
echo "aarch64-alpine-linux-musl"
;;
*)
echo "ERROR: don't know the rust triple for $1!" >&2
exit 1
;;
esac
}
if [ -n "$CROSSDIRECT_DEBUG" ]; then
set -x
fi
arch="@ARCH@" # filled in by APKBUILD
# return the correct host architecture when cargo requests it
if [ "$*" = "-vV" ]; then
exec /usr/bin/rustc -vV
fi
if ! LD_LIBRARY_PATH=/native/lib:/native/usr/lib \
/native/usr/bin/rustc \
# We expect the right target to be set in the arguments if compiling for the
# target architecture. Our cargo wrapper passes the right "--target" argument
# automatically. If no target is provided, this is probably a macro or a
# build script, so it should be compiled for the native architecture.
if echo "$*" | grep -qFe "--target"; then
LD_LIBRARY_PATH=/native/lib:/native/usr/lib /native/usr/bin/rustc \
-Clinker=/native/usr/lib/crossdirect/rust-qemu-linker \
--target=$(rust_triplet "$arch") \
--sysroot=/usr \
"$@"; then
echo "---" >&2
echo "WARNING: crossdirect: cross compiling with rustc failed, trying"\
"again with rustc + qemu" >&2
echo "---" >&2
# Usually the crossdirect approach works; however, when passing
# --extern to rustc with a dynamic library (.so), it fails with an
# error like 'can't find crate for `serde_derive`' (although the crate
# does exist). I think it fails to parse the metadata of the so file
# for some reason. We probably need to adjust rustc's
# librustc_metadata/locator.rs or something (and upstream that
# change!), but I've spent enough time on this already. Let's simply
# fall back to compiling in qemu in the very few cases where this is
# necessary.
/usr/bin/rustc "$@"
"$@"
else
PATH=/native/usr/bin:/native/bin LD_LIBRARY_PATH=/native/lib:/native/usr/lib \
/native/usr/bin/rustc \
-Clink-arg=-Wl,-rpath,/native/lib:/native/usr/lib \
"$@"
fi
+10 -7
View File
@@ -32,14 +32,15 @@ pkgver=${_pkgbase}_git$_pkgsnap
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
pkgname=gcc-aarch64
pkgrel=8
pkgrel=10
pkgdesc="Stage2 cross-compiler for aarch64"
url="https://gcc.gnu.org"
arch="x86_64"
license="GPL-2.0-or-later LGPL-2.1-or-later"
license="GPL-2.0-or-later AND LGPL-2.1-or-later"
_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"
# XXX: build hack to upgrade live on builders
makedepends_host="linux-headers gmp-dev mpfr-dev mpc1-dev isl-dev zlib-dev musl-dev-aarch64 binutils-aarch64"
subpackages="g++-aarch64:gpp libstdc++-dev-aarch64:libcxx_dev"
[ "$CHOST" = "$CTARGET" ] && subpackages="gcc-doc$_target"
@@ -79,8 +80,9 @@ if [ "$CHOST" != "$CTARGET" ]; then
# reset target flags (should be set in crosscreate abuild)
# fixup flags. seems gcc treats CPPFLAGS as global without
# _FOR_xxx variants. wrap it in CFLAGS and CXXFLAGS.
export CFLAGS="$CPPFLAGS $CFLAGS"
export CXXFLAGS="$CPPFLAGS $CXXFLAGS"
# format-sec: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100431
export CFLAGS="$CPPFLAGS ${CFLAGS/-Werror=format-security/}"
export CXXFLAGS="$CPPFLAGS ${CXXFLAGS/-Werror=format-security/}"
unset CPPFLAGS
export CFLAGS_FOR_TARGET=" "
export CXXFLAGS_FOR_TARGET=" "
@@ -357,9 +359,10 @@ build() {
echo " hash_style_configure=$_hash_style_configure"
echo ""
export CFLAGS="$CFLAGS -O2"
export CXXFLAGS="$CXXFLAGS -O2"
export CPPFLAGS="$CPPFLAGS -O2"
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100431
export CFLAGS="${CFLAGS/-Werror=format-security/} -O2"
export CXXFLAGS="${CXXFLAGS/-Werror=format-security/} -O2"
export CPPFLAGS="${CPPFLAGS/-Werror=format-security/} -O2"
local version="Alpine $pkgver-r$pkgrel"
local gccconfiguration="
-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,101 +0,0 @@
From ecc2a2e70e44fa76a75b12d0893bc1702b72a1b4 Mon Sep 17 00:00:00 2001
From: Ian Lance Taylor <iant@golang.org>
Date: Mon, 19 Dec 2022 10:37:06 -0800
Subject: [PATCH] libgo: check for makecontext in -lucontext
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Patch from Sören Tempel.
Change-Id: I74b4052cc7aca19224afd6d9a2739c3fae46b722
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/458396
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Than McIntosh <thanm@google.com>
---
libgo/configure | 57 ++++++++++++++++++++++++++++++++++++++++++++++
libgo/configure.ac | 3 +++
2 files changed, 60 insertions(+)
diff --git a/libgo/configure b/libgo/configure
index 460fdad7..a607dbff 100755
--- a/libgo/configure
+++ b/libgo/configure
@@ -14818,6 +14818,63 @@ fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing makecontext" >&5
+$as_echo_n "checking for library containing makecontext... " >&6; }
+if ${ac_cv_search_makecontext+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char makecontext ();
+int
+main ()
+{
+return makecontext ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' ucontext; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_makecontext=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if ${ac_cv_search_makecontext+:} false; then :
+ break
+fi
+done
+if ${ac_cv_search_makecontext+:} false; then :
+
+else
+ ac_cv_search_makecontext=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_makecontext" >&5
+$as_echo "$ac_cv_search_makecontext" >&6; }
+ac_res=$ac_cv_search_makecontext
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing sched_yield" >&5
$as_echo_n "checking for library containing sched_yield... " >&6; }
if ${ac_cv_search_sched_yield+:} false; then :
diff --git a/libgo/configure.ac b/libgo/configure.ac
index 09554a37..a59aa091 100644
--- a/libgo/configure.ac
+++ b/libgo/configure.ac
@@ -570,6 +570,9 @@ PTHREAD_LIBS=
AC_CHECK_LIB([pthread], [pthread_create], PTHREAD_LIBS=-lpthread)
AC_SUBST(PTHREAD_LIBS)
+dnl Test if -lucontext is required for makecontext.
+AC_SEARCH_LIBS([makecontext], [ucontext])
+
dnl Test if -lrt is required for sched_yield or nanosleep or clock_gettime.
AC_SEARCH_LIBS([sched_yield], [rt])
AC_SEARCH_LIBS([nanosleep], [rt])
@@ -1,204 +0,0 @@
From b3840bdcc0eee2a4d099a9af52199944ade7acb9 Mon Sep 17 00:00:00 2001
From: Ian Lance Taylor <iant@golang.org>
Date: Tue, 29 Nov 2022 17:28:44 -0800
Subject: [PATCH] syscall, runtime: always call XSI strerror_r
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This does the right thing for either glibc or musl on GNU/Linux.
Based on patch by Sören Tempel.
Change-Id: If2969e131f0fae456d58b35d839d8abe191fcc59
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/454176
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
TryBot-Bypass: Ian Lance Taylor <iant@google.com>
---
libgo/Makefile.am | 1 +
libgo/Makefile.in | 6 +++++-
libgo/go/syscall/errstr.go | 22 ++++++++-----------
libgo/go/syscall/errstr_glibc.go | 33 ----------------------------
libgo/runtime/go-strerror.c | 37 ++++++++++++++++++++++++++++++++
5 files changed, 52 insertions(+), 47 deletions(-)
delete mode 100644 libgo/go/syscall/errstr_glibc.go
create mode 100644 libgo/runtime/go-strerror.c
diff --git a/libgo/Makefile.am b/libgo/Makefile.am
index e0a1eec5..df568743 100644
--- a/libgo/Makefile.am
+++ b/libgo/Makefile.am
@@ -465,6 +465,7 @@ runtime_files = \
runtime/go-nanotime.c \
runtime/go-now.c \
runtime/go-nosys.c \
+ runtime/go-strerror.c \
runtime/go-reflect-call.c \
runtime/go-setenv.c \
runtime/go-signal.c \
diff --git a/libgo/Makefile.in b/libgo/Makefile.in
index 7bef5df9..f2f3f0fc 100644
--- a/libgo/Makefile.in
+++ b/libgo/Makefile.in
@@ -247,7 +247,7 @@ am__objects_4 = runtime/aeshash.lo runtime/go-assert.lo \
runtime/go-fieldtrack.lo runtime/go-matherr.lo \
runtime/go-memclr.lo runtime/go-memmove.lo \
runtime/go-memequal.lo runtime/go-nanotime.lo \
- runtime/go-now.lo runtime/go-nosys.lo \
+ runtime/go-now.lo runtime/go-nosys.lo runtime/go-strerror.lo \
runtime/go-reflect-call.lo runtime/go-setenv.lo \
runtime/go-signal.lo runtime/go-unsafe-pointer.lo \
runtime/go-unsetenv.lo runtime/go-unwind.lo \
@@ -917,6 +917,7 @@ runtime_files = \
runtime/go-nanotime.c \
runtime/go-now.c \
runtime/go-nosys.c \
+ runtime/go-strerror.c \
runtime/go-reflect-call.c \
runtime/go-setenv.c \
runtime/go-signal.c \
@@ -1390,6 +1391,8 @@ runtime/go-now.lo: runtime/$(am__dirstamp) \
runtime/$(DEPDIR)/$(am__dirstamp)
runtime/go-nosys.lo: runtime/$(am__dirstamp) \
runtime/$(DEPDIR)/$(am__dirstamp)
+runtime/go-strerror.lo: runtime/$(am__dirstamp) \
+ runtime/$(DEPDIR)/$(am__dirstamp)
runtime/go-reflect-call.lo: runtime/$(am__dirstamp) \
runtime/$(DEPDIR)/$(am__dirstamp)
runtime/go-setenv.lo: runtime/$(am__dirstamp) \
@@ -1457,6 +1460,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@runtime/$(DEPDIR)/go-reflect-call.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@runtime/$(DEPDIR)/go-setenv.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@runtime/$(DEPDIR)/go-signal.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@runtime/$(DEPDIR)/go-strerror.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@runtime/$(DEPDIR)/go-unsafe-pointer.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@runtime/$(DEPDIR)/go-unsetenv.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@runtime/$(DEPDIR)/go-unwind.Plo@am__quote@
diff --git a/libgo/go/syscall/errstr.go b/libgo/go/syscall/errstr.go
index 6c2441d3..9f688e2a 100644
--- a/libgo/go/syscall/errstr.go
+++ b/libgo/go/syscall/errstr.go
@@ -4,23 +4,19 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// +build !hurd
-// +build !linux
-
package syscall
-//sysnb strerror_r(errnum int, buf []byte) (err Errno)
-//strerror_r(errnum _C_int, buf *byte, buflen Size_t) _C_int
+import "internal/bytealg"
+
+//extern go_strerror
+func go_strerror(_C_int, *byte, Size_t) _C_int
func Errstr(errnum int) string {
- for len := 128; ; len *= 2 {
- b := make([]byte, len)
- errno := strerror_r(errnum, b)
+ for size := 128; ; size *= 2 {
+ b := make([]byte, size)
+ errno := go_strerror(_C_int(errnum), &b[0], Size_t(len(b)))
if errno == 0 {
- i := 0
- for b[i] != 0 {
- i++
- }
+ i := bytealg.IndexByte(b, 0)
// Lowercase first letter: Bad -> bad, but
// STREAM -> STREAM.
if i > 1 && 'A' <= b[0] && b[0] <= 'Z' && 'a' <= b[1] && b[1] <= 'z' {
@@ -29,7 +25,7 @@ func Errstr(errnum int) string {
return string(b[:i])
}
if errno != ERANGE {
- return "errstr failure"
+ return "strerror_r failure"
}
}
}
diff --git a/libgo/go/syscall/errstr_glibc.go b/libgo/go/syscall/errstr_glibc.go
deleted file mode 100644
index 5b19e6f2..00000000
--- a/libgo/go/syscall/errstr_glibc.go
+++ /dev/null
@@ -1,33 +0,0 @@
-// errstr_glibc.go -- GNU/Linux and GNU/Hurd specific error strings.
-
-// Copyright 2010 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// We use this rather than errstr.go because on GNU/Linux sterror_r
-// returns a pointer to the error message, and may not use buf at all.
-
-// +build hurd linux
-
-package syscall
-
-import "unsafe"
-
-//sysnb strerror_r(errnum int, b []byte) (errstr *byte)
-//strerror_r(errnum _C_int, b *byte, len Size_t) *byte
-
-func Errstr(errnum int) string {
- a := make([]byte, 128)
- p := strerror_r(errnum, a)
- b := (*[1000]byte)(unsafe.Pointer(p))
- i := 0
- for b[i] != 0 {
- i++
- }
- // Lowercase first letter: Bad -> bad, but STREAM -> STREAM.
- if i > 1 && 'A' <= b[0] && b[0] <= 'Z' && 'a' <= b[1] && b[1] <= 'z' {
- c := b[0] + 'a' - 'A'
- return string(c) + string(b[1:i])
- }
- return string(b[:i])
-}
diff --git a/libgo/runtime/go-strerror.c b/libgo/runtime/go-strerror.c
new file mode 100644
index 00000000..13d1d91d
--- /dev/null
+++ b/libgo/runtime/go-strerror.c
@@ -0,0 +1,37 @@
+/* go-strerror.c -- wrapper around XSI-compliant strerror_r.
+
+ Copyright 2022 The Go Authors. All rights reserved.
+ Use of this source code is governed by a BSD-style
+ license that can be found in the LICENSE file. */
+
+/* There are two version of strerror_r on GNU/Linux: a GNU-specific
+ and an XSI-compliant version. The former version is only available
+ on glibc. Since glibc 2.13, the XSI-compliant version is also
+ provided by glibc if _GNU_SOURCE is not defined. Since the
+ entirety of gofrontend is compiled with _GNU_SOURCE, this file
+ exists to selectively undefine it and provides an alias to the
+ XSI-compliant version of strerror_r(3). */
+
+#ifdef __linux__
+
+/* Force selection of XSI-compliant strerror_r by glibc. */
+#undef XOPEN_SOURCE
+#define XOPEN_SOURCE 600
+#undef _POSIX_C_SOURCE
+#define _POSIX_C_SOURCE 200112L
+#undef _GNU_SOURCE
+
+#endif /* __linux__ */
+
+#include <string.h>
+
+#ifndef HAVE_STRERROR_R
+// Provided by go-nosys.c if not provided by libc itself.
+extern int strerror_r (int, char *, size_t);
+#endif
+
+int
+go_strerror (int errnum, char *buf, size_t buflen)
+{
+ return strerror_r (errnum, buf, buflen);
+}
@@ -1,263 +0,0 @@
From 573a66e4146c9a65d895af9081a4d3d49cfc9e7a Mon Sep 17 00:00:00 2001
From: Drew DeVault <sir@cmpwn.com>
Date: Wed, 9 Dec 2020 16:07:26 +0000
Subject: [PATCH] configure: Add --enable-autolink-libatomic, use in
LINK_GCC_C_SEQUENCE_SPEC [PR81358]
This fixes issues with RISC-V.
---
Makefile.in | 1 +
gcc/config.in | 6 ++++++
gcc/config/gnu-user.h | 12 +++++++++++-
gcc/configure | 32 ++++++++++++++++++++++++++++++--
gcc/configure.ac | 22 +++++++++++++++++++++-
gcc/doc/install.texi | 8 ++++++++
gcc/doc/tm.texi | 8 +++++++-
gcc/doc/tm.texi.in | 8 +++++++-
gcc/gcc.cc | 12 +++++++++++-
9 files changed, 102 insertions(+), 7 deletions(-)
diff --git a/Makefile.in b/Makefile.in
index b564ddbf792..a95c7407d16 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -232,6 +232,7 @@ HOST_EXPORTS = \
RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \
READELF_FOR_TARGET="$(READELF_FOR_TARGET)"; export READELF_FOR_TARGET; \
TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
+ TARGET_CONFIGDIRS="$(TARGET_CONFIGDIRS)"; export TARGET_CONFIGDIRS; \
HOST_LIBS="$(STAGE1_LIBS)"; export HOST_LIBS; \
GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \
GMPINC="$(HOST_GMPINC)"; export GMPINC; \
diff --git a/gcc/config.in b/gcc/config.in
index f0fbf123aa8..af84efc4f9e 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -118,6 +118,12 @@
#endif
+/* Define if libatomic should always be linked. */
+#ifndef USED_FOR_TARGET
+#undef ENABLE_AUTOLINK_LIBATOMIC
+#endif
+
+
/* Define to 1 to specify that we are using the BID decimal floating point
format instead of DPD */
#ifndef USED_FOR_TARGET
diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h
index 8433e56c3e1..0347f10da8b 100644
--- a/gcc/config/gnu-user.h
+++ b/gcc/config/gnu-user.h
@@ -109,8 +109,18 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
#endif
+#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
+# ifdef LD_AS_NEEDED_OPTION
+# define LINK_LIBATOMIC_SPEC LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION
+# else
+# define LINK_LIBATOMIC_SPEC "-latomic"
+# endif
+#elif !defined(LINK_LIBATOMIC_SPEC)
+# define LINK_LIBATOMIC_SPEC ""
+#endif
+
#define GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC \
- "%{static|static-pie:--start-group} %G %{!nolibc:%L} \
+ "%{static|static-pie:--start-group} %G %{!nolibc:" LINK_LIBATOMIC_SPEC " %L} \
%{static|static-pie:--end-group}%{!static:%{!static-pie:%G}}"
#undef LINK_GCC_C_SEQUENCE_SPEC
diff --git a/gcc/configure b/gcc/configure
index 2f6b3265a6c..6dc65bf4ccb 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -981,6 +981,7 @@ with_changes_root_url
enable_languages
with_multilib_list
with_multilib_generator
+enable_autolink_libatomic
with_zstd
with_zstd_include
with_zstd_lib
@@ -1710,6 +1711,9 @@ Optional Features:
--disable-shared don't provide a shared libgcc
--disable-gcov don't provide libgcov and related host tools
--enable-languages=LIST specify which front-ends to build
+ --enable-autolink-libatomic
+ enable automatic linking of libatomic (ignored if
+ not built)
--disable-rpath do not hardcode runtime library paths
--enable-sjlj-exceptions
arrange to use setjmp/longjmp exception handling
@@ -8324,7 +8328,6 @@ else
fi
-
# Check whether --with-multilib-generator was given.
if test "${with_multilib_generator+set}" = set; then :
withval=$with_multilib_generator; :
@@ -8332,6 +8335,32 @@ else
with_multilib_generator=default
fi
+# If libatomic is available, whether it should be linked automatically
+# Check whether --enable-autolink-libatomic was given.
+if test "${enable_autolink_libatomic+set}" = set; then :
+ enableval=$enable_autolink_libatomic;
+ case $enable_autolink_libatomic in
+ yes | no) ;;
+ *) as_fn_error $? "'$enable_autolink_libatomic' is an invalid value for
+--enable-autolink-libatomic. Valid choices are 'yes' and 'no'." "$LINENO" 5 ;;
+ esac
+
+else
+ enable_autolink_libatomic=''
+fi
+
+
+if test x$enable_autolink_libatomic = xyes; then
+ if echo " ${TARGET_CONFIGDIRS} " | grep " libatomic " > /dev/null 2>&1 ; then
+
+$as_echo "#define ENABLE_AUTOLINK_LIBATOMIC 1" >>confdefs.h
+
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libatomic is not build for this target, --enable-autolink-libatomic ignored" >&5
+$as_echo "$as_me: WARNING: libatomic is not build for this target, --enable-autolink-libatomic ignored" >&2;}
+ fi
+fi
+
# -------------------------
# Checks for other programs
@@ -34296,4 +34325,3 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
fi
-
diff --git a/gcc/configure.ac b/gcc/configure.ac
index e683d3a7a5f..07c81c78336 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -1205,6 +1205,27 @@ AC_ARG_WITH(multilib-generator,
:,
with_multilib_generator=default)
+# If libatomic is available, whether it should be linked automatically
+AC_ARG_ENABLE(autolink-libatomic,
+[AS_HELP_STRING([--enable-autolink-libatomic],
+ [enable automatic linking of libatomic (ignored if not built)])],
+[
+ case $enable_autolink_libatomic in
+ yes | no) ;;
+ *) AC_MSG_ERROR(['$enable_autolink_libatomic' is an invalid value for
+--enable-autolink-libatomic. Valid choices are 'yes' and 'no'.]) ;;
+ esac
+], [enable_autolink_libatomic=''])
+
+if test x$enable_autolink_libatomic = xyes; then
+ if echo " ${TARGET_CONFIGDIRS} " | grep " libatomic " > /dev/null 2>&1 ; then
+ AC_DEFINE(ENABLE_AUTOLINK_LIBATOMIC, 1,
+ [Define if libatomic should always be linked.])
+ else
+ AC_MSG_WARN([libatomic is not build for this target, --enable-autolink-libatomic ignored])
+ fi
+fi
+
# -------------------------
# Checks for other programs
# -------------------------
@@ -7839,4 +7860,3 @@ done
],
[subdirs='$subdirs'])
AC_OUTPUT
-
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index 48408d842db..c90be0ee750 100644
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -2295,6 +2295,14 @@ files, but these changed header paths may conflict with some compilation
environments. Enabled by default, and may be disabled using
@option{--disable-canonical-system-headers}.
+@item --enable-autolink-libatomic
+@itemx --disable-autolink-libatomic
+Tell GCC that it should automatically link libatomic; if supported by
+the linker, the file is only linked as needed. This flag is ignored
+when libatomic is not built. Note that this conigure flag is in particular
+useful when building an offloading-target compiler; as for those, a
+user had to specify @code{-foffload=target=-latomic} otherwise.
+
@item --with-glibc-version=@var{major}.@var{minor}
Tell GCC that when the GNU C Library (glibc) is used on the target it
will be version @var{major}.@var{minor} or later. Normally this can
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index c5006afc00d..56b62c69ae8 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -381,7 +381,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
@defmac LINK_GCC_C_SEQUENCE_SPEC
The sequence in which libgcc and libc are specified to the linker.
-By default this is @code{%G %L %G}.
+By default this is @code{%G LINK_LIBATOMIC_SPEC %L %G}.
+@end defmac
+
+@defmac LINK_LIBATOMIC_SPEC
+This macro is used in the default @code{LINK_GCC_C_SEQUENCE_SPEC} to link
+libatomic. By default, it is unset unless @code{ENABLE_AUTOLINK_LIBATOMIC}
+is set.
@end defmac
@defmac POST_LINK_SPEC
diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in
index f869ddd5e5b..57c93f24ac3 100644
--- a/gcc/doc/tm.texi.in
+++ b/gcc/doc/tm.texi.in
@@ -381,7 +381,13 @@ the argument @option{-lgcc} to tell the linker to do the search.
@defmac LINK_GCC_C_SEQUENCE_SPEC
The sequence in which libgcc and libc are specified to the linker.
-By default this is @code{%G %L %G}.
+By default this is @code{%G LINK_LIBATOMIC_SPEC %L %G}.
+@end defmac
+
+@defmac LINK_LIBATOMIC_SPEC
+This macro is used in the default @code{LINK_GCC_C_SEQUENCE_SPEC} to link
+libatomic. By default, it is unset unless @code{ENABLE_AUTOLINK_LIBATOMIC}
+is set.
@end defmac
@defmac POST_LINK_SPEC
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index 735b2b1bba1..f10f3c91aa7 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -987,13 +987,23 @@ proper position among the other output files. */
# define ASM_DEBUG_OPTION_SPEC ""
#endif
+#if !defined(LINK_LIBATOMIC_SPEC) && defined(ENABLE_AUTOLINK_LIBATOMIC)
+# ifdef LD_AS_NEEDED_OPTION
+# define LINK_LIBATOMIC_SPEC LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION
+# else
+# define LINK_LIBATOMIC_SPEC "-latomic"
+# endif
+#elif !defined(LINK_LIBATOMIC_SPEC)
+# define LINK_LIBATOMIC_SPEC ""
+#endif
+
/* Here is the spec for running the linker, after compiling all files. */
/* This is overridable by the target in case they need to specify the
-lgcc and -lc order specially, yet not require them to override all
of LINK_COMMAND_SPEC. */
#ifndef LINK_GCC_C_SEQUENCE_SPEC
-#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}"
+#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:" LINK_LIBATOMIC_SPEC " %L %G}"
#endif
#ifdef ENABLE_DEFAULT_SSP
@@ -1,54 +0,0 @@
From 4baaeb9661fa4015d9701e3616ce1ad4e8a07fd8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
Date: Sun, 29 Aug 2021 09:45:27 +0200
Subject: [PATCH] configure: fix detection of atomic builtins in libatomic
configure script
Alpine's --enable-autolink-libatomic (which is enabled for riscv64 by
default) causes the libatomic configure script to incorrectly detect
which builtins are available on riscv64. This then causes incorrect code
generation for libatomic since it assumes compiler builtins to be
available which are not actually available on riscv64.
This commit fixes this issue by disabling linking of libatomic configure
test code entirely, thereby preventing linking against libatomic.
See:
* https://gitlab.alpinelinux.org/alpine/aports/-/issues/12948
* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101996#c6
---
libatomic/configure.tgt | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt
index 33f8c91ce77..3999db2cf8a 100644
--- a/libatomic/configure.tgt
+++ b/libatomic/configure.tgt
@@ -30,6 +30,26 @@
# on ${target_cpu}. For example to allow proper use of multilibs.
configure_tgt_pre_target_cpu_XCFLAGS="${XCFLAGS}"
+# The libatomic configure script performs several checks to determine
+# whether builtins for atomic operations are available. When compiling
+# with --enable-autolink-libatomic the test code compiled by the
+# configure script is also linked against libatomic. This causes it
+# to think that builtins are available, even if there are not, since
+# the tested symbols are provided by libatomic.
+#
+# This is a hack to ensure that we don't link against libatomic by not
+# linking any configure test code at all when --enable-autolink-libatomic
+# is given.
+#
+# See:
+#
+# * https://gitlab.alpinelinux.org/alpine/aports/-/issues/12817
+# * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101996#c4
+#
+if test x$enable_autolink_libatomic = xyes; then
+ gcc_no_link=yes
+fi
+
case "${target_cpu}" in
alpha*)
# fenv.c needs this option to generate inexact exceptions.
@@ -1,199 +0,0 @@
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
They are macros in musl libc, rather than typedefs, and -fgo-dump-spec
doesn't handle that case.
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/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..61a49947eb9 100755
--- a/libgo/configure
+++ b/libgo/configure
@@ -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="$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..274fcfc35c7 100644
--- a/libgo/configure.ac
+++ b/libgo/configure.ac
@@ -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="$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 336a5983750..fc0210992fa 100644
--- a/libgo/sysinfo.c
+++ b/libgo/sysinfo.c
@@ -354,6 +354,18 @@ enum {
};
#endif
+#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
+
+#if defined(HAVE_OFF64_T)
+typedef off64_t libgo_off_t_type;
+#else
+typedef off_t libgo_off_t_type;
+#endif
+
// 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,59 +0,0 @@
From 5e658f4659c551330ea68f5667e4f951b218f32d Mon Sep 17 00:00:00 2001
From: Ian Lance Taylor <iant@golang.org>
Date: Wed, 26 Oct 2022 17:23:42 -0700
Subject: [PATCH] runtime: use _libgo_off_t_type when calling C mmap
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The last argument to the C mmap function is type off_t, not uintptr.
On some 32-bit systems, off_t is larger than uintptr.
Based on patch by Sören Tempel.
Change-Id: Ib6f9d5bcd4734f99a72889e2282b97ec3c8fbd34
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/445735
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Than McIntosh <thanm@google.com>
---
libgo/go/runtime/mem_gccgo.go | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/libgo/go/runtime/mem_gccgo.go b/libgo/go/runtime/mem_gccgo.go
index fa3389d8..1e84f4f5 100644
--- a/libgo/go/runtime/mem_gccgo.go
+++ b/libgo/go/runtime/mem_gccgo.go
@@ -15,7 +15,7 @@ import (
//go:linkname sysFree
//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 _libgo_off_t_type) unsafe.Pointer
//extern munmap
func munmap(addr unsafe.Pointer, length uintptr) int32
@@ -38,7 +38,7 @@ func init() {
}
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, _libgo_off_t_type(off))
if uintptr(p) == _MAP_FAILED {
return nil, errno()
}
@@ -47,6 +47,7 @@ func mmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off uintptr) (u
// Don't split the stack as this method may be invoked without a valid G, which
// prevents us from allocating more stack.
+//
//go:nosplit
func sysAlloc(n uintptr, sysStat *sysMemStat) unsafe.Pointer {
p, err := mmap(nil, n, _PROT_READ|_PROT_WRITE, _MAP_ANON|_MAP_PRIVATE, mmapFD, 0)
@@ -165,6 +166,7 @@ func sysHugePage(v unsafe.Pointer, n uintptr) {
// Don't split the stack as this function may be invoked without a valid G,
// which prevents us from allocating more stack.
+//
//go:nosplit
func sysFree(v unsafe.Pointer, n uintptr, sysStat *sysMemStat) {
sysStat.add(-int64(n))
@@ -1,71 +0,0 @@
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
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/config/i386/gnu-user-common.h | 5 +++--
gcc/config/i386/gnu.h | 5 +++--
2 files changed, 6 insertions(+), 4 deletions(-)
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
/* 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
/* 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,41 +0,0 @@
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
Patches for musl support, from Sören Tempel.
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 | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libgo/mksysinfo.sh b/libgo/mksysinfo.sh
index 5aa30915..ea1fa17d 100755
--- a/libgo/mksysinfo.sh
+++ b/libgo/mksysinfo.sh
@@ -127,6 +127,7 @@ fi
# The syscall numbers. We force the names to upper case.
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,24 +0,0 @@
From 20c84de53efcb86993f1a1909e65a97240d6123e Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Thu, 30 Jun 2022 17:08:36 +0000
Subject: [PATCH] libstdc++: do not throw exceptions for non-C locales on musl
targets
---
libstdc++-v3/config/locale/generic/c_locale.cc | 3 ---
1 file changed, 3 deletions(-)
diff --git a/libstdc++-v3/config/locale/generic/c_locale.cc b/libstdc++-v3/config/locale/generic/c_locale.cc
index 1e4db8d4415..9b79bc3c5dd 100644
--- a/libstdc++-v3/config/locale/generic/c_locale.cc
+++ b/libstdc++-v3/config/locale/generic/c_locale.cc
@@ -242,9 +242,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// Currently, the generic model only supports the "C" locale.
// See http://gcc.gnu.org/ml/libstdc++/2003-02/msg00345.html
__cloc = 0;
- if (strcmp(__s, "C"))
- __throw_runtime_error(__N("locale::facet::_S_create_c_locale "
- "name not valid"));
}
void
@@ -1,23 +0,0 @@
From b6554d1207d0f5771c2f5d11316b61787e4dd705 Mon Sep 17 00:00:00 2001
From: Mathias LANG <pro.mathias.lang@gmail.com>
Date: Mon, 17 Jan 2022 16:31:09 +0000
Subject: [PATCH] gdc: unconditionally link libgphobos against libucontext
ref: alpine/aports#13422
---
Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.in b/Makefile.in
index a95c7407d16..ea942d60387 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -53287,7 +53287,7 @@ configure-target-libphobos:
esac; \
module_srcdir=libphobos; \
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 4644 files, more files were not shown because too many files have changed in this diff. Show more