aboutsummaryrefslogtreecommitdiff
path: root/stand/i386/boot2
Commit message (Collapse)AuthorAgeFilesLines
* stand/i386: quiet executable stack warningRyan Libby10 days1-0/+2
| | | | | Reviewed by: imp, kib Differential Revision: https://reviews.freebsd.org/D56908
* stand/i386: quiet gcc -Warray-boundsRyan Libby2025-10-171-1/+2
| | | | | | | | | GCC has started to warn about memory accesses under address 0x1000. Tweak it to 0x400 for stand/i386 to avoid warnings for access to BIOS data area memory and above but still retain most of the warning value. Reviewed by: dab, imp Differential Revision: https://reviews.freebsd.org/D53036
* Remove residual blank line at start of MakefileWarner Losh2024-07-151-1/+0
| | | | | | | This is a residual of the $FreeBSD$ removal. MFC After: 3 days (though I'll just run the command on the branches) Sponsored by: Netflix
* stand: Automated cleanup of cdefs and other formattingWarner Losh2023-11-271-1/+0
| | | | | | | | | | | | | | | | Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row. Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/ Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/ Remove /\n+#if.*\n#endif.*\n+/ Remove /^#if.*\n#endif.*\n/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/ Sponsored by: Netflix
* Use 115200 bps by default for serial communicationEd Maste2023-08-171-1/+1
| | | | | | | | | | | | | 9600 was a standard baud rate decades ago, but 115200 is now more common so choose defaults that are useful to the largest number of users. Note that boot0sio does not support rates above 9600 so it remains unchanged. Reviewed by: bz, imp, manu Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D36295
* Remove $FreeBSD$: one-line sh patternWarner Losh2023-08-162-2/+0
| | | | Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
* Remove $FreeBSD$: one-line .c patternWarner Losh2023-08-161-2/+0
| | | | Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
* Remove $FreeBSD$: one-line .h patternWarner Losh2023-08-161-1/+0
| | | | Remove /^\s*\*+\s*\$FreeBSD\$.*$\n/
* Remove $FreeBSD$: two-line .h patternWarner Losh2023-08-162-4/+0
| | | | Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
* Adjust parse() definition in boot2 to avoid clang 15 warningDimitry Andric2022-07-151-1/+1
| | | | | | | | | | | | With clang 15, the following -Werror warning is produced: stand/i386/boot2/boot2.c:358:6: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] This is because parse() is declared with a (void) argument list, and defined with an empty argument list. Make the definition match the declaration. MFC after: 3 days
* Don't add -Winline for WARNS=6Alex Richardson2021-03-221-2/+1
| | | | | | | | | | | | | | This warning is very rarely useful (inline is a hint and not mandatory). This flag results in many warnings being printed when compiling C++ code that uses the standard library with GCC. This flag was originally added in back in r94332 but the flag is a no-op in Clang ("This diagnostic flag exists for GCC compatibility, and has no effect in Clang"). Removing it should make the GCC build output slightly more readable. Reviewed By: jrtc27, imp Differential Revision: https://reviews.freebsd.org/D29235
* Remove tests for obsolete compilers in the build systemEric van Gyzen2020-05-121-3/+0
| | | | | | | | | | | | | | Assume gcc is at least 6.4, the oldest xtoolchain in the ports tree. Assume clang is at least 6, which was in 11.2-RELEASE. Drop conditions for older compilers. Reviewed by: imp (earlier version), emaste, jhb MFC after: 2 weeks Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D24802 Notes: svn path=/head/; revision=360964
* Avoid using non-portable dd conv=osync optionAlex Richardson2020-05-111-1/+1
| | | | | | | | | | | | The same thing can be achieved using the bs=$SIZE and conv=sync options. Unlike conv=osync, conv=sync is support on both Linux and macOS. Reviewed By: imp, jhb (earlier version) Obtained from: CheriBSD Differential Revision: https://reviews.freebsd.org/D24788 Notes: svn path=/head/; revision=360894
* Link stand/i386 components using a linker scriptDimitry Andric2020-03-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LLD 10.0.0 changed the behavior of the -Ttext option, so that using -Ttext=0x0 now causes linking of the loaders to fail with: ld: error: output file too large: 18446744073707016908 bytes I reported this in https://bugs.llvm.org/show_bug.cgi?id=44715, and initially reverted the upstream change in r357259 to work around it. However, after some discussion with Fangrui Song in the upstream ticket, I think we can classify this as an unfortunate interaction between using -Ttext=0 in combination with --no-rosegment. (We added the latter in r332090, because btxld does not correctly handle input with more than 2 PT_LOAD segments.) Fangrui suggested to use a linker script instead, and Warner was already attempting this in r305353, but had to revert it due to "crypto-using boot problems" (not sure what those were :). This review updates the stand/i386/boot.ldscript to handle more sections, inserts some symbols like _edata and such that we use in libsa, and also discards any .interp section. It uses ORG which is defined on the linker command line using --defsym ORG=value to set the start of all the sections. Reviewed by: imp MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D23952 Notes: svn path=/head/; revision=358643
* Move all sources from the llvm project into contrib/llvm-project.Dimitry Andric2019-12-201-1/+1
| | | | | | | | | | | | | This uses the new layout of the upstream repository, which was recently migrated to GitHub, and converted into a "monorepo". That is, most of the earlier separate sub-projects with their own branches and tags were consolidated into one top-level directory, and are now branched and tagged together. Updating the vendor area to match this layout is next. Notes: svn path=/head/; revision=355940
* stand: boot2: fix amd64-xtoolchain-gcc buildKyle Evans2019-08-231-1/+1
| | | | | | | | | | | -Wno-missing-declarations is the GCC equivalent of -Wno-missing-prototypes... this was overlooked in r351135. MFC after: 3 days X-MFC-With: r351135 Notes: svn path=/head/; revision=351412
* stand: boot2: fix build with xtoolchain-llvm90Kyle Evans2019-08-161-1/+6
| | | | | | | | | | | | | ufsread.c grows a dependency on __ashldi3 with llvm90. Grab ashldi3.c out of compiler-rt rather than trying to link against libsa (for now). -Wno-missing-prototypes is necessary to compile ashldi3.c standalone. Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D21291 Notes: svn path=/head/; revision=351135
* stand: remove CLANG_NO_IAS from boot2Ed Maste2019-08-151-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many components under stand/ had CLANG_NO_IAS added when Clang's Integrated Assembler (IAS) did not handle .codeNN directives. Clang gained support quite some time ago, and we can now build stand/ with IAS. In most cases IAS- and GNU as-assembled boot components were identical, and CLANG_NO_IAS was already removed from other components. Clang IAS produces different output for some components, including boot2, so CLANG_NO_IAS was not previously removed for those. In the case of boot2 the difference is that IAS produces a larger encoding for one instruction (the testb at the beginning of read). GNU as produces: 2e f6 06 b0 08 80 while IAS includes an address size override prefix (67) and produces: 2e 67 f6 05 b3 08 00 00 80 This results in three fewer NOPs elsewhere in boot2 but no functional change, so switch to IAS for boot2. (We can separately pursue improved 16-bit IAS support with the LLVM developers.) Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=351073
* NM and OBJCOPY are already defined for all builds. There's no need toWarner Losh2018-07-201-2/+0
| | | | | | | conditionally define them here. Notes: svn path=/head/; revision=336534
* Further style(9) changes.Benno Rice2018-02-211-29/+33
| | | | | | | Tested by: objdump -d | md5 (both in-tree clang and lang/gcc6) Notes: svn path=/head/; revision=329740
* Purely whitespace changes bringing this file closer to style(9).Benno Rice2018-02-211-419/+431
| | | | | | | | | | Curiously, changing whitespace seems to cause the md5 of the .o files to differ these days hence the following testing strategy: Tested by: objdump -d | md5 (both in-tree clang and lang/gcc6) Notes: svn path=/head/; revision=329737
* Revert r329269.Benno Rice2018-02-171-440/+419
| | | | | | | | I tried to rework a section to fit inside 80 columns but the change ended up being functional. Back this out so I can readdress. Notes: svn path=/head/; revision=329418
* Reformat to come significantly closer to style(9).Benno Rice2018-02-141-419/+440
| | | | | | | | Reviewed by: imp, jhibbits Differential Revision: https://reviews.freebsd.org/D14366 Notes: svn path=/head/; revision=329269
* Hoist btx include stuff to i386/Makefile.incWarner Losh2017-12-191-1/+0
| | | | | | | Sponsored by: Netflix Notes: svn path=/head/; revision=326962
* Move sys/boot to stand. Fix all references to new locationWarner Losh2017-11-146-0/+1240
Sponsored by: Netflix Notes: svn path=/head/; revision=325834