History log of /fuchsia/zircon/system/ulib/region-alloc/rules.mk
Revision Date Author Comments
# b0ee6dd6 21-Sep-2018 George Kulakowski <kulakowski@google.com>

[build] Make a number of static libraries build with -fvisibility=hidden

ZX-1895 #comment
Test: CQ

Change-Id: Id3252fcb1de5a6f6e1897da86fba92e2be9d0319


# f3e2126c 12-Sep-2017 Roland McGrath <mcgrathr@google.com>

[zx] Magenta -> Zircon

The Great Renaming is here!

Change-Id: I3229bdeb2a3d0e40fb4db6fec8ca7d971fbffb94


# 59e644b1 07-Sep-2017 George Kulakowski <kulakowski@google.com>

[zircon][mxtl->fbl] Rename mxtl to fbl

Change-Id: Ie21b6498e1bfb0a7fa0315e40b9e5c3ee78646be


# 91125e0a 23-Apr-2017 Roland McGrath <mcgrathr@google.com>

[ulib] Make mxtl, mxcpp, and mx libraries static-only

mxtl is actually a header-only library, so don't build a
shared object for it.

The mxtl and mx libraries are already built only as static
libraries in the Fuchsia GN build. Their code is very small.
Make the Magenta make build follow suit.

Change-Id: Ia79e5a996a981a8b046370d4ece9597f8e5bd1c2


# 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


# 3d0071cd 20-Jan-2017 John Grossman <johngro@google.com>

[region-alloc] Remove custom slab allocator from RegionAlloc

Make it use the generic mxtl::SlabAllocator<> instead

Change-Id: Ifa340d816af202fb8566b52a9e836bc55ea95e73


# 80387c4e 23-Sep-2016 John Grossman <johngro@google.com>

[utils] Add a region allocator utility library.

Add a small utility library (and tests) to manage allocating regions
of a 64-bit space. The general idea is that a user of the library can
create an allocator and add some (non-overlapping) regions to it.
They can then allocate regions from the available regions in the
allocator, either by size and alignment requirement or by specific
base address and size.

C and C++ APIs are provided. The C++ API depends on mxtl, but does
not depend on any particular implementation of new. Instead, it
explicitly uses malloc/free under the hood. Bookkeeping allocation is
done using allocation pools which allocate and carve up slabs of
memory (placing the results on a free list) in order to minimize the
frequency of trips to the heap and avoid heap fragmentation. Limits
can be placed on the total size of a pool, and pools can be shared
across multiple allocators allowing multiple applications in the same
binary to compartmentalize their memory impact.

Change-Id: I007322b66f60c2e520e45013e9c3352a60557af0