#
6408b1ec |
|
06-Feb-2018 |
Adam Barth <abarth@google.com> |
[ldmsg] Convert the loader service to FIDL wire format Previously, the loader service used a hand-rolled protocol. Now the protocol is specified in //zircon/system/public/zircon/loader.fidl. Because this protocol is used by such low-level components (e.g., userboot and libc), we do not use generated code to implement the protocol. Instead, we use a stand-alone library, ldmsg, which manually encodes and decodes messages according to the wire format specified in loader.fidl. This CL also moves fidl/types.h into zircon/fidl.h because these type definitions are now fundamental to the operation of the system. Putting their definition in this location makes them easier to reference from userboot and libc. Change-Id: I9a7619b09b0ff543b8883ac53852ade9d5c033b6
|
#
39e49ee3 |
|
07-Feb-2018 |
Adam Barth <abarth@google.com> |
Revert "[ldmsg] Convert the loader service to FIDL wire format" This reverts commit 3ff2a3f316904d6acf709169fb12ee059231d5d9. Additional review comments need to be addressed. Original change's description: > [ldmsg] Convert the loader service to FIDL wire format > > Previously, the loader service used a hand-rolled protocol. Now the > protocol is specified in //zircon/system/public/zircon/loader.fidl. > > Because this protocol is used by such low-level components (e.g., > userboot and libc), we do not use generated code to implement the > protocol. Instead, we use a stand-alone library, ldmsg, which manually > encodes and decodes messages according to the wire format specified in > loader.fidl. > > This CL also moves fidl/types.h into zircon/fidl.h because these type > definitions are now fundamental to the operation of the system. Putting > their definition in this location makes them easier to reference from > userboot and libc. > > Change-Id: I806455813d3a397a2eff41badadf61c28812e328 TBR=kulakowski@google.com,swetland@google.com,abarth@google.com Change-Id: I7ac90b53cdc152dc8cd892eb394ec7f641161ee9 No-Presubmit: true No-Tree-Checks: true No-Try: true
|
#
3ff2a3f3 |
|
06-Feb-2018 |
Adam Barth <abarth@google.com> |
[ldmsg] Convert the loader service to FIDL wire format Previously, the loader service used a hand-rolled protocol. Now the protocol is specified in //zircon/system/public/zircon/loader.fidl. Because this protocol is used by such low-level components (e.g., userboot and libc), we do not use generated code to implement the protocol. Instead, we use a stand-alone library, ldmsg, which manually encodes and decodes messages according to the wire format specified in loader.fidl. This CL also moves fidl/types.h into zircon/fidl.h because these type definitions are now fundamental to the operation of the system. Putting their definition in this location makes them easier to reference from userboot and libc. Change-Id: I806455813d3a397a2eff41badadf61c28812e328
|
#
f3e2126c |
|
12-Sep-2017 |
Roland McGrath <mcgrathr@google.com> |
[zx] Magenta -> Zircon The Great Renaming is here! Change-Id: I3229bdeb2a3d0e40fb4db6fec8ca7d971fbffb94
|
#
25156ee9 |
|
08-Aug-2017 |
Roland McGrath <mcgrathr@google.com> |
[build] Don't use rodso.ld with lld With lld's -z rodynamic, it's now possible to do the "rodso" cases (the vDSO and userboot) without using the scripts/rodso.ld linker script. Change-Id: I30cb10a23e71878f524f04f30c4834c108c90efd
|
#
3eba7de5 |
|
25-Aug-2017 |
Brian Swetland <swetland@google.com> |
[build][groups] annotate 'misc' and 'test' modules This allows us to generate a bootdata.bin which excludes them, reducing it from 4.52MB to 2.65MB The default bootdata.bin still includes all modules. Change-Id: If13bfcacba9386a691e6b7c380eed53d67bb44eb
|
#
ba57cabd |
|
18-Aug-2017 |
Petr Hosek <phosek@google.com> |
[userboot] Use the -ffreestanding flag with libuserboot This is to make sure that compiler doesn't try any shenanigans like replacing the calls to memcpy/memset/memmove with builtins which cause LTO to optimize our own versions away. Change-Id: I378049282f161f35172753ecd5c3bee9fb3a32be
|
#
e379d886 |
|
24-Jul-2017 |
Roland McGrath <mcgrathr@google.com> |
[build] Support AddressSanitizer userland build with USE_ASAN=true ASan builds by default go in build-$PROJECT-asan/. The buildall and run-magenta scripts do ASan builds with the -A switch. Code that is incompatible with sanitizer builds adds $(NO_SANITIZERS) to MODULE_COMPILEFLAGS. Everything else in userland gets built with ASan. Using USE_ASAN=true requires a Clang toolchain with the ASan runtime shared library, which will not land for a while yet. MG-71 # Enabled all-or-nothing USE_ASAN build switch for Magenta standalone. Change-Id: Ifc0628934c19affcb909b20f3cfdcc86ee54c2f9
|
#
57626625 |
|
05-Jun-2017 |
Roland McGrath <mcgrathr@google.com> |
[ulib][musl][asan] Sanitizer support in memcpy, memmove, memset Mark the C implementations of memcpy, memmove, memset with NO_ASAN. These functions will have sanitizing wrappers provided by the sanitizer runtime library. Export aliases __unsanitized_memcpy, __unsanitized_memmove, and __unsanitized_memset that the sanitizer runtime code can call directly. In the ASan build, Define weak aliases __asan_memcpy, __asan_memmove, and __asan_memset that will satisfy references generated by the compiler without the sanitizer runtime library. Change-Id: I0a192b9f6c623e71300422ffac86d785303b11d3
|
#
841a07a0 |
|
22-Apr-2017 |
Roland McGrath <mcgrathr@google.com> |
[core][userboot] Provide a basic loader service in userboot This makes it possible for the initial program (usually devmgr) to load additional shared libraries. Change-Id: Ief65d8ec8705d47bbacbbeb85ec28811d4c3725e
|
#
763f4c85 |
|
22-Apr-2017 |
Roland McGrath <mcgrathr@google.com> |
[core][userboot] Clean up bootdata-scanning code Functions do it with more fun. Change-Id: I3ddbc0cbc4e156570d2c42dafd36323d9ef4a258
|
#
50a2d07e |
|
21-Mar-2017 |
Travis Geiselbrecht <travisg@google.com> |
[make] add QUIET=1 option to the build to squelch all output Change-Id: I57742bb6aa0ad1f0dc516c917dfecd65f6f65f43
|
#
16656ae0 |
|
05-Apr-2017 |
Brian Swetland <swetland@google.com> |
[build] flatten the build Previously we treated kernel/, system/, and third_party/ as overlays on a shared namespace. This required the concept of "canonical" module names, and a lot of complexity to ensure that things didn't collide and the build worked. This change gets rid of that, no longer passes -I to make, so that include directives from our *.mk files do not magically wildcard across various paths, etc. The most user-visible change is that everywhere where a module name is specified (MODULE_DEPS, MODULE_LIBS, etc), full module names like kernel/lib/io or system/ulib/mxio must be used instead of previously-allowed "short" names like lib/io and ulib/mxio. The build output still has a similar shape, but the first segment of the module path (kernel/, system/, or third_party/) is no longer elided under $(BUILDDIR) Change-Id: I525aba1da1c86eb7a86007bddc669f7eeebfedd5
|
#
bb5242c8 |
|
13-Mar-2017 |
Josh Conner <joshconner@google.com> |
[scripts][build] Make scripts magenta-friendly Allows scripts to run under dash in magenta. Change-Id: I2913871ae92c8ca259fd00300e2171330782421e
|
#
c3e53efc |
|
08-Mar-2017 |
Roland McGrath <mcgrathr@google.com> |
[build] Make rodso.ld a plain source file again Without the ARM32 support, there is no need to preprocess the linker script file with #if conditionals. So just use the source file directly. Change-Id: Ida3cf629f203398d0b60b228836088a6e25539d2
|
#
c8147e06 |
|
24-Feb-2017 |
Roland McGrath <mcgrathr@google.com> |
[build][userboot][ulib][runtime][musl] Support userland safe-stack build Add build machinery to enable safe-stack for user-mode code by default when building with Clang. Annotate code on the early startup path so it won't use the safe-stack ABI before the thread pointer and stacks are set up. Disable safe-stack entirely for everything that goes into userboot. Change-Id: Ifb1bc785bb0cc97164b937b3a32d5bfe26d67ef1
|
#
4a086969 |
|
16-Feb-2017 |
Josh Conner <joshconner@google.com> |
[make] Allow OS-specific scripts If a script is present in the scripts directory with an OS (e.g., .Linux or .Fuchsia) suffix, that script will be used instead. Change-Id: I880138fe39775f3c3f84a8f0e76ecee18e27f10c
|
#
796f3dd2 |
|
24-Jan-2017 |
Tim Kilbourn <tkilbourn@google.com> |
[userboot] Use bootdata library Change-Id: I3a02f1d7fdbd778ce86e852ca2a891b6c6edb14c
|
#
a602413d |
|
24-Oct-2016 |
Tim Kilbourn <tkilbourn@google.com> |
[userboot] Decompress bootfs If the appropriate flag is set in the bootfs bootdata, attempt to decompress the VMO. Also deprecated the FSMAGIC header in favor of the bootdata_t magic. userboot will still check for the existence of the header for now, for compatibility, but eventually this too can be removed. Change-Id: If7d9b466524e8edfd6327d4959c2f3168a1bc598
|
#
dc800e9a |
|
29-Sep-2016 |
Brian Swetland <swetland@google.com> |
[organization] move essential userspace components to system/core/... userboot, devmgr, acpisvc, crashlogger, netsvc are essential to the system booting and running. Pretty much everything else in system/uapp/.. is nonessential. Change-Id: Ibbcf2b1c388bdefc28699226eab02e90aab895f0
|