mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-15 18:03:30 +00:00

* mpc85xx: add support for cpu type 8548 8540 cpu type corresponds to e500v1 core while 8548 cpu type corresponds to e500v2 core See https://www.nxp.com/products/processors-and-microcontrollers/legacy-mpu-mcus/powerquicc-processors:POWERQUICC_HOME#powerquicc-iii-mpc85xx and https://www.nxp.com/docs/en/application-note/AN2807.pdf . Co-authored-by: Josef Schlehofer <josef.schlehofer@nic.cz> Co-authored-by: Pali Rohár <pali@kernel.org> Signed-off-by: Šimon Bořek <simon.borek@nic.cz> * tree-wide: Do not use package librt and libpthread The libraries libpthread, libdl, libutil, libanl have been integrated into the libc library in version 2.34. it is not needed to explicitly link them any more. Most of the functions have been moved from the librt.so into libc.so some time ago already. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> * toolchain/binutils: backport stable patches Add the patches with real changes from the binutils 2.39 stable branch. I am not aware that we ran into any of these problems, but I think it is better to take the existing stable patches. They were exported like this: git format-patch binutils-2_39...origin/binutils-2_39-branch I removed the patches changing the version numbers only. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> * toolchain/binutils: switch to version 2.39 by default This was build tested with all core packages on all targets successfully. This was run tested on the following systems: * lantiq/xrx200 musl * sunxi/cortex53 musl * x86/64 musl * x86/64 glibc Some trusted firmware arm builds needed some fixes to build with binutils 2.39, this was merged before. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> * tools: Improve diffability/maintainability There's no purpose to squish multiple tools into a single line (and spread those out over multiple lines). It might look 'nice' in certain conditions, but it's annoying to maintain. For example, but not limited to: * adding/removing tools, causes hard to read diffs * Duplicates are harder to spot * Sorting can not be (easily?) automated With this proposed change, the above annoyances go away. Inserting a new tool can be done with a single line-change-diff, sorting can be done by any editor (in vi, select, :sort for example) and dupes are much easier to spot. Signed-off-by: Olliver Schinagl <oliver@schinagl.nl> * rules: drop -Wno-error additional flags from default TARGET_CFLAGS We currently enable -Wno-error=unused-but-set-variable and -Wno-error=unused-result by default on every compile package. While this is (relatively) unharmful, we should follow other project direction and starts enforcing good code quality. For example the linux kernel recently started to enforce Wall by default and clean code is mandatory for inclusion. Drop for good these flags and and make it mandatory to correctly handle return values at least with a warning log if they are not strictly error condition. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> * bridger: update to the latest version def7755c459d add missing copyright headers f68307fd96d7 add hairpin mode support 9ee8f433ba4e nl: do not pass NDA_VLAN with vid=0 978c1f9eed07 add support for the bridge port isolated flag Signed-off-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Šimon Bořek <simon.borek@nic.cz> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Olliver Schinagl <oliver@schinagl.nl> Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> Signed-off-by: Felix Fietkau <nbd@nbd.name> Co-authored-by: Šimon Bořek <simon.borek@nic.cz> Co-authored-by: Josef Schlehofer <josef.schlehofer@nic.cz> Co-authored-by: Pali Rohár <pali@kernel.org> Co-authored-by: Hauke Mehrtens <hauke@hauke-m.de> Co-authored-by: Olliver Schinagl <oliver@schinagl.nl> Co-authored-by: Christian Marangi <ansuelsmth@gmail.com> Co-authored-by: Felix Fietkau <nbd@nbd.name>
95 lines
3.4 KiB
Diff
95 lines
3.4 KiB
Diff
From 010db38b54b589ca3e95b498aba2831064970171 Mon Sep 17 00:00:00 2001
|
|
From: Alan Modra <amodra@gmail.com>
|
|
Date: Wed, 21 Sep 2022 09:06:29 +0930
|
|
Subject: [PATCH 055/160] Re: PowerPC64 pcrel got relocs against local symbols
|
|
|
|
The last patch wasn't all that shiny. There are rather a lot more
|
|
relocations that can hit the assertion in md_apply_fix if the symbol
|
|
is local or absolute. Fix them all.
|
|
|
|
* config/tc-ppc.c (ppc_force_relocation): Add all relocs that
|
|
expect a symbol in md_apply_fix. Remove tls pcrel relocs
|
|
already covered in general tls match range.
|
|
|
|
(cherry picked from commit 8b168f1a1e09e337d2a970f204a0230c091bbe58)
|
|
---
|
|
gas/config/tc-ppc.c | 58 ++++++++++++++++++++++++++++++++++++++++-----
|
|
1 file changed, 52 insertions(+), 6 deletions(-)
|
|
|
|
--- a/gas/config/tc-ppc.c
|
|
+++ b/gas/config/tc-ppc.c
|
|
@@ -6666,8 +6666,6 @@ ppc_force_relocation (fixS *fix)
|
|
int
|
|
ppc_force_relocation (fixS *fix)
|
|
{
|
|
- /* Branch prediction relocations must force a relocation, as must
|
|
- the vtable description relocs. */
|
|
switch (fix->fx_r_type)
|
|
{
|
|
case BFD_RELOC_PPC_B16_BRTAKEN:
|
|
@@ -6676,12 +6674,60 @@ ppc_force_relocation (fixS *fix)
|
|
case BFD_RELOC_PPC_BA16_BRNTAKEN:
|
|
case BFD_RELOC_24_PLT_PCREL:
|
|
case BFD_RELOC_PPC64_TOC:
|
|
+ case BFD_RELOC_16_GOTOFF:
|
|
+ case BFD_RELOC_LO16_GOTOFF:
|
|
+ case BFD_RELOC_HI16_GOTOFF:
|
|
+ case BFD_RELOC_HI16_S_GOTOFF:
|
|
+ case BFD_RELOC_LO16_PLTOFF:
|
|
+ case BFD_RELOC_HI16_PLTOFF:
|
|
+ case BFD_RELOC_HI16_S_PLTOFF:
|
|
+ case BFD_RELOC_GPREL16:
|
|
+ case BFD_RELOC_16_BASEREL:
|
|
+ case BFD_RELOC_LO16_BASEREL:
|
|
+ case BFD_RELOC_HI16_BASEREL:
|
|
+ case BFD_RELOC_HI16_S_BASEREL:
|
|
+ case BFD_RELOC_PPC_TOC16:
|
|
+ case BFD_RELOC_PPC64_TOC16_LO:
|
|
+ case BFD_RELOC_PPC64_TOC16_HI:
|
|
+ case BFD_RELOC_PPC64_TOC16_HA:
|
|
+ case BFD_RELOC_PPC64_PLTGOT16:
|
|
+ case BFD_RELOC_PPC64_PLTGOT16_LO:
|
|
+ case BFD_RELOC_PPC64_PLTGOT16_HI:
|
|
+ case BFD_RELOC_PPC64_PLTGOT16_HA:
|
|
+ case BFD_RELOC_PPC64_GOT16_DS:
|
|
+ case BFD_RELOC_PPC64_GOT16_LO_DS:
|
|
+ case BFD_RELOC_PPC64_PLT16_LO_DS:
|
|
+ case BFD_RELOC_PPC64_SECTOFF_DS:
|
|
+ case BFD_RELOC_PPC64_SECTOFF_LO_DS:
|
|
+ case BFD_RELOC_PPC64_TOC16_DS:
|
|
+ case BFD_RELOC_PPC64_TOC16_LO_DS:
|
|
+ case BFD_RELOC_PPC64_PLTGOT16_DS:
|
|
+ case BFD_RELOC_PPC64_PLTGOT16_LO_DS:
|
|
+ case BFD_RELOC_PPC_EMB_NADDR16:
|
|
+ case BFD_RELOC_PPC_EMB_NADDR16_LO:
|
|
+ case BFD_RELOC_PPC_EMB_NADDR16_HI:
|
|
+ case BFD_RELOC_PPC_EMB_NADDR16_HA:
|
|
+ case BFD_RELOC_PPC_EMB_SDAI16:
|
|
+ case BFD_RELOC_PPC_EMB_SDA2I16:
|
|
+ case BFD_RELOC_PPC_EMB_SDA2REL:
|
|
+ case BFD_RELOC_PPC_EMB_SDA21:
|
|
+ case BFD_RELOC_PPC_EMB_MRKREF:
|
|
+ case BFD_RELOC_PPC_EMB_RELSEC16:
|
|
+ case BFD_RELOC_PPC_EMB_RELST_LO:
|
|
+ case BFD_RELOC_PPC_EMB_RELST_HI:
|
|
+ case BFD_RELOC_PPC_EMB_RELST_HA:
|
|
+ case BFD_RELOC_PPC_EMB_BIT_FLD:
|
|
+ case BFD_RELOC_PPC_EMB_RELSDA:
|
|
+ case BFD_RELOC_PPC_VLE_SDA21:
|
|
+ case BFD_RELOC_PPC_VLE_SDA21_LO:
|
|
+ case BFD_RELOC_PPC_VLE_SDAREL_LO16A:
|
|
+ case BFD_RELOC_PPC_VLE_SDAREL_LO16D:
|
|
+ case BFD_RELOC_PPC_VLE_SDAREL_HI16A:
|
|
+ case BFD_RELOC_PPC_VLE_SDAREL_HI16D:
|
|
+ case BFD_RELOC_PPC_VLE_SDAREL_HA16A:
|
|
+ case BFD_RELOC_PPC_VLE_SDAREL_HA16D:
|
|
case BFD_RELOC_PPC64_PLT_PCREL34:
|
|
case BFD_RELOC_PPC64_GOT_PCREL34:
|
|
- case BFD_RELOC_PPC64_GOT_TLSGD_PCREL34:
|
|
- case BFD_RELOC_PPC64_GOT_TLSLD_PCREL34:
|
|
- case BFD_RELOC_PPC64_GOT_TPREL_PCREL34:
|
|
- case BFD_RELOC_PPC64_GOT_DTPREL_PCREL34:
|
|
return 1;
|
|
case BFD_RELOC_PPC_B26:
|
|
case BFD_RELOC_PPC_BA26:
|