aboutsummaryrefslogtreecommitdiff
path: root/sys/modules/cloudabi32
Commit message (Collapse)AuthorAgeFilesLines
* sys: Remove $FreeBSD$: one-line sh patternWarner Losh2023-08-231-1/+0
| | | | | | | Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/ Similar commit in current: (cherry picked from commit 031beb4e239b)
* Pass -fuse-ld=/path/to/ld if ${LD} != "ld"Alex Richardson2020-08-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is needed so that setting LD/XLD is not ignored when linking with $CC instead of directly using $LD. Currently only clang accepts an absolute path for -fuse-ld= (Clang 12+ will add a new --ld-path flag), so we now warn when building with GCC and $LD != "ld" since that might result in the wrong linker being used. We have been setting XLD=/path/to/cheri/ld.lld in CheriBSD for a long time and used a similar version of this patch to avoid linking with /usr/bin/ld. This change is also required when building FreeBSD on an Ubuntu with Clang: In that case we set XCC=/usr/lib/llvm-10/bin/clang and since /usr/lib/llvm-10/bin/ does not contain a "ld" binary the build fails with `clang: error: unable to execute command: Executable "ld" doesn't exist!` unless we pass -fuse-ld=/usr/lib/llvm-10/bin/ld.lld. This change passes -fuse-ld instead of copying ${XLD} to WOLRDTMP/bin/ld since then we would have to ensure that this file does not exist while building the bootstrap tools. The cross-linker might not be compatible with the host linker (e.g. when building on macos: host-linker= Mach-O /usr/bin/ld, cross-linker=LLVM ld.lld). Reviewed By: brooks, emaste Differential Revision: https://reviews.freebsd.org/D26055 Notes: svn path=/head/; revision=364761
* Pick the right vDSO file/linker flags when building cloudabi32.ko on ARM64.Ed Schouten2017-11-241-1/+5
| | | | | | | | | | | The recently imported cloudabi_vdso_armv6_on_64bit.S should be the vDSO for 32-bit processes when being run on FreeBSD/arm64. This vDSO ensures that all system call arguments are padded to 64 bits, so that they can be used by the kernel to call into most of the native implementations directly. Notes: svn path=/head/; revision=326167
* Support armv7 builds for userlandWarner Losh2017-10-051-1/+1
| | | | | | | | | | | | | | | | | | | Make armv7 as a new MACHINE_ARCH. Copy all the places we do armv6 and add armv7 as basically an alias. clang appears to generate code for armv7 by default. armv7 hard float isn't supported by the the in-tree gcc, so it hasn't been updated to have a new default. Support armv7 as a new valid MACHINE_ARCH (and by extension TARGET_ARCH). Add armv7 to the universe build. Differential Revision: https://reviews.freebsd.org/D12010 Notes: svn path=/head/; revision=324340
* sys/modules: normalize .CURDIR-relative paths to SRCTOPEnji Cooper2017-03-041-1/+1
| | | | | | | | | | | This simplifies make output/logic Tested with: `cd sys/modules; make ALL_MODULES=` on amd64 MFC after: 1 month Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=314651
* Make the cloudabi32 kernel module available on ARMv6.Ed Schouten2016-09-221-5/+9
| | | | | | | | | Now that all of the necessary bits for ARMv6 support for CloudABI have been checked in, let's hook the kernel module up to the build and document its existence. Notes: svn path=/head/; revision=306185
* Use both the MACHINE and MACHINE_CPUARCH directories for finding sources.Ed Schouten2016-08-291-0/+1
| | | | | | | | | | When fixing this module to build on PC98, I actually broke the build on ARM64. On PC98 we need to pull in the sources from the MACHINE_CPUARCH (i386), but on ARM64 we need to use the MACHINE, as MACHINE_CPUARCH is set to aarch64 instead of just arm64. Notes: svn path=/head/; revision=304991
* Properly use MACHINE_CPUARCH for finding cloudabi*_sysvec.c.Ed Schouten2016-08-271-1/+1
| | | | | | | | | | The build of the cloudabi32 kernel module currently fails for PC98. In the case of PC98, we just want to use the code for i386. Reported by: np Notes: svn path=/head/; revision=304886
* Add a Makefile for building the cloudabi32 kernel module.Ed Schouten2016-08-241-0/+37
Where the cloudabi64 kernel can be used to execute 64-bit CloudABI binaries, this one should be used for 32-bit binaries. Right now it works on i386 and amd64. Notes: svn path=/head/; revision=304745