On 2018-09-24 13:38, Martin Schiller wrote:
On 2018-09-24 13:14, Martin Schiller wrote:
Hi,
I've got some problems with the lantiq uboot in combination with the
(default) gcc 7.x compiler.
Setting "OPTFLAGS" in uboot's config.mk to "-O2" or the default "-Os"
leads to the following behaviour:
The uboot compiles well, but when you try o access the ethernet
network (ping/tftboot) the device do a RESET:
(tested on a Lantiq VRX268 v1.2)
----------------------------------------------------
....
VR2020 # ping 192.168.1.20
ltq_phy: addr 1, link 0, speed 10, duplex 0
ltq_phy: addr 17, link 0, speed 10, duplex 0
ltq_phy: addr 18, link 0, speed 10, duplex 0
ltq_phy: addr 19, link 1, speed 100, duplex 1
ltq_phy: addr 20, link 0, speed 10, duplex 0
Using ltq-eth device
ROM VER: 1.1.4
CFG 04
_�
ROM VER: 1.1.4
CFG 04
EEPROM Data OK
UART
----------------------------------------------------
doing the same with "OPTFLAGS" set to "-O1" everything works fine:
----------------------------------------------------
...
VR2020 # ping 192.168.1.20
ltq_phy: addr 1, link 0, speed 10, duplex 0
ltq_phy: addr 17, link 0, speed 10, duplex 0
ltq_phy: addr 18, link 0, speed 10, duplex 0
ltq_phy: addr 19, link 1, speed 100, duplex 1
ltq_phy: addr 20, link 0, speed 10, duplex 0
Using ltq-eth device
host 192.168.1.20 is alive
VR2020 #
----------------------------------------------------
When using gcc 6.x or 5.x, "OPTFLAGS=-Os" also works.
Any ideas how to get "OPTFLAGS=-Os" working again with gcc 7.x?
Ok, found out that '-fstore-merging' is responsible for the crash,
which is enabled with "-02" in gcc 7.x by default.
Adding "-fno-store-merging" to "OPTFLAGS" fixes the problem.
Here is also a "statement" to this problem:
https://patchwork.ozlabs.org/patch/792238/
I've backported this commit/fix for uboot-lantiq now:
https://github.com/openwrt/openwrt/pull/1404
Maybe this should also be done for other uboot targets?
- Martin
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel