Skip to contentSkip to conversation

ptpd2: fix bfin compile by avoiding gcc bug

PATCH New Waldemar Brodkorb 2 participants 4 messages Nov 21, 2016 – Nov 22, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ptpd2: fix bfin compile by avoiding gcc bug

Fixes:
http://autobuild.buildroot.net/results/cb967c8af006caa9272e800968f794ca018a7a27
http://autobuild.buildroot.net/results/9a046dc5ef390e562b89338f0afeaef14b945458

---
 package/ptpd2/ptpd2.mk | 6 ++++++
 1 file changed, 6 insertions(+)
package/ptpd2/ptpd2.mk +6 -0
index da6a106..43b59dc 100644
@@ -24,6 +24,12 @@ else
 PTPD2_CONF_OPTS += --disable-snmp
 endif
 
+# GCC bug with Os/O1/O2/O3
+# internal compiler error: in gen_add2_insn, at optabs.c:4454
+ifeq ($(BR2_bfin),y)
+PTPD2_CONF_ENV += CFLAGS="-O0"
+endif
+
 define PTPD2_INSTALL_INIT_SYSV
 	$(INSTALL) -m 755 -D package/ptpd2/S65ptpd2 \
 		$(TARGET_DIR)/etc/init.d/S65ptpd2
Signature · 1 line
2.1.4
#1 lore raw

PATCH 1/1 ptpd2: fix bfin compile by avoiding gcc bug

Hello,

package/ptpd2/ptpd2.mk else · line 30

Quoted 4 lines · Waldemar Brodkorb
package/ptpd2/ptpd2.mk +4 -0
+# GCC bug with Os/O1/O2/O3
+# internal compiler error: in gen_add2_insn, at optabs.c:4454
+ifeq ($(BR2_bfin),y)
+PTPD2_CONF_ENV += CFLAGS="-O0"

You forgot to pass $(TARGET_CFLAGS) here. With your change, we loose TARGET_CFLAGS. So I've fixed that up and applied.

However, I continue to dislike such hacks: when the problem gets fixed by gcc, how will we notice?

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
#2 lore raw

PATCH 1/1 ptpd2: fix bfin compile by avoiding gcc bug

Hi Thomas,
Thomas Petazzoni wrote,

Quoted 12 lines

Hello,

package/ptpd2/ptpd2.mk else · line 30

Quoted 4 lines · Waldemar Brodkorb
package/ptpd2/ptpd2.mk +4 -0
+# GCC bug with Os/O1/O2/O3
+# internal compiler error: in gen_add2_insn, at optabs.c:4454
+ifeq ($(BR2_bfin),y)
+PTPD2_CONF_ENV += CFLAGS="-O0"

You forgot to pass $(TARGET_CFLAGS) here. With your change, we loose TARGET_CFLAGS. So I've fixed that up and applied.

Quoted 2 lines

However, I continue to dislike such hacks: when the problem gets fixed by gcc, how will we notice?

Either when we get notice that the PR is closed, this time I need to create one. But we have similar issues where we already have PR's. Or we check when a new gcc release come out, if the results from "grep bfin package/*/*mk" are still required.

I think better then never ending autobuild failures.

best regards
Waldemar

#3 lore raw

PATCH 1/1 ptpd2: fix bfin compile by avoiding gcc bug

Hello,

Quoted 7 lines · Waldemar Brodkorb
Quoted 2 lines

However, I continue to dislike such hacks: when the problem gets fixed by gcc, how will we notice?

Either when we get notice that the PR is closed, this time I need to create one. But we have similar issues where we already have PR's. Or we check when a new gcc release come out, if the results from "grep bfin package/*/*mk" are still required.

Maybe we need to have some kind of convention of a specific string to include in the comment on such hacks, in order to more easily grep?

Like:

# Workaround gcc-prXYZ

or

# Workaround binutils-prXYZ

This way, we can grep for "gcc-pr" and "binutils-pr" and easily check the status of those PRs.

Quoted 1 line

I think better then never ending autobuild failures.

For sure, I'm not claiming we should keep things as-is. It's good to add temporary hacks, but it's also good to think about how we can at some point remove those hacks.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com