public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/113694] New: Allow renaming stack smashing protector symbols
@ 2024-01-31 22:58 matheus.a.m.moreira at gmail dot com
2024-01-31 23:05 ` [Bug middle-end/113694] " pinskia at gcc dot gnu.org
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: matheus.a.m.moreira at gmail dot com @ 2024-01-31 22:58 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113694
Bug ID: 113694
Summary: Allow renaming stack smashing protector symbols
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: matheus.a.m.moreira at gmail dot com
Target Milestone: ---
I'm writing freestanding Linux applications which are compiled with
-ffreestanding -nostdlib. In order to integrate with the stack smashing
protector, I need to provide the following symbols:
__stack_chk_guard
__stack_chk_fail
It would be nice if there was a compiler option to rename these symbols to
something else. I want to make them consistent with the rest of my code,
thereby improving its quality.
A couple of options would be enough:
-fstack-protector-canary=my_variable
-fstack-protector-handler=my_function
Attributes could work too:
uintptr_t my_canary __attribute__((stack_protector_canary));
__attribute__((noreturn, stack_protector_handler))
void __stack_chk_fail(void);
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug middle-end/113694] Allow renaming stack smashing protector symbols
2024-01-31 22:58 [Bug middle-end/113694] New: Allow renaming stack smashing protector symbols matheus.a.m.moreira at gmail dot com
@ 2024-01-31 23:05 ` pinskia at gcc dot gnu.org
2024-02-01 8:22 ` rguenth at gcc dot gnu.org
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-01-31 23:05 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113694
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Severity|normal |enhancement
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug middle-end/113694] Allow renaming stack smashing protector symbols
2024-01-31 22:58 [Bug middle-end/113694] New: Allow renaming stack smashing protector symbols matheus.a.m.moreira at gmail dot com
2024-01-31 23:05 ` [Bug middle-end/113694] " pinskia at gcc dot gnu.org
@ 2024-02-01 8:22 ` rguenth at gcc dot gnu.org
2024-02-02 0:31 ` matheus.a.m.moreira at gmail dot com
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2024-02-01 8:22 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113694
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
You could provide an alias to __stack_chk_guard/__stack_chk_fail in your code
though.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug middle-end/113694] Allow renaming stack smashing protector symbols
2024-01-31 22:58 [Bug middle-end/113694] New: Allow renaming stack smashing protector symbols matheus.a.m.moreira at gmail dot com
2024-01-31 23:05 ` [Bug middle-end/113694] " pinskia at gcc dot gnu.org
2024-02-01 8:22 ` rguenth at gcc dot gnu.org
@ 2024-02-02 0:31 ` matheus.a.m.moreira at gmail dot com
2024-02-02 0:35 ` sjames at gcc dot gnu.org
2024-02-14 9:00 ` matheus.a.m.moreira at gmail dot com
4 siblings, 0 replies; 6+ messages in thread
From: matheus.a.m.moreira at gmail dot com @ 2024-02-02 0:31 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113694
--- Comment #2 from Matheus Afonso Martins Moreira <matheus.a.m.moreira at gmail dot com> ---
That's true but in that case the __stack_chk_* symbols will remain in the
compiler output and in the final binary. They will show up in readelf output,
GDB function disassemblies.
I think the ability to rename the symbols would be a cleaner solution.
Programmers should have full control over the symbols emitted by the compiler.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug middle-end/113694] Allow renaming stack smashing protector symbols
2024-01-31 22:58 [Bug middle-end/113694] New: Allow renaming stack smashing protector symbols matheus.a.m.moreira at gmail dot com
` (2 preceding siblings ...)
2024-02-02 0:31 ` matheus.a.m.moreira at gmail dot com
@ 2024-02-02 0:35 ` sjames at gcc dot gnu.org
2024-02-14 9:00 ` matheus.a.m.moreira at gmail dot com
4 siblings, 0 replies; 6+ messages in thread
From: sjames at gcc dot gnu.org @ 2024-02-02 0:35 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113694
Sam James <sjames at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |sjames at gcc dot gnu.org
See Also| |https://gcc.gnu.org/bugzill
| |a/show_bug.cgi?id=97119
--- Comment #3 from Sam James <sjames at gcc dot gnu.org> ---
(In reply to Matheus Afonso Martins Moreira from comment #2)
> Programmers should have full control over the symbols emitted by the
> compiler.
Note that this isn't something GCC offers for other things, e.g. PR97119.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug middle-end/113694] Allow renaming stack smashing protector symbols
2024-01-31 22:58 [Bug middle-end/113694] New: Allow renaming stack smashing protector symbols matheus.a.m.moreira at gmail dot com
` (3 preceding siblings ...)
2024-02-02 0:35 ` sjames at gcc dot gnu.org
@ 2024-02-14 9:00 ` matheus.a.m.moreira at gmail dot com
4 siblings, 0 replies; 6+ messages in thread
From: matheus.a.m.moreira at gmail dot com @ 2024-02-14 9:00 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113694
--- Comment #4 from Matheus Afonso Martins Moreira <matheus.a.m.moreira at gmail dot com> ---
(In reply to Sam James from comment #3)
> Note that this isn't something GCC offers for other things, e.g. PR97119.
GCC does offer it for at least one thing that I'm aware of:
-e entry
--entry=entry
Specify that the program entry point is entry.
The argument is interpreted by the linker;
the GNU linker accepts either a symbol name or an address.
With this useful option, I was able to change the somewhat ugly "_start" symbol
to a name of my choosing.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2024-02-14 9:00 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-31 22:58 [Bug middle-end/113694] New: Allow renaming stack smashing protector symbols matheus.a.m.moreira at gmail dot com
2024-01-31 23:05 ` [Bug middle-end/113694] " pinskia at gcc dot gnu.org
2024-02-01 8:22 ` rguenth at gcc dot gnu.org
2024-02-02 0:31 ` matheus.a.m.moreira at gmail dot com
2024-02-02 0:35 ` sjames at gcc dot gnu.org
2024-02-14 9:00 ` matheus.a.m.moreira at gmail dot com
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).