-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support on FreeBSD #2
Conversation
Missing some stuff |
I merged your commit for ANSI function definition for newflist() in kconfig. Thanks for your help and involvement in DiscoBSD. |
Hi Chris, thanks for your merge. Sorry for the silence, I've been very busy the last few weeks/months. I'll have more time in the next few weeks, I will review all that. |
Build the stm32 kernels with -fcommon added to CMACHFLAGS and -nopie removed from LDFLAGS in Makefile.kconf. Regenerate stm32 kernel Makefiles. -nopie (and/or -no-pie or the many other variations) is the default for arm-none-eabi-{gcc,ld}, so removing it does not change the produced kernel binary. Prior to GCC 10 -fcommon was the default. GCC 10+ defaults to -fno-common. Use -fcommon until the kernel is -fno-common clean. See https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=6271dd984d7f92 This commit does not change the produced kernel binary with: - OpenBSD/amd64 6.8 and 7.3, with arm-none-eabi-gcc-linaro 7.4.1. - Ubuntu/amd64 18.04 LTS, with gcc-arm-none-eabi 7.3.1. This commit fixes "-nopie not an option" errors and "multiple definition of" errors with: - FreeBSD/amd64 13.2, with both arm-none-eabi-gcc 11.3.0 and gcc-arm-embedded 10.3.1. - Ubuntu/amd64 23.04, with gcc-arm-none-eabi 12.2.1. Modern FreeBSD and Ubuntu are now able to build stm32 kernels. This commit is inspired/based on previous work by @lhondareyte in pull request #2 and @saper in issue #4, and the -fno-common work done in OpenBSD for base clang/llvm.
Update the char version[] in vers.c, generated by the shell script sys/conf/newvers.sh, for the DiscoBSD operating system. The old char version[] string stated, for stm32, something like: 2.11 BSD UNIX for STM32, rev G469 #1: Thu Jan 18 08:51:11 MST 2024 chris@stm32.discobsd.org:/sys/stm32/f412gdisco The new char version[] string states, for all architectures: DiscoBSD 2.1 (F412GDISCO) #2 473: Fri Jan 19 00:52:08 MST 2024 chris@stm32.discobsd.org:/sys/stm32/f412gdisco The top line information values, from left to right, are: ostype, osrelease, kernel id, compile version, git repo number, date. The top line is used by motd to be displayed upon each log in. Other simple cleanups to the file for regularity.
Only tested on f4discovery