Consolidate duplicated logic in csu Makefiles to lib/csu/Makefile.inc.Reviewed by: kibSponsored by: DARPADifferential Revision: https://reviews.freebsd.org/D25537
Only include object files from .ALLSRC when linking crt1 objects.Reported by: np, peterjReviewed by: kib, emasteSponsored by: DARPADifferential Revision: https://reviews.freebsd.org/D25469
Always compile the brand and ignore init ELF notes standalone.Reviewed by: kibSponsored by: DARPADifferential Revision: https://reviews.freebsd.org/D25374
Remove the sed hack for ABI tag notes.The ELF notes compiled in C were placed in a section with the wrong type(SHT_PROGBITS instead of SHT_NOTE). Previously, sed was used on thegenerated assembl
Remove the sed hack for ABI tag notes.The ELF notes compiled in C were placed in a section with the wrong type(SHT_PROGBITS instead of SHT_NOTE). Previously, sed was used on thegenerated assembly to rewrite the section type. Instead, write the notesin assembly which permits setting the correct section type directly.While here, move inline assembly entry points out of C and into assemblyfor aarch64, arm, and riscv.Reviewed by: kibTested on: amd64 (cirrus-ci), riscv64Sponsored by: DARPADifferential Revision: https://reviews.freebsd.org/D25211
show more ...
csu: Add the riscv .init call sequenceReviewed by: brSponsored by: AxiadoDifferential Revision: https://reviews.freebsd.org/D21537
Build the csu tests on all architectures.The tests haven't been run them, but this is enough to build them so I canget feedback on if the various crt.h headers are correct.MFC with: r339738Spon
Build the csu tests on all architectures.The tests haven't been run them, but this is enough to build them so I canget feedback on if the various crt.h headers are correct.MFC with: r339738Sponsored by: DARPA, AFRL
Process irelocs for statically linked binaries from crt1 on x86.This makes statically linked binaries with ifuncs operational.Reported and tested by: mjgReviewed by: emaste, markjSponsored by:
Process irelocs for statically linked binaries from crt1 on x86.This makes statically linked binaries with ifuncs operational.Reported and tested by: mjgReviewed by: emaste, markjSponsored by: The FreeBSD FoundationApproved by: re (rgrimes)Differential revision: https://reviews.freebsd.org/D17363
Support for v1.10 (latest) of RISC-V privilege specification.New version is not compatible on supervisor mode with v1.9.1(previous version).Highlights: o BBL (Berkeley Boot Loader) provides
Support for v1.10 (latest) of RISC-V privilege specification.New version is not compatible on supervisor mode with v1.9.1(previous version).Highlights: o BBL (Berkeley Boot Loader) provides no initial page tables anymore allowing us to choose VM, to build page tables manually and enable MMU in S-mode. o SBI interface changed. o GENERIC kernel. FDT is now chosen standard for RISC-V hardware description. DTB is now provided by Spike (golden model simulator). This allows us to introduce GENERIC kernel. However, description for console and timer devices is not provided in DTB, so move these devices temporary to nexus bus. o Supervisor can't access userspace by default. Solution is to set SUM (permit Supervisor User Memory access) bit in sstatus register. o Compressed extension is now turned on by default. o External GCC 7.1 compiler used. o _gp renamed to __global_pointer$ o Compiler -march= string is now in use allowing us to choose required extensions (compressed, FPU, atomic, etc).Sponsored by: DARPA, AFRLDifferential Revision: https://reviews.freebsd.org/D11800
Rework r234502 to include a modified CFLAGS along with ACFLAGS.On most architectures crt objects are compiled in a multiple-step processso that sed can be run on the generated assembly. As the fi
Rework r234502 to include a modified CFLAGS along with ACFLAGS.On most architectures crt objects are compiled in a multiple-step processso that sed can be run on the generated assembly. As the final step,the C compiler generates an object file from the modified assembly output.Currently this last step uses $CC with only $ACFLAGS. However, for otheruses in the tree, $ACFLAGS is meant to include assembly-specific compilerflags that are in addition to $CFLAGS (see default .S.o rulesbsd.suffixes.mk). In particular, external toolchains may requireadditional flags to select a non-default target which will be presentin CFLAGS but not ACFLAGS. To support this while still mitigating theissue with CFLAGS described in r234502, include a modified CFLAGS thatexcludes "-g" when assembling the modified assembly files.Note that normally an assembler ($AS) is used to assemble .s flags toobject files (see bsd.suffixes.mk). However, llvm-based toolchains donot currently have a stand-alone assembler.Reviewed by: impSponsored by: DARPA / AFRLDifferential Revision: https://reviews.freebsd.org/D10085
Use SRCTOP-relative paths and .CURDIR with :H instead of ".." specified pathsThis implifies pathing in make/displayed outputMFC after: 3 weeksSponsored by: Dell EMC Isilon
Start support for the RISC-V 64-bit architecture developed by UC Berkeley.RISC-V is a new ISA designed to support computer research and education, andis now become a standard open architecture for
Start support for the RISC-V 64-bit architecture developed by UC Berkeley.RISC-V is a new ISA designed to support computer research and education, andis now become a standard open architecture for industry implementations.This is a minimal set of changes required to run 'make kernel-toolchain'using external (GNU) toolchain.The FreeBSD/RISC-V project home: https://wiki.freebsd.org/riscv.Reviewed by: andrew, bdrewery, emaste, impSponsored by: DARPA, AFRLSponsored by: HEIF5Differential Revision: https://reviews.freebsd.org/D4445