[Bug tree-optimization/19661] unnecessary atexit calls emitted for static objects with empty destructors

2024-03-16 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=19661 Fangrui Song changed: What|Removed |Added CC||i at maskray dot me --- Comment #17 from

[Bug c++/114357] New: C++: Support the no_destroy attribute

2024-03-15 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114357 Bug ID: 114357 Summary: C++: Support the no_destroy attribute Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++

[Bug target/111555] [AArch64] __ARM_FEATURE_UNALIGNED should be undefined with -mstrict-align

2024-03-14 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111555 Fangrui Song changed: What|Removed |Added CC||i at maskray dot me --- Comment #5 from

[Bug sanitizer/114217] -fsanitize=alignment false positive with intended unaligned struct member access

2024-03-04 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114217 Fangrui Song changed: What|Removed |Added CC||i at maskray dot me --- Comment #14

[Bug middle-end/113987] Binding a reference to an uninitialized data member should not cause -Wuninitialized

2024-02-18 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113987 --- Comment #1 from Fangrui Song --- BTW, https://github.com/llvm/llvm-project/blob/main/clang/test/SemaCXX/uninitialized.cpp has many member initializer list examples

[Bug middle-end/113987] New: Binding a reference to an uninitialized data member should not cause -Wuninitialized

2024-02-18 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113987 Bug ID: 113987 Summary: Binding a reference to an uninitialized data member should not cause -Wuninitialized Product: gcc Version: unknown Status: UNCONFIRMED

[Bug sanitizer/102317] signed integer overflow sanitizer cannot work well with -fno-strict-overflow

2024-02-14 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102317 Fangrui Song changed: What|Removed |Added CC||i at maskray dot me --- Comment #13

[Bug target/105576] x86: Support a machine constraint to get raw symbol name

2024-01-30 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105576 Fangrui Song changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug target/104816] -fcf-protection=branch should generate endbr instead of notrack jumps

2024-01-18 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104816 Fangrui Song changed: What|Removed |Added CC||i at maskray dot me --- Comment #13

[Bug target/105576] x86: Support a machine constraint to get raw symbol name

2024-01-10 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105576 --- Comment #8 from Fangrui Song --- I've encountered another use case related to metadata sections (establish an artificial reference for linker garbage collection purposes) namespace ns { extern int var; } // defined in another translation

[Bug middle-end/110729] New: -fpatchable-function-entries: __patchable_function_entries has wrong sh_link

2023-07-19 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110729 Bug ID: 110729 Summary: -fpatchable-function-entries: __patchable_function_entries has wrong sh_link Product: gcc Version: unknown Status: UNCONFIRMED

[Bug c/110094] New: Support __builtin_mem*_inline

2023-06-02 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110094 Bug ID: 110094 Summary: Support __builtin_mem*_inline Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c

[Bug target/105576] x86: Support a machine constraint to get raw symbol name

2023-05-04 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105576 --- Comment #6 from Fangrui Song --- (In reply to Hongtao.liu from comment #4) > constraint "i" + "%p0"? > > asm (".pushsection .xxx,\"aw\"; .dc.a %p0; .popsection" :: "i"(addr)); // > supported on aarch64 and riscv > asm (".pushsection

[Bug middle-end/109707] naked attribute should imply the no_instrument_function attribute

2023-05-02 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109707 --- Comment #4 from Fangrui Song --- (In reply to Andrew Pinski from comment #2) > As a workaround, you could add the attribute no_instrument_function. Yes. I thought of this possibility, but pcc's reply on

[Bug c/109707] Skip __attribute__((naked)) functions for -pg and -finstrument-functions

2023-05-02 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109707 --- Comment #1 from Fangrui Song --- I came here from a PR for Clang: https://github.com/llvm/llvm-project/issues/62504

[Bug c/109707] New: Skip __attribute__((naked)) functions for -pg and -finstrument-functions

2023-05-02 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109707 Bug ID: 109707 Summary: Skip __attribute__((naked)) functions for -pg and -finstrument-functions Product: gcc Version: unknown Status: UNCONFIRMED Severity:

[Bug debug/109591] Multiple -fdebug-prefix-map= prefixes match, which one wins?

2023-04-21 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109591 --- Comment #3 from Fangrui Song --- (In reply to Andrew Pinski from comment #2) > GCC added -fdebug-prefix-map= back in r0-82686-gc8aea42ce2c691e4e8 2 years > before clang was first release . So Thank you for the super rapid response! I

[Bug debug/109591] New: Multiple -fdebug-prefix-map= prefixes match, which one wins?

2023-04-21 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109591 Bug ID: 109591 Summary: Multiple -fdebug-prefix-map= prefixes match, which one wins? Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal

[Bug sanitizer/109489] [ubsan] Support -fsanitize-trap=

2023-04-16 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109489 Fangrui Song changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug c/109489] New: [ubsan] Support -fsanitize-trap=

2023-04-12 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109489 Bug ID: 109489 Summary: [ubsan] Support -fsanitize-trap= Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c

[Bug target/109349] New: Add --print-supported-extensions

2023-03-30 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109349 Bug ID: 109349 Summary: Add --print-supported-extensions Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: target

[Bug c++/109267] New: -Og generates empty functions with .cfi_startproc/.cfi_endproc that conflict with other functions

2023-03-23 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109267 Bug ID: 109267 Summary: -Og generates empty functions with .cfi_startproc/.cfi_endproc that conflict with other functions Product: gcc Version: unknown

[Bug c/108978] New: Add __builtin_FILE_NAME() which behaves like the __FILE_NAME__ macro

2023-02-28 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108978 Bug ID: 108978 Summary: Add __builtin_FILE_NAME() which behaves like the __FILE_NAME__ macro Product: gcc Version: unknown Status: UNCONFIRMED Severity:

[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] New: Add option to produce a unique section for non-COMDAT __attribute__((section("foo"))) object

2023-02-10 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108761 Bug ID: 108761 Summary: Add option to produce a unique section for non-COMDAT __attribute__((section("foo"))) object Product: gcc Version: unknown Status: UNCONFIRMED

[Bug target/108622] x86 -fno-pic: use DW_EH_PE_indirect|DW_EH_PE_pcrel for personality/ttype encoding

2023-01-31 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108622 --- Comment #1 from Fangrui Song --- https://gcc.gnu.org/pipermail/gcc-patches/2023-February/611081.html [PATCH] x86: Use DW_EH_PE_indirect|DW_EH_PE_pcrel encodings for -fno-pic code

[Bug target/108622] New: x86 -fno-pic: use DW_EH_PE_indirect|DW_EH_PE_pcrel for personality/ttype encoding

2023-01-31 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108622 Bug ID: 108622 Summary: x86 -fno-pic: use DW_EH_PE_indirect|DW_EH_PE_pcrel for personality/ttype encoding Product: gcc Version: unknown Status: UNCONFIRMED

[Bug sanitizer/107963] Support __attribute__((disable_sanitizer_instrumentation))

2022-12-04 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107963 --- Comment #3 from Fangrui Song --- GCC doesn't implement -fsanitize=memory. In the absence of it, __attribute__((disable_sanitizer_instrumentation)) is like __attribute__((no_sanitize("all"))). When -fsanitize=memory is implemented, the two

[Bug sanitizer/78204] ‘no_sanitize’ attribute directive ignored [-Wattributes]

2022-12-04 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78204 Fangrui Song changed: What|Removed |Added CC||i at maskray dot me --- Comment #8 from

[Bug c/107963] New: Support __attribute__((disable_sanitizer_instrumentation))

2022-12-03 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107963 Bug ID: 107963 Summary: Support __attribute__((disable_sanitizer_instrumentation)) Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal

[Bug c++/107543] New: c-family/c-cppbuiltin.cc: Undefine __GNUC_STDC_INLINE__ in C++ mode?

2022-11-06 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107543 Bug ID: 107543 Summary: c-family/c-cppbuiltin.cc: Undefine __GNUC_STDC_INLINE__ in C++ mode? Product: gcc Version: unknown Status: UNCONFIRMED Severity:

[Bug driver/106897] driver: support -gz=zstd

2022-09-10 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106897 --- Comment #4 from Fangrui Song --- Yes, the change will be straightforward, basically the files touched by the pending https://gcc.gnu.org/pipermail/gcc-patches/2022-July/597586.html ("[PATCH] Remove legacy -gz=zlib-gnu"). I sent it because

[Bug driver/106897] New: driver: support -gz=zstd

2022-09-09 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106897 Bug ID: 106897 Summary: driver: support -gz=zstd Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: driver

[Bug target/99888] Add powerpc ELFv2 support for -fpatchable-function-entry*

2022-08-11 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99888 Fangrui Song changed: What|Removed |Added CC||i at maskray dot me --- Comment #5 from

[Bug target/77882] [Aarch64] Add 'naked' function attribute

2022-05-25 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77882 Fangrui Song changed: What|Removed |Added CC||i at maskray dot me --- Comment #11 from

[Bug target/105576] x86: Support a machine constraint to get raw symbol name

2022-05-13 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105576 --- Comment #5 from Fangrui Song --- (In reply to Hongtao.liu from comment #4) > constraint "i" + "%p0"? > > asm (".pushsection .xxx,\"aw\"; .dc.a %p0; .popsection" :: "i"(addr)); // > supported on aarch64 and riscv > asm (".pushsection

[Bug c/105576] New: x86: Support a machine constraint to get raw symbol name

2022-05-11 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105576 Bug ID: 105576 Summary: x86: Support a machine constraint to get raw symbol name Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal

[Bug driver/93645] Support Clang 12 --ld-path=

2021-12-28 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93645 --- Comment #15 from Fangrui Song --- -- is definitely rare, but not non-existent. In GCC, there is {-,--}specs. In Clang, there are --cuda-path, --ptxas-path, --hip-path, --classpath, etc. (In reply to Martin Liška from comment #14) > > > > I

[Bug driver/93645] Support Clang 12 --ld-path=

2021-12-22 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93645 --- Comment #13 from Fangrui Song --- (In reply to Martin Liška from comment #12) > (In reply to Fangrui Song from comment #11) > > (In reply to Martin Liška from comment #10) > > > I replied here: > > >

[Bug driver/93645] Support Clang 12 --ld-path=

2021-12-22 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93645 --- Comment #11 from Fangrui Song --- (In reply to Martin Liška from comment #10) > I replied here: > https://gcc.gnu.org/pipermail/gcc-patches/2021-June/573823.html There are people wanting to use mold

[Bug driver/103398] configure: Enable --enable-default-pie by default for Linux

2021-11-23 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103398 --- Comment #2 from Fangrui Song --- I want to switch the default because: * It seems to me that every Linux distro uses --enable-default-pie GCC. I use "many", but it is likely "most" at this point (2021). * When a user builds GCC on Linux,

[Bug driver/103398] New: configure: Enable --enable-default-pie by default for Linux

2021-11-23 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103398 Bug ID: 103398 Summary: configure: Enable --enable-default-pie by default for Linux Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal

[Bug driver/100937] configure: Add --enable-default-semantic-interposition

2021-11-22 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100937 --- Comment #11 from Fangrui Song --- To enable interposition on Mach-O, one needs a non-default configuration like: ld -interposable, DYLD_FORCE_FLAT_NAMESPACE or __attribute__((section("__DATA,__interpose"))). On PE/COFF, such interposition

[Bug target/100896] --enable-initfini-array should be enabled for cross compiler to Linux

2021-11-05 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100896 --- Comment #5 from Fangrui Song --- Ah, ok, my /tmp/glibc-many/src/gcc is at releases/gcc-11 while the fix is for 12.0? Anyway, you may want to clean up gcc/acinclude.m4

[Bug target/100896] --enable-initfini-array should be enabled for cross compiler to Linux

2021-11-05 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100896 Fangrui Song changed: What|Removed |Added CC||i at maskray dot me --- Comment #4 from

[Bug libgcc/99759] morestack.S should support .init_array.0 besides .ctors.65535

2021-10-08 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99759 Fangrui Song changed: What|Removed |Added Resolution|--- |FIXED Status|NEW

[Bug c/102502] C11: _Static_assert disallows const int operand in -O0 while allows it in higher -O

2021-09-27 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102502 --- Comment #3 from Fangrui Song --- OK, Andrew asked me to file it :) I just wanted to fix glibc and run away from the GCC inconsistency. I know that https://www.iso-9899.info/n1570.html#6.6 p10 says "An implementation may accept other forms

[Bug c/102502] New: C11: _Static_assert disallows const int operand in -O0 while allows it in higher -O

2021-09-27 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102502 Bug ID: 102502 Summary: C11: _Static_assert disallows const int operand in -O0 while allows it in higher -O Product: gcc Version: 11.0 Status: UNCONFIRMED

[Bug c++/102168] New: -Wnon-virtual-dtor shouldn't fire for protected dtor in a class with a friend declaration

2021-09-01 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102168 Bug ID: 102168 Summary: -Wnon-virtual-dtor shouldn't fire for protected dtor in a class with a friend declaration Product: gcc Version: 11.0 Status: UNCONFIRMED

[Bug tree-optimization/83022] malloc & memset -> calloc is not always an optimization

2021-08-20 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83022 --- Comment #6 from Fangrui Song --- The issue succeeded to waste some time of MySQL developers BTW: http://smalldatum.blogspot.com/2017/11/a-new-optimization-in-gcc-5x-and-mysql.html

[Bug tree-optimization/83022] malloc & memset -> calloc is not always an optimization

2021-08-20 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83022 Fangrui Song changed: What|Removed |Added CC||i at maskray dot me --- Comment #5 from

[Bug libgcc/99759] morestack.S should support .init_array.0 besides .ctors.65535

2021-08-11 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99759 --- Comment #3 from Fangrui Song --- (In reply to Alan Modra from comment #2) > > this means the ctors.65535 will come last. > Nope, it will come first. And since DT_INIT_ARRAY pointers are executed in > the order they appear in the array, it

[Bug c++/71482] Add -Wglobal-constructors warning option

2021-07-24 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71482 Fangrui Song changed: What|Removed |Added CC||i at maskray dot me --- Comment #5 from

[Bug c/101275] New: [RISCV] Document the machine constraint 'S' and make it non-internal

2021-06-30 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101275 Bug ID: 101275 Summary: [RISCV] Document the machine constraint 'S' and make it non-internal Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal

[Bug gcov-profile/80223] RFE: Exclude functions from profile instrumentation

2021-06-23 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80223 --- Comment #21 from Fangrui Song --- (In reply to Fangrui Song from comment #20) > For example, if an inlining pass happens after instrumentation, then the > function attribute doesn't necessarily need to suppress inlining. After >

[Bug gcov-profile/80223] RFE: Exclude functions from profile instrumentation

2021-06-23 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80223 --- Comment #20 from Fangrui Song --- (In reply to Marco Elver from comment #19) I am ok with "inlining suppression" as an implementation strategy and I agree that it should be useful. What I objected strongly is "promised inlining

[Bug gcov-profile/80223] RFE: Exclude functions from profile instrumentation

2021-06-23 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80223 --- Comment #18 from Fangrui Song --- (In reply to Nick Desaulniers from comment #15) > (In reply to Fangrui Song from comment #14) > > Can a no_profile_instrument_function function be inlined into a function > > without the attribute? This may

[Bug gcov-profile/80223] RFE: Exclude functions from profile instrumentation

2021-06-21 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80223 --- Comment #14 from Fangrui Song --- (In reply to Martin Liška from comment #13) > What's likely missing is that the attribute should prevent inlining. I'm > going to test how it behaves right now. Then, the issue can be closed. It's not clear

[Bug gcov-profile/80223] RFE: Exclude functions from profile instrumentation

2021-06-15 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80223 --- Comment #8 from Fangrui Song --- I am thinking of __attribute__((no_profile)). In Clang, -fprofile-generate(-fcs-profile-generate)/-fprofile-instr-generate/-fprofile-arcs are all different. It will make sense to have a attribute disabling

[Bug gcov-profile/80223] RFE: Exclude functions from profile instrumentation

2021-06-14 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80223 Fangrui Song changed: What|Removed |Added CC||i at maskray dot me --- Comment #7 from

[Bug driver/100937] configure: Add --enable-default-semantic-interposition

2021-06-09 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100937 --- Comment #6 from Fangrui Song --- Then can you add a -fvisibility=protected variant which only applies to non-weak defined functions? Two issues need to be fixed: (1): https://sourceware.org/bugzilla/show_bug.cgi?id=27973

[Bug driver/100937] configure: Add --enable-default-semantic-interposition

2021-06-06 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100937 Fangrui Song changed: What|Removed |Added Resolution|WONTFIX |--- Status|RESOLVED

[Bug driver/100937] New: configure: Add --enable-default-semantic-interposition

2021-06-06 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100937 Bug ID: 100937 Summary: configure: Add --enable-default-semantic-interposition Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3

[Bug middle-end/100593] [ELF] -fno-pic: Use GOT to take address of an external default visibility function

2021-06-06 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100593 --- Comment #13 from Fangrui Song --- (In reply to H.J. Lu from comment #12) > We should handle it in the whole Linux software stack: > > https://gitlab.com/x86-psABIs/x86-64-ABI/-/issues/8 > > not just in compiler. It is great that you have

[Bug middle-end/100593] [ELF] -fno-pic: Use GOT to take address of an external default visibility function

2021-06-04 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100593 --- Comment #11 from Fangrui Song --- (In reply to Alexander Monakov from comment #10) > Is there something wrong or undesirable with making this under -fno-plt (or > the noplt attribute as in your example)? > > (after all, it is a kind of

[Bug c/100618] Add a -fno-semantic-interposition variant which allows variable interposition

2021-06-04 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100618 Fangrui Song changed: What|Removed |Added Resolution|--- |FIXED Status|UNCONFIRMED

[Bug middle-end/100593] [ELF] -fno-pic: Use GOT to take address of an external default visibility function

2021-05-26 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100593 --- Comment #9 from Fangrui Song --- I have a patch to implement this Clang. It'd be good to have a name even if GCC wants to postpone the implementation for now. How about -fdirect-access-external-function &

[Bug middle-end/100593] [ELF] -fno-pic: Use GOT to take address of an external default visibility function

2021-05-18 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100593 --- Comment #8 from Fangrui Song --- Seems that -fno-plt -fno-pic does have the required properties. A side effect is that all external calls use the (x86-64) call *f@GOTPCREL(%rip) (x86-32) call *f@GOT form. The instruction is one byte

[Bug middle-end/100593] [ELF] -fno-pic: Use GOT to take address of an external default visibility function

2021-05-17 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100593 --- Comment #6 from Fangrui Song --- (In reply to Alexander Monakov from comment #5) > Hm, I still don't think I'm misunderstanding what you're saying. I'm > familiar with the ELF standard (and FWIW I have read your blog posts on > related

[Bug middle-end/100593] [ELF] -fno-pic: Use GOT to take address of an external default visibility function

2021-05-17 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100593 --- Comment #4 from Fangrui Song --- (In reply to Alexander Monakov from comment #3) > I understand what you're saying, but it seems we're talking past each other. > > I agree that if a library is linked with any -Bsymbolic* flag, the main >

[Bug middle-end/100593] [ELF] -fno-pic: Use GOT to take address of an external default visibility function

2021-05-16 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100593 --- Comment #2 from Fangrui Song --- (In reply to Alexander Monakov from comment #1) > It is not necessary to change -fno-pic code generation to gain most of the > -Bsymbolic benefit It is necessary, otherwise the function address taken from

[Bug c/100483] Extend -fno-semantic-interposition to global variables

2021-05-16 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100483 Fangrui Song changed: What|Removed |Added Resolution|--- |INVALID Status|UNCONFIRMED

[Bug c/100618] Add a -fno-semantic-interposition variant which allows variable interposition

2021-05-15 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100618 --- Comment #1 from Fangrui Song --- Perhaps -fsemantic-interposition=function,variable (default -fpic/-fPIC) -fsemantic-interposition=variable (compatible with copy relocations but enable function optimizations) -fsemantic-interposition=

[Bug c/100618] New: Add a -fno-semantic-interposition variant which allows variable interposition

2021-05-15 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100618 Bug ID: 100618 Summary: Add a -fno-semantic-interposition variant which allows variable interposition Product: gcc Version: 11.0 Status: UNCONFIRMED Severity:

[Bug c/100483] Extend -fno-semantic-interposition to global variables

2021-05-13 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100483 --- Comment #1 from Fangrui Song --- Another request is a new option: -fno-semantic-interposition-function. With this option, we only assume functions cannot be interposed. -fno-semantic-interposition assumes both functions and variables cannot

[Bug c/100593] New: [ELF] -fno-pic: Use GOT to take address of an external default visibility function

2021-05-13 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100593 Bug ID: 100593 Summary: [ELF] -fno-pic: Use GOT to take address of an external default visibility function Product: gcc Version: 11.0 Status: UNCONFIRMED

[Bug c/100483] New: Extend -fno-semantic-interposition to global variables

2021-05-07 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100483 Bug ID: 100483 Summary: Extend -fno-semantic-interposition to global variables Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3

[Bug demangler/100437] New: libiberty: Support more characters for function clones

2021-05-05 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100437 Bug ID: 100437 Summary: libiberty: Support more characters for function clones Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3

[Bug target/99836] New: aarch64: -fpatchable-function-entry=N[,0] should place .cfi_startproc before NOPs

2021-03-30 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99836 Bug ID: 99836 Summary: aarch64: -fpatchable-function-entry=N[,0] should place .cfi_startproc before NOPs Product: gcc Version: 11.0 Status: UNCONFIRMED

[Bug libgcc/99759] New: morestack.S should support .init_array.0 besides .ctors.65535

2021-03-24 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99759 Bug ID: 99759 Summary: morestack.S should support .init_array.0 besides .ctors.65535 Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal

[Bug c/99587] warning: ‘retain’ attribute ignored while __has_attribute(retain) is 1

2021-03-16 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99587 --- Comment #6 from Fangrui Song --- (In reply to Jakub Jelinek from comment #5) > (In reply to Florian Weimer from comment #4) > > For retain, something along these lines might work: > > > > diff --git a/gcc/c-family/c-attribs.c

[Bug c/99587] New: warning: ‘retain’ attribute ignored while __has_attribute(retain) is true

2021-03-14 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99587 Bug ID: 99587 Summary: warning: ‘retain’ attribute ignored while __has_attribute(retain) is true Product: gcc Version: 11.0 Status: UNCONFIRMED Severity:

[Bug inline-asm/99282] Emit .cfi_sections without arguments for -fno-asynchronous-unwind-tables

2021-02-26 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99282 --- Comment #2 from Fangrui Song --- (In reply to Jakub Jelinek from comment #1) > There is the __GCC_HAVE_DWARF2_CFI_ASM predefined macro that tells if .cfi* > directives are used or not. And, inline asm that wishes to be usable in > both can

[Bug c/99282] New: Emit .cfi_sections without arguments for -fno-asynchronous-unwind-tables

2021-02-25 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99282 Bug ID: 99282 Summary: Emit .cfi_sections without arguments for -fno-asynchronous-unwind-tables Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal

[Bug target/95095] Feature request: support -fno-unique-section-names

2021-01-25 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95095 --- Comment #9 from Fangrui Song --- (In reply to Segher Boessenkool from comment #8) > I say nothing like that. I say that > .text.hot. > is nasty (is easily mistaken for .text.hot). > > I also say that and that named-per-function sections

[Bug target/95095] Feature request: support -fno-unique-section-names

2021-01-25 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95095 --- Comment #7 from Fangrui Song --- (In reply to Segher Boessenkool from comment #6) > I was under the impression this unique section thing needed the trailing > dot thing. This probably is not true. > > I still think the old "%" thing is

[Bug target/95095] Feature request: support -fno-unique-section-names

2021-01-21 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95095 --- Comment #5 from Fangrui Song --- Linux kernel include/asm-generic/vmlinux.lds.h currently has #define TEXT_TEXT \ ALIGN_FUNCTION();

[Bug libstdc++/98785] New: _Unwind_ForcedUnwind going through a non-empty exception specification

2021-01-21 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98785 Bug ID: 98785 Summary: _Unwind_ForcedUnwind going through a non-empty exception specification Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal

[Bug target/95095] Feature request: support -fno-unique-section-names

2021-01-16 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95095 --- Comment #3 from Fangrui Song --- (In reply to Segher Boessenkool from comment #2) > Can't we use ".text%name" for -ffunction-sections, like we did originally, > in 1996? See cf4403481dd6. This does not conflict with other section > names,

[Bug target/98112] Add -fdirect-access-external-data & drop HAVE_LD_PIE_COPYRELOC

2020-12-28 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98112 --- Comment #7 from Fangrui Song --- (In reply to Segher Boessenkool from comment #6) > (In reply to Fangrui Song from comment #5) > > Please read my first comment why copy relocs is a bad name. > > Since I reply to some of that (namely, your

[Bug target/98112] Add -fdirect-access-external-data & drop HAVE_LD_PIE_COPYRELOC

2020-12-28 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98112 --- Comment #5 from Fangrui Song --- (In reply to Segher Boessenkool from comment #4) > (In reply to Fangrui Song from comment #3) > > Are you happy with the option name -f[no-]direct-access-external-data ? > > Not at all, no :-( > > The name

[Bug c/94722] implement __attribute__((no_stack_protector)) function attribute

2020-12-16 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94722 Fangrui Song changed: What|Removed |Added CC||i at maskray dot me --- Comment #7 from

[Bug middle-end/93195] -fpatchable-function-entries : __patchable_function_entries should consider comdat groups

2020-12-16 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93195 --- Comment #10 from Fangrui Song --- (In reply to Jakub Jelinek from comment #9) > I believe this broke building the kernel, see > https://gcc.gnu.org/pipermail/gcc-patches/2020-December/561974.html > for details. For > ld: .init.data has

[Bug target/98112] Add -fdirect-access-external-data & drop HAVE_LD_PIE_COPYRELOC

2020-12-14 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98112 --- Comment #3 from Fangrui Song --- Are you happy with the option name -f[no-]direct-access-external-data ? https://reviews.llvm.org/D92633 is what I want to add to Clang. I want GCC and Clang to use the same option names...

[Bug target/97827] bootstrap error building the amdgcn-amdhsa offload compiler with LLVM 11

2020-12-14 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97827 --- Comment #10 from Fangrui Song --- Note: the section key is not just (name, group name "G"). It is a quadruple: (name, group name "G", linked-to "o", unique ID) Keeping just name works for the simplest case. If GCC decides to support

[Bug target/97827] bootstrap error building the amdgcn-amdhsa offload compiler with LLVM 11

2020-12-14 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97827 Fangrui Song changed: What|Removed |Added CC||i at maskray dot me --- Comment #9 from

[Bug gcov-profile/98257] New: Replace Donald B. Johnson's cycle enumeration with iterative loop finding

2020-12-12 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98257 Bug ID: 98257 Summary: Replace Donald B. Johnson's cycle enumeration with iterative loop finding Product: gcc Version: 11.0 Status: UNCONFIRMED Severity:

[Bug target/98112] Add -fdirect-access-external-data & drop HAVE_LD_PIE_COPYRELOC

2020-12-03 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98112 --- Comment #2 from Fangrui Song --- Note: -fdirect-access-external-data is architecture-independent. For example, currently Clang on aarch64 can perform the following optimization: // clang -target aarch64 -fPIE -O3 adrpx8, :got:var

[Bug c/98112] New: Add -fdirect-access-external-data & drop HAVE_LD_PIE_COPYRELOC

2020-12-02 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98112 Bug ID: 98112 Summary: Add -fdirect-access-external-data & drop HAVE_LD_PIE_COPYRELOC Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal

[Bug target/98063] New: Emit R_X86_64_GOTOFF64 instead of R_X86_64_GOTPCRELX for -mcmodel=large -fno-plt

2020-11-29 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98063 Bug ID: 98063 Summary: Emit R_X86_64_GOTOFF64 instead of R_X86_64_GOTPCRELX for -mcmodel=large -fno-plt Product: gcc Version: 11.0 Status: UNCONFIRMED

  1   2   >