[Bug c++/108761] Add option to produce a unique section for non-COMDAT __attribute__((section("foo"))) object

2023-02-14 Thread paul_robinson at playstation dot sony.com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108761

--- Comment #7 from Paul Robinson  
---
Okay. I'm persuaded this is not a great idea, and I'll solve the customer's
problem another way.

[Bug c++/108761] Add option to produce a unique section for non-COMDAT __attribute__((section("foo"))) object

2023-02-13 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108761

--- Comment #6 from Andrew Pinski  ---
(In reply to Paul Robinson from comment #5)
> Modifying the syntax of the attribute won't help users who are importing
> code from a third party, but still want to do dead-stripping/deduplication.

And it might break code from third party with that option, that was my point.

[Bug c++/108761] Add option to produce a unique section for non-COMDAT __attribute__((section("foo"))) object

2023-02-13 Thread paul_robinson at playstation dot sony.com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108761

--- Comment #5 from Paul Robinson  
---
Modifying the syntax of the attribute won't help users who are importing
code from a third party, but still want to do dead-stripping/deduplication.

[Bug c++/108761] Add option to produce a unique section for non-COMDAT __attribute__((section("foo"))) object

2023-02-13 Thread paul_robinson at playstation dot sony.com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108761

Paul Robinson  changed:

   What|Removed |Added

 CC||paul_robinson at playstation 
dot s
   ||ony.com

--- Comment #4 from Paul Robinson  
---
(In reply to Andrew Pinski from comment #1)
> I think an option would be the wrong appoarch because many of the times, you
> are marking a variable inside a section exactly because you want it to be
> part of an "array".

I think distinct options for -ffunction-sections and -fdata-sections
would be the answer to that.  I mean, we _already_ have separation
options, so handling code and data independently makes sense.

> I think rather section should have a secondary argument which mark as
> needing to append the function name on it ...

I believe the linker will not take an input with sections "foo.f" and
"foo.g" and concatenate them into a single "foo" section in the linked object.
That special behavior works only for standard sections like .text AFAIK.
The Clang change proposes using section groups instead, so the final
section has the name the user specified.

I don't know whether this would work for non-ELF object formats.
I suspect COFF would be okay, as it has no-deduplicate COMDAT.

[Bug c++/108761] Add option to produce a unique section for non-COMDAT __attribute__((section("foo"))) object

2023-02-12 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108761

--- Comment #3 from Fangrui Song  ---
New syntax setting the flags will be useful. Also, currently there is no way to
customize the section type.

[Bug c++/108761] Add option to produce a unique section for non-COMDAT __attribute__((section("foo"))) object

2023-02-11 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108761

--- Comment #2 from Andrew Pinski  ---
(In reply to Andrew Pinski from comment #1)
> I think rather section should have a secondary argument which mark as
> needing to append the function name on it ...

s/function name/decl assembly name/

[Bug c++/108761] Add option to produce a unique section for non-COMDAT __attribute__((section("foo"))) object

2023-02-11 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108761

--- Comment #1 from Andrew Pinski  ---
I think an option would be the wrong appoarch because many of the times, you
are marking a variable inside a section exactly because you want it to be part
of an "array".

I think rather section should have a secondary argument which mark as needing
to append the function name on it ...