mirror of
https://github.com/cirosantilli/linux-kernel-module-cheat.git
synced 2026-01-23 02:05:57 +01:00
Don't copy static userland builds into out_rootfs_overlay by default.
I was doing that by mistake too often. To force it, use --copy-overlay. This mechanism might also be useful for future userland content.
This commit is contained in:
@@ -11124,7 +11124,7 @@ xdg-open bst_vs_heap_vs_hashmap.tmp.png
|
||||
|
||||
The parameters `heap_zoom_max` and `hashmap_zoom_max` are chosen manually interactively to best showcase the regions of interest in those plots.
|
||||
|
||||
First we build the benchmark with <<m5ops-instructions>> enabled, and then we run it and extract the stats:
|
||||
To benchmark on gem5, we first build the benchmark with <<m5ops-instructions>> enabled, and then we run it and extract the stats:
|
||||
|
||||
....
|
||||
./build-userland \
|
||||
|
||||
@@ -23,17 +23,6 @@ Build our compiled userland examples.
|
||||
self._add_argument('--ccflags')
|
||||
self._add_argument('--force-rebuild')
|
||||
self._add_argument('--optimization-level')
|
||||
self.add_argument(
|
||||
'--out-rootfs-overlay-dir-prefix',
|
||||
default='',
|
||||
help='''\
|
||||
Place the output files inside the image within this additional prefix.
|
||||
This is mostly useful to place different versions of binaries with different
|
||||
build parameters inside image to compare them. See:
|
||||
* https://cirosantilli.com/linux-kernel-module-cheat#update-the-toolchain
|
||||
* https://cirosantilli.com/linux-kernel-module-cheat#out_rootfs_overlay_dir
|
||||
'''
|
||||
)
|
||||
self.add_argument(
|
||||
'targets',
|
||||
default=[],
|
||||
@@ -96,7 +85,7 @@ Default: build all examples that have their package dependencies met, e.g.:
|
||||
exit_status = self._handle_thread_pool_errors(my_thread_pool)
|
||||
if exit_status != 0:
|
||||
return exit_status
|
||||
if not self.env['in_tree']:
|
||||
if self.env['copy_overlay']:
|
||||
self.sh.copy_dir_if_update(
|
||||
srcdir=build_dir,
|
||||
destdir=os.path.join(
|
||||
|
||||
26
common.py
26
common.py
@@ -489,6 +489,28 @@ https://cirosantilli.com/linux-kernel-module-cheat#gem5-arm-platforms
|
||||
)
|
||||
|
||||
# Userland.
|
||||
self.add_argument(
|
||||
'--copy-overlay',
|
||||
default=True,
|
||||
help='''\
|
||||
Copy userland build outputs to the overlay directory which will be put inside
|
||||
the image. If not given explicitly, this is disabled automatically when certain
|
||||
options are given, for example --static, since users don't usually want
|
||||
static executables to be placed in the final image, but rather only for
|
||||
user mode simulations in simulators that don't support dynamic linking like gem5.
|
||||
'''
|
||||
)
|
||||
self.add_argument(
|
||||
'--out-rootfs-overlay-dir-prefix',
|
||||
default='',
|
||||
help='''\
|
||||
Place the output files of userland build outputs inside the image within this
|
||||
additional prefix. This is mostly useful to place different versions of binaries
|
||||
with different build parameters inside image to compare them. See:
|
||||
* https://cirosantilli.com/linux-kernel-module-cheat#update-the-toolchain
|
||||
* https://cirosantilli.com/linux-kernel-module-cheat#out_rootfs_overlay_dir
|
||||
'''
|
||||
)
|
||||
self.add_argument(
|
||||
'--package',
|
||||
action='append',
|
||||
@@ -924,6 +946,10 @@ Incompatible archs are skipped.
|
||||
env['initarg'] = 'init'
|
||||
env['quit_init'] = '{}={}'.format(env['initarg'], env['userland_quit_cmd'])
|
||||
|
||||
if not env['_args_given']['copy_overlay']:
|
||||
if self.env['in_tree'] or self.env['static']:
|
||||
env['copy_overlay'] = False
|
||||
|
||||
# Userland
|
||||
env['userland_source_arch_arch_dir'] = join(env['userland_source_arch_dir'], env['arch'])
|
||||
if env['in_tree']:
|
||||
|
||||
Reference in New Issue
Block a user