#
4e44733f |
|
20-Jun-2018 |
Adam Barth <abarth@google.com> |
[launchpad] Stop exporting launchpad There are no more clients of launchpad outside of Zircon. This change stops us from exporting liblaunchpad.so from Zircon, which should help us not introduce any new clients. Test: Build-only change Change-Id: I659083d738eea1eecae5e7d004faa2c14f745413
|
#
1b4508c6 |
|
12-Feb-2018 |
Adam Barth <abarth@chromium.org> |
[loader-service] Separate loader-service from launchpad There's no particular reason to link the code for implementing the shared library service into the library for launching executables. This CL also removes the unused local shared library loader codepath, which would secretly spin up a thread in your process to export your namespace to processes you created if your parent didn't provide you with a functional shared library loader service. Change-Id: I0f2a31197df49831a7630ff72cf8a6a561c3dbd0
|
#
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
|
#
3e23b102 |
|
08-Sep-2017 |
Brian Swetland <swetland@google.com> |
[mxio][launchpad] loader-service moves to launchpad This is the logical place for it to live and paves the way to migrate it away from the soon-to-be-no-more mxio dispatcher. Tidied up the API, de-mxio'd it, put it behind a common loader_service_ prefix, and broke some swiss-army-knife interfaces into more standalone pieces, hopefully easier to understand. Change-Id: I91acd79a44c5dcc72412484bd6e151a54d52c8a1
|
#
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
|
#
12242caa |
|
07-Mar-2017 |
Brian Swetland <swetland@google.com> |
[build][musl] refer to musl libc as ulib/c This makes the build rules and the intermediate output files easier to understand, without having to modify the path where musl libc lives. The biggest observeable difference is the build intermediate files: $ ls build-magenta-pc-x86-64/ulib/c config-module.h libc.abi.h libc.abi.stamp libc.so libc.so.id libc.so.strip libc.a libc.abi.o libc.a.opts libc.so.abi libc.so.opts third_party which previously were at build-magenta-pc-x86/ulib/musl and named libmusl.* and the replacing of ulib/musl with ulib/c in the library dependencies of all the rules.mk files (the vast bulk of this change) Change-Id: If9c5d522099d2c9ac5bdb666b8e67a2eb3d316ee
|
#
23fc5c4c |
|
22-Feb-2017 |
Christopher Anderson <cja@google.com> |
[launchpad] Clean up deprecated functions Change-Id: I51a013faf72de37dd18eb06b3fc3956bb0f2422f
|
#
f6c75589 |
|
05-Nov-2016 |
Brian Swetland <swetland@google.com> |
[build] whitelist libraries for sysroot The sysroot should be carefully curated, not blindly include every library that we happen to build within the magenta build. MODULE_EXPORT is now used to indicate a library belongs in sysroot, either as static "a", shared "so", or both "a so". MODULE_NAME can override the static library base name if desired, similar to how it overrides the installed binary name for apps. Change-Id: Id97163a46e6ade155e82ad88ebcb68d48e243f57
|
#
39824377 |
|
16-Sep-2016 |
Roland McGrath <mcgrathr@google.com> |
[build][ulib] Disallow MODULE_DEPS for userlib modules Like userapp/usertest, these should be using MODULE_LIBS or MODULE_STATIC_LIBS instead. Change-Id: If01168baf9bdb98671577932df53b9f667099df9
|
#
0a182ed6 |
|
24-Aug-2016 |
Roland McGrath <mcgrathr@google.com> |
[ulib][launchpad] Drop unneeded ulib/runtime dependency Change-Id: I2ce1d8b5a6244a20712b3ecf833c04f9ec5592b3
|
#
66a201f1 |
|
16-Aug-2016 |
Brian Swetland <swetland@frotz.net> |
[system] align license and license banners with Fuchsia This adjusts the Magenta userspace code to match the prevailing license in Fuchsia (three-clause BSD), using the same banner and license text. Change-Id: I6b6d79435c5dbaa32027888874849e4f47aaa7be
|
#
486eb2d2 |
|
09-Aug-2016 |
Roland McGrath <mcgrathr@google.com> |
[ulib] [launchpad] Use mxr_mutex_t instead of C11 mtx_t The low-level libraries like launchpad can't assume that their callers will be using full-fledged C11 or POSIX threads. So don't use standard synchronization methods, but only the ulib/runtime layer instead. Change-Id: Id861e56f78667249ec24910c9fc04514273bfe0b
|
#
cced204a |
|
31-Jul-2016 |
Roland McGrath <mcgrathr@google.com> |
[ulib] [launchpad] Factor core ELF loading code out into elfload library The new library is simple, pure code that does no memory allocation. It's still rolled directly into the launchpad library. But it's also available to be rolled into other code. Change-Id: Iec7f74285a1a3901d7cbfa08d5cf1ced9aeb3b27
|
#
f358d68e |
|
29-Jul-2016 |
Brian Swetland <swetland@google.com> |
[build] make musl-static the exception rather than musl-shared This makes the common uapp, ulib, or utest rules.mk much more comprehensible. Some day we'll eliminate the need for -static entirely, but that requires some deeper refactoring. Change-Id: Ifcdb635e5af7bf0b033632358164c3042e7e6d4a
|
#
d8a400e1 |
|
29-Jul-2016 |
Brian Swetland <swetland@google.com> |
[build] tidy up the user build some more Change-Id: Ifba635a3b473df533e2fefc4d52251e8d20a5582
|
#
1ba4b288 |
|
28-Jul-2016 |
Roland McGrath <mcgrathr@google.com> |
[uapp] [utest] Switch most uapp and utest builds to dynamic linking Nearly every uapp and utest that can be dynamically linked is now. The mxr-tls test is omitted because it's broken when dynamically linked; that will probably be moot after the forthcoming TLS revamp. A few test helper programs cannot use dynamic linking as written because they get run with a nonstandard bootstrap message that does not include the magic required for the dynamic linker's startup. I didn't touch anything using ulib/ddk because I didn't bother to figure out how that fits together. Change-Id: I93b08960d946e23cd4ac89216e6d32789f99405a
|
#
d4eb6720 |
|
22-Jul-2016 |
Roland McGrath <mcgrathr@google.com> |
[launchpad] Add launchpad_launch_basic convenience function, use it in devmgr This function replaces mxio_start_process_etc with the same interface. Change-Id: Icc2a6910bb6a3f99cf81aca7c0685ae08b0c38e2
|
#
dd5b7c9b |
|
22-Jul-2016 |
Roland McGrath <mcgrathr@google.com> |
[launchpad] New library for process startup and ELF loading This adds a wholly new library called launchpad. It will eventually replace all the process startup and ELF loading code in mxio. For now it's only used by the new "launch" program, which is a somewhat flexible test harness for manually testing the launchpad interface. The library does not yet have various convenience functions for starting a process in standard ways. Change-Id: I15ea77d83a65151cab8a18382f55dabf88cd5ec0
|