<feed xmlns='http://www.w3.org/2005/Atom'>
<title>staging/dedeckeh/toolchain/gcc, branch master</title>
<subtitle>Staging tree of dedeckeh</subtitle>
<id>https://git.openwrt.org/openwrt/staging/dedeckeh/atom?h=master</id>
<link rel='self' href='https://git.openwrt.org/openwrt/staging/dedeckeh/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/dedeckeh/'/>
<updated>2023-03-17T01:08:25Z</updated>
<entry>
<title>toolchain/gcc: enable zstd support</title>
<updated>2023-03-17T01:08:25Z</updated>
<author>
<name>Andre Heider</name>
</author>
<published>2023-02-05T22:21:46Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/dedeckeh/commit/?id=acc8c2d829fb5e0e0b2495d720e058f91ea164b0'/>
<id>urn:sha1:acc8c2d829fb5e0e0b2495d720e058f91ea164b0</id>
<content type='text'>
LTO object files will now be compressed using zstd.

Compressing debug sections with zstd will have to wait for GCC 13,
which adds support for -gz=zstd.

NOTE: wiping the ccache is strongly recommended, not doing so might
yield build error later on:
"lto1: internal compiler error: original not compressed with zstd"

Signed-off-by: Andre Heider &lt;a.heider@gmail.com&gt;
</content>
</entry>
<entry>
<title>toolchain: remove installing twice in the "initial" subdir</title>
<updated>2023-02-19T18:44:39Z</updated>
<author>
<name>Andre Heider</name>
</author>
<published>2023-02-07T20:33:33Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/dedeckeh/commit/?id=7ae4716243dda59bcff21ba0ee704322b2db10f4'/>
<id>urn:sha1:7ae4716243dda59bcff21ba0ee704322b2db10f4</id>
<content type='text'>
This was apparently introduced to recreate the toolchain (wipe
staging_dir/toolchain*, but keep build_dir/toolchain*, followed by a
`make toolchain/compile`).

But it leaves leftovers and causes re-links to happen at src_install phase,
because of the changed paths, possibly adding yet another source of issues.

With the prior commits removing various hacks related to the "initial"
folder we can remove installing it twice altogether.

The recreated toolchain is exactly the same as before.

Signed-off-by: Andre Heider &lt;a.heider@gmail.com&gt;
</content>
</entry>
<entry>
<title>toolchain/musl: remove libgcc_initial hack</title>
<updated>2023-02-19T18:44:39Z</updated>
<author>
<name>Andre Heider</name>
</author>
<published>2023-02-09T10:06:31Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/dedeckeh/commit/?id=4d384d28e44138c7619c0ab68b95cac21eeafbbf'/>
<id>urn:sha1:4d384d28e44138c7619c0ab68b95cac21eeafbbf</id>
<content type='text'>
This reverts r15599 [0].

This was added to fix an uclibc rebuild issue, but since uclibc
isn't supported anymore [Fixes:] this can be removed.

[0] https://git.openwrt.org/?p=openwrt/svn-archive/archive.git;a=commitdiff;h=016a052efeee6bc2da3f501a8c66b5aea20350b4

Fixes: 63fb1752 "toolchain: remove uClibc-ng"
Signed-off-by: Andre Heider &lt;a.heider@gmail.com&gt;
</content>
</entry>
<entry>
<title>toolchain/gcc: remove glibc libgcc_eh hack</title>
<updated>2023-02-19T18:44:39Z</updated>
<author>
<name>Andre Heider</name>
</author>
<published>2023-02-09T09:09:08Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/dedeckeh/commit/?id=eb093c517421465d8636fab5eb4fb890d0858a47'/>
<id>urn:sha1:eb093c517421465d8636fab5eb4fb890d0858a47</id>
<content type='text'>
A modern glibc only links against libgcc_eh for its tests or when building it
static, which doesn't happen here.

Reverts a hunk of: a3edea1b "add support for alternative C libraries..."

Signed-off-by: Andre Heider &lt;a.heider@gmail.com&gt;
</content>
</entry>
<entry>
<title>toolchain/gcc: clean up CFLAGS</title>
<updated>2023-02-09T01:53:35Z</updated>
<author>
<name>Andre Heider</name>
</author>
<published>2023-01-31T08:30:18Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/dedeckeh/commit/?id=ad564cb0197865bb6caecd6a0ea628249c08afb2'/>
<id>urn:sha1:ad564cb0197865bb6caecd6a0ea628249c08afb2</id>
<content type='text'>
Instead of having two different ways to pass flags to the gcc build
process, add them as configure args, which is a reliable way to let
gcc pass them around to its various pieces.

Also add CXXFLAGS, since gcc started to use c++ for itself recently
(~10 years ago now).

Signed-off-by: Andre Heider &lt;a.heider@gmail.com&gt;
</content>
</entry>
<entry>
<title>toolchain/gcc: use explicit configure args</title>
<updated>2023-02-09T01:53:35Z</updated>
<author>
<name>Andre Heider</name>
</author>
<published>2023-01-31T11:04:00Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/dedeckeh/commit/?id=4b8b89da506d1272ccbf944b1ece6c8ddaeff2ed'/>
<id>urn:sha1:4b8b89da506d1272ccbf944b1ece6c8ddaeff2ed</id>
<content type='text'>
Spell out what we want to enable or disable. This prevents host libs to leak in,
so everyone get the same feature set.

Signed-off-by: Andre Heider &lt;a.heider@gmail.com&gt;
</content>
</entry>
<entry>
<title>treewide: strip useless `default n` Kconfig lines</title>
<updated>2023-02-03T11:50:15Z</updated>
<author>
<name>Tony Butler</name>
</author>
<published>2022-12-25T23:11:48Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/dedeckeh/commit/?id=8bc72ea7be3976711dacc09f0fdab061d6e5152a'/>
<id>urn:sha1:8bc72ea7be3976711dacc09f0fdab061d6e5152a</id>
<content type='text'>
Kconfig docs say:
&gt; The default value deliberately defaults to 'n' in order to avoid
&gt; bloating the build.

Apply this rule everywhere, to avoid more cloning of bad examples

Signed-off-by: Tony Butler &lt;spudz76@gmail.com&gt;
</content>
</entry>
<entry>
<title>toolchain/gcc: use STAGING_DIR_HOST instead of hardcoding default</title>
<updated>2023-01-09T20:33:19Z</updated>
<author>
<name>Christian Marangi</name>
</author>
<published>2022-12-02T19:31:38Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/dedeckeh/commit/?id=9590e1155d7a9dcfc30ba0a95ccea43698bab8cf'/>
<id>urn:sha1:9590e1155d7a9dcfc30ba0a95ccea43698bab8cf</id>
<content type='text'>
Use STAGING_DIR_HOST to reference staging host directory instead of
hardcoding it to default path.

Signed-off-by: Christian Marangi &lt;ansuelsmth@gmail.com&gt;
</content>
</entry>
<entry>
<title>toolchain/gcc: fix broken gcc version selection</title>
<updated>2023-01-09T20:25:30Z</updated>
<author>
<name>Christian Marangi</name>
</author>
<published>2023-01-09T20:19:02Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/dedeckeh/commit/?id=9988832c464054847c22188e65b22cf0f86f25e6'/>
<id>urn:sha1:9988832c464054847c22188e65b22cf0f86f25e6</id>
<content type='text'>
Config evaluation require default with if to be put before the generic
default config with no condition. Putting the default config before any
conditional default results in always selecting the non conditional one.

This results in the version be hardcoded to gcc 12 even if gcc 11 is
selected in the Advanced build options.

Fix this by putting the gcc 12 default option as last after ANY
conditional default config.

Fixes: d9de5252a44e ("toolchain/gcc: switch to version 12 by default")
Signed-off-by: Christian Marangi &lt;ansuelsmth@gmail.com&gt;
</content>
</entry>
<entry>
<title>toolchain/gcc: switch to version 12 by default</title>
<updated>2023-01-08T23:23:41Z</updated>
<author>
<name>Hauke Mehrtens</name>
</author>
<published>2022-12-19T00:47:48Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/dedeckeh/commit/?id=d9de5252a44e208cecaa1e2edad3d1615b84302c'/>
<id>urn:sha1:d9de5252a44e208cecaa1e2edad3d1615b84302c</id>
<content type='text'>
This was build tested with all core packages on all targets
successfully.

Most packages from the feed are also building fine.

This was run tested on the following systems:
* lantiq/xrx200 musl
* pistachio/generic musl
* sunxi/cortexa53 musl
* x86/64 musl
* x86/64 glibc
* armvirt/64 musl

The size of the images stays more or less the same for MIPS BE and
aarch64. I haven't tested other architectures.

With GCC 11 I got these sizes for lantiq/xrx200:
7,219,848 openwrt-lantiq-xrx200-tplink_tdw8970-initramfs-kernel.bin
7,472,208 openwrt-lantiq-xrx200-tplink_tdw8970-squashfs-sysupgrade.bin

With GCC 12 I got these sizes for lantiq/xrx200:
7,217,355 openwrt-lantiq-xrx200-tplink_tdw8970-initramfs-kernel.bin
7,406,674 openwrt-lantiq-xrx200-tplink_tdw8970-squashfs-sysupgrade.bin

The sysupgrade image is probably padded. The initramfs image is 0.03% smaller.

With GCC 11 I got these sizes for armvirt/64:
 4,143,943 openwrt-armvirt-64-default-rootfs.tar.gz
10,887,176 openwrt-armvirt-64-Image
24,911,880 openwrt-armvirt-64-Image-initramfs
 4,141,572 openwrt-armvirt-64-rootfs.cpio.gz
 4,255,854 openwrt-armvirt-64-rootfs-ext4.img.gz
 3,391,178 openwrt-armvirt-64-rootfs-squashfs.img.gz

With GCC 12 I got these sizes for armvirt/64:
 4,142,778 openwrt-armvirt-64-default-rootfs.tar.gz
10,887,176 openwrt-armvirt-64-Image
24,911,880 openwrt-armvirt-64-Image-initramfs
 4,138,105 openwrt-armvirt-64-rootfs.cpio.gz
 4,255,463 openwrt-armvirt-64-rootfs-ext4.img.gz
 3,390,390 openwrt-armvirt-64-rootfs-squashfs.img.gz

Signed-off-by: Hauke Mehrtens &lt;hauke@hauke-m.de&gt;
</content>
</entry>
</feed>
