Skip to content
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

Closed
wants to merge 5 commits into from

Conversation

lhondareyte
Copy link
Contributor

Only tested on f4discovery

@lhondareyte
Copy link
Contributor Author

Missing some stuff

@chettrick chettrick reopened this Jul 6, 2023
@chettrick chettrick added the enhancement New feature or request label Jul 6, 2023
@chettrick
Copy link
Owner

I merged your commit for ANSI function definition for newflist() in kconfig.
Although the other commits conflict with the current source tree and won't be committed, support for FreeBSD as a host operating system is desired.

Thanks for your help and involvement in DiscoBSD.

@chettrick chettrick closed this Jul 6, 2023
@lhondareyte
Copy link
Contributor Author

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.
Regards, Luc

chettrick added a commit that referenced this pull request Jul 20, 2023
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.
chettrick added a commit that referenced this pull request Jan 19, 2024
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants