diff options
-rw-r--r-- | meta/classes/qemuboot.bbclass | 2 | ||||
-rwxr-xr-x | scripts/runqemu | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/meta/classes/qemuboot.bbclass b/meta/classes/qemuboot.bbclass index cc1cbce69d..229bd88527 100644 --- a/meta/classes/qemuboot.bbclass +++ b/meta/classes/qemuboot.bbclass | |||
@@ -109,7 +109,7 @@ def qemuboot_vars(d): | |||
109 | build_vars = ['MACHINE', 'TUNE_ARCH', 'DEPLOY_DIR_IMAGE', | 109 | build_vars = ['MACHINE', 'TUNE_ARCH', 'DEPLOY_DIR_IMAGE', |
110 | 'KERNEL_IMAGETYPE', 'IMAGE_NAME', 'IMAGE_LINK_NAME', | 110 | 'KERNEL_IMAGETYPE', 'IMAGE_NAME', 'IMAGE_LINK_NAME', |
111 | 'STAGING_DIR_NATIVE', 'STAGING_BINDIR_NATIVE', | 111 | 'STAGING_DIR_NATIVE', 'STAGING_BINDIR_NATIVE', |
112 | 'STAGING_DIR_HOST', 'SERIAL_CONSOLES'] | 112 | 'STAGING_DIR_HOST', 'SERIAL_CONSOLES', 'UNINATIVE_LOADER'] |
113 | return build_vars + [k for k in d.keys() if k.startswith('QB_')] | 113 | return build_vars + [k for k in d.keys() if k.startswith('QB_')] |
114 | 114 | ||
115 | do_write_qemuboot_conf[vardeps] += "${@' '.join(qemuboot_vars(d))}" | 115 | do_write_qemuboot_conf[vardeps] += "${@' '.join(qemuboot_vars(d))}" |
diff --git a/scripts/runqemu b/scripts/runqemu index 07429372ea..5c108ec23a 100755 --- a/scripts/runqemu +++ b/scripts/runqemu | |||
@@ -461,6 +461,14 @@ class BaseConfig(object): | |||
461 | raise RunQemuError("Could not determine the path to dri drivers on the host via pkg-config.\nPlease install Mesa development files (particularly, dri.pc) on the host machine.") | 461 | raise RunQemuError("Could not determine the path to dri drivers on the host via pkg-config.\nPlease install Mesa development files (particularly, dri.pc) on the host machine.") |
462 | os.environ['LIBGL_DRIVERS_PATH'] = dripath.decode('utf-8').strip() | 462 | os.environ['LIBGL_DRIVERS_PATH'] = dripath.decode('utf-8').strip() |
463 | 463 | ||
464 | # This preloads uninative libc pieces and therefore ensures that RPATH/RUNPATH | ||
465 | # in host mesa drivers doesn't trick uninative into loading host libc. | ||
466 | preload_items = ['libdl.so.2', 'librt.so.1', 'libpthread.so.0'] | ||
467 | uninative_path = os.path.dirname(self.get("UNINATIVE_LOADER")) | ||
468 | if os.path.exists(uninative_path): | ||
469 | preload_paths = [os.path.join(uninative_path, i) for i in preload_items] | ||
470 | os.environ['LD_PRELOAD'] = " ".join(preload_paths) | ||
471 | |||
464 | def check_args(self): | 472 | def check_args(self): |
465 | for debug in ("-d", "--debug"): | 473 | for debug in ("-d", "--debug"): |
466 | if debug in sys.argv: | 474 | if debug in sys.argv: |