#52 Build using GNU extensions

Closed
opened 1 year ago by devnexen · 6 comments
devnexen commented 1 year ago
Collaborator

-fsplit-stack flag is GNU extension thus might not working with all combinations of compilers/oses (FreeBSD/gcc for instance).

Also with Linux and FreeBSD clang

clang -fPIC -Iinclude -I. -W -Wunused -Wall -DPH7_LIBRARY_SUFFIX=\".so\" -O0 -g3 -fsplit-stack -c engine/lib/libfmt.c -o build/engine/lib/libfmt.o fatal error: error in backend: Segmented stacks do not support vararg functions. clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)

-fsplit-stack flag is GNU extension thus might not working with all combinations of compilers/oses (FreeBSD/gcc for instance). Also with Linux and FreeBSD clang ` clang -fPIC -Iinclude -I. -W -Wunused -Wall -DPH7_LIBRARY_SUFFIX=\".so\" -O0 -g3 -fsplit-stack -c engine/lib/libfmt.c -o build/engine/lib/libfmt.o fatal error: error in backend: Segmented stacks do not support vararg functions. clang: error: clang frontend command failed with exit code 70 (use -v to see invocation) `
belliash commented 1 year ago
Poster
Owner

https://llvm.org/docs/SegmentedStacks.html
https://clang.llvm.org/docs/ClangCommandLineReference.html#cmdoption-clang-fsplit-stack

According to mentioned documentation, same option should be available under clang, isn't it?

https://llvm.org/docs/SegmentedStacks.html https://clang.llvm.org/docs/ClangCommandLineReference.html#cmdoption-clang-fsplit-stack According to mentioned documentation, same option should be available under clang, isn't it?
belliash commented 1 year ago
Poster
Owner
Seems like a bug in LLVM: https://bugs.llvm.org/show_bug.cgi?id=19197
devnexen commented 1 year ago
Poster
Collaborator

Oh the flag is supported, I was just highlighting the build issue. Will try with other versions eventually.

Segmented stacks do not support vararg functions

Wonders if it works under MacOS ...

Oh the flag is supported, I was just highlighting the build issue. Will try with other versions eventually. `Segmented stacks do not support vararg functions` Wonders if it works under MacOS ...
belliash commented 1 year ago
Poster
Owner

Seems, this option is unavailable on OSX. I think, it can work only under Linux.

Seems, this option is unavailable on OSX. I think, it can work only under Linux.
devnexen commented 1 year ago
Poster
Collaborator

Makes sense, I think (w/o being 100% sure) clang in mac is built w/o GNU extensions.

Makes sense, I think (w/o being 100% sure) clang in mac is built w/o GNU extensions.
belliash commented 1 year ago
Poster
Owner

Fixed build on systems other to Linux with commit da2e74ba08.

Fixed build on systems other to Linux with commit da2e74ba08.
devnexen closed this issue 1 year ago
Sign in to join this conversation.
No Milestone
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.