[Bug target/71151] [avr] -fmerge-constants and -fdata-sections/-ffunction-sections results in string constants in .progmem.gcc_sw section

2021-11-05 Thread timturnerc at yahoo dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151 Tim Turner changed: What|Removed |Added CC||timturnerc at yahoo dot com --- Comment

[Bug target/71151] [avr] -fmerge-constants and -fdata-sections/-ffunction-sections results in string constants in .progmem.gcc_sw section

2017-06-08 Thread gjl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151 Georg-Johann Lay changed: What|Removed |Added Target Milestone|--- |6.2

[Bug target/71151] [avr] -fmerge-constants and -fdata-sections/-ffunction-sections results in string constants in .progmem.gcc_sw section

2016-08-31 Thread saaadhu at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151 --- Comment #23 from Senthil Kumar Selvaraj --- Tracking binutils bug https://sourceware.org/bugzilla/show_bug.cgi?id=20545

[Bug target/71151] [avr] -fmerge-constants and -fdata-sections/-ffunction-sections results in string constants in .progmem.gcc_sw section

2016-08-31 Thread saaadhu at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151 --- Comment #22 from Senthil Kumar Selvaraj --- Confirmed that it's a linker issue related to adjusting reloc addends in the presence of align directives. Found two separate bugs, will post patches later this week.

[Bug target/71151] [avr] -fmerge-constants and -fdata-sections/-ffunction-sections results in string constants in .progmem.gcc_sw section

2016-08-30 Thread saaadhu at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151 --- Comment #21 from Senthil Kumar Selvaraj --- It occurs with "7.0.0 20160824 (experimental) (GCC)". Besides, the errors go away if I remove --relax, so I think it's a linker issue.

[Bug target/71151] [avr] -fmerge-constants and -fdata-sections/-ffunction-sections results in string constants in .progmem.gcc_sw section

2016-08-29 Thread gjl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151 --- Comment #20 from Georg-Johann Lay --- (In reply to Senthil Kumar Selvaraj from comment #19) > Can reproduce this on trunk So it's not related to PR72767 then? (Fixed since 2016-08-01)

[Bug target/71151] [avr] -fmerge-constants and -fdata-sections/-ffunction-sections results in string constants in .progmem.gcc_sw section

2016-08-27 Thread saaadhu at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151 --- Comment #19 from Senthil Kumar Selvaraj --- Can reproduce this on trunk with binutils master. Mostly likely a binutils/linker bug, as turning off relaxation fixes the error. Will debug further and post the conclusions.

[Bug target/71151] [avr] -fmerge-constants and -fdata-sections/-ffunction-sections results in string constants in .progmem.gcc_sw section

2016-08-27 Thread urjaman at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151 Urja Rannikko changed: What|Removed |Added CC||urjaman at gmail dot com --- Comment

[Bug target/71151] [avr] -fmerge-constants and -fdata-sections/-ffunction-sections results in string constants in .progmem.gcc_sw section

2016-08-08 Thread gjl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151 --- Comment #17 from Georg-Johann Lay --- What about the performance issue re. crossing the jump table with a branch? An easy fix would be to emit ".subsection 1" before the jump table; you think we should do this?

[Bug target/71151] [avr] -fmerge-constants and -fdata-sections/-ffunction-sections results in string constants in .progmem.gcc_sw section

2016-08-08 Thread saaadhu at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151 Senthil Kumar Selvaraj changed: What|Removed |Added Status|ASSIGNED|RESOLVED

[Bug target/71151] [avr] -fmerge-constants and -fdata-sections/-ffunction-sections results in string constants in .progmem.gcc_sw section

2016-08-08 Thread saaadhu at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151 Senthil Kumar Selvaraj changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed|

[Bug target/71151] [avr] -fmerge-constants and -fdata-sections/-ffunction-sections results in string constants in .progmem.gcc_sw section

2016-08-01 Thread gjl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151 --- Comment #15 from Georg-Johann Lay --- Author: gjl Date: Mon Aug 1 09:15:24 2016 New Revision: 238935 URL: https://gcc.gnu.org/viewcvs?rev=238935=gcc=rev Log: gcc/ Backport from 2016-06-16 trunk r237536. 2016-06-16 Senthil

[Bug target/71151] [avr] -fmerge-constants and -fdata-sections/-ffunction-sections results in string constants in .progmem.gcc_sw section

2016-07-01 Thread gjl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151 --- Comment #14 from Georg-Johann Lay --- Author: gjl Date: Fri Jul 1 12:09:53 2016 New Revision: 237910 URL: https://gcc.gnu.org/viewcvs?rev=237910=gcc=rev Log: gcc/testsuite/ PR target/71151 * gcc.target/avr/pr71151-common.h

[Bug target/71151] [avr] -fmerge-constants and -fdata-sections/-ffunction-sections results in string constants in .progmem.gcc_sw section

2016-06-03 Thread gjl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151 --- Comment #13 from Georg-Johann Lay --- Disadvantage of havong tables in same text section a code is that code side might increase for the following reason: branches that cross a switch statement will also have to cross the jump table, hence

[Bug target/71151] [avr] -fmerge-constants and -fdata-sections/-ffunction-sections results in string constants in .progmem.gcc_sw section

2016-06-02 Thread senthil.thecoder at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151 --- Comment #12 from Senthil Kumar Selvaraj --- Yes, tiny also has .rodata in .data I'd totally missed PR 63323, so just removing the target hook and turning on JUMP_TABLES_IN_TEXT_SECTION does the trick, like you said. Wrote a basic test to

[Bug target/71151] [avr] -fmerge-constants and -fdata-sections/-ffunction-sections results in string constants in .progmem.gcc_sw section

2016-06-01 Thread gjl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151 --- Comment #11 from Georg-Johann Lay --- well, IIRC for Tiny .rodata is still a part of .data and not part of .text? If this is still the case, then on Tiny the best place for jump tables is also .text.

[Bug target/71151] [avr] -fmerge-constants and -fdata-sections/-ffunction-sections results in string constants in .progmem.gcc_sw section

2016-06-01 Thread gjl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151 --- Comment #10 from Georg-Johann Lay --- Well, then we should remove TARGET_ASM_FUNCTION_RODATA_SECTION implementation altogether (it's weird, not only because it patches flag_data_sections), same for ASM_OUTPUT_ADDR_VEC_ELT. Instead implement

[Bug target/71151] [avr] -fmerge-constants and -fdata-sections/-ffunction-sections results in string constants in .progmem.gcc_sw section

2016-06-01 Thread senthil.thecoder at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151 --- Comment #9 from Senthil Kumar Selvaraj --- For both kinds of invocation (mergeable constants and jump tables), the decl passed is current_function_decl. And that looks right from the documentation for the target hook. I'll submit another

[Bug target/71151] [avr] -fmerge-constants and -fdata-sections/-ffunction-sections results in string constants in .progmem.gcc_sw section

2016-06-01 Thread gjl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151 --- Comment #8 from Georg-Johann Lay --- What about avr_asm_function_rodata_section? Isn't it possible to filter DECL and only transform for addr_vect?

[Bug target/71151] [avr] -fmerge-constants and -fdata-sections/-ffunction-sections results in string constants in .progmem.gcc_sw section

2016-05-31 Thread senthil.thecoder at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151 --- Comment #7 from Senthil Kumar Selvaraj --- Created attachment 38613 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38613=edit Tentative patch for 6.1 Looks like the right fix will need to somehow differentiate between jump tables and

[Bug target/71151] [avr] -fmerge-constants and -fdata-sections/-ffunction-sections results in string constants in .progmem.gcc_sw section

2016-05-27 Thread gjl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151 --- Comment #6 from Georg-Johann Lay --- (In reply to Anatol from comment #5) > It is a severe compiler issue that stop avr-gcc 6 from using. > Consider changing "Importance" status to blocker. It's definite not a "blocker". "blocker" would

[Bug target/71151] [avr] -fmerge-constants and -fdata-sections/-ffunction-sections results in string constants in .progmem.gcc_sw section

2016-05-26 Thread anatol.pomozov at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151 --- Comment #5 from Anatol --- This bug has been reported by Arch Linux users. https://bugs.archlinux.org/task/49284 It is a severe compiler issue that stop avr-gcc 6 from using. Consider changing "Importance" status to blocker.

[Bug target/71151] [avr] -fmerge-constants and -fdata-sections/-ffunction-sections results in string constants in .progmem.gcc_sw section

2016-05-21 Thread gjl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151 Georg-Johann Lay changed: What|Removed |Added CC||gigo121 at gmail dot com --- Comment

[Bug target/71151] [avr] -fmerge-constants and -fdata-sections/-ffunction-sections results in string constants in .progmem.gcc_sw section

2016-05-18 Thread senthil.thecoder at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151 --- Comment #3 from Senthil Kumar Selvaraj --- Yeah, it's a 6.x thing. There's a commit that changes varasm.c from using targetm.asm_out.mergeable_rodata_prefix to a function call to targetm.asm_out.function_rodata_section hook if the section

[Bug target/71151] [avr] -fmerge-constants and -fdata-sections/-ffunction-sections results in string constants in .progmem.gcc_sw section

2016-05-18 Thread gjl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151 Georg-Johann Lay changed: What|Removed |Added Keywords||wrong-code CC|

[Bug target/71151] [avr] -fmerge-constants and -fdata-sections/-ffunction-sections results in string constants in .progmem.gcc_sw section

2016-05-17 Thread senthil.thecoder at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71151 --- Comment #1 from Senthil Kumar Selvaraj --- A workaround is to disable constant merging (-fno-merge-constants).