@@ -297,29 +297,29 @@ class JsshellRuntimeConfiguration extends CommandLineJavaScriptRuntime {
297
297
class QemuConfig {
298
298
static const all = < Architecture , QemuConfig > {
299
299
Architecture .ia32:
300
- QemuConfig ('qemu-i386' , [ '-L' , ' /usr/lib/i386-linux-gnu/'] ),
300
+ QemuConfig ('qemu-i386' , ' /usr/lib/i386-linux-gnu/' ),
301
301
Architecture .x64:
302
- QemuConfig ('qemu-x86_64' , [ '-L' , ' /usr/lib/x86_64-linux-gnu/'] ),
302
+ QemuConfig ('qemu-x86_64' , ' /usr/lib/x86_64-linux-gnu/' ),
303
303
Architecture .x64c:
304
- QemuConfig ('qemu-x86_64' , [ '-L' , ' /usr/lib/x86_64-linux-gnu/'] ),
304
+ QemuConfig ('qemu-x86_64' , ' /usr/lib/x86_64-linux-gnu/' ),
305
305
Architecture .arm:
306
- QemuConfig ('qemu-arm' , [ '-L' , ' /usr/arm-linux-gnueabihf/'] ),
306
+ QemuConfig ('qemu-arm' , ' /usr/arm-linux-gnueabihf/' ),
307
307
Architecture .arm64:
308
- QemuConfig ('qemu-aarch64' , [ '-L' , ' /usr/aarch64-linux-gnu/'] ),
308
+ QemuConfig ('qemu-aarch64' , ' /usr/aarch64-linux-gnu/' ),
309
309
Architecture .simarm64_arm64:
310
- QemuConfig ('qemu-aarch64' , [ '-L' , ' /usr/aarch64-linux-gnu/'] ),
310
+ QemuConfig ('qemu-aarch64' , ' /usr/aarch64-linux-gnu/' ),
311
311
Architecture .arm64c:
312
- QemuConfig ('qemu-aarch64' , [ '-L' , ' /usr/aarch64-linux-gnu/'] ),
312
+ QemuConfig ('qemu-aarch64' , ' /usr/aarch64-linux-gnu/' ),
313
313
Architecture .riscv32:
314
- QemuConfig ('qemu-riscv32' , [ '-L' , ' /usr/riscv32-linux-gnu/'] ),
314
+ QemuConfig ('qemu-riscv32' , ' /usr/riscv32-linux-gnu/' ),
315
315
Architecture .riscv64:
316
- QemuConfig ('qemu-riscv64' , [ '-L' , ' /usr/riscv64-linux-gnu/'] ),
316
+ QemuConfig ('qemu-riscv64' , ' /usr/riscv64-linux-gnu/' ),
317
317
};
318
318
319
319
final String executable;
320
- final List < String > arguments ;
320
+ final String elfInterpreterPrefix ;
321
321
322
- const QemuConfig (this .executable, this .arguments );
322
+ const QemuConfig (this .executable, this .elfInterpreterPrefix );
323
323
}
324
324
325
325
/// Common runtime configuration for runtimes based on the Dart VM.
@@ -408,8 +408,10 @@ class StandaloneDartRuntimeConfiguration extends DartVmRuntimeConfiguration {
408
408
if (_configuration.useQemu) {
409
409
final config = QemuConfig .all[_configuration.architecture]! ;
410
410
arguments.insert (0 , executable);
411
- arguments.insertAll (0 , config.arguments);
412
411
executable = config.executable;
412
+ if (environmentOverrides['QEMU_LD_PREFIX' ] == null ) {
413
+ environmentOverrides['QEMU_LD_PREFIX' ] = config.elfInterpreterPrefix;
414
+ }
413
415
}
414
416
var command = VMCommand (executable, arguments, environmentOverrides);
415
417
if (_configuration.rr && ! isCrashExpected) {
@@ -443,8 +445,10 @@ class DartPrecompiledRuntimeConfiguration extends DartVmRuntimeConfiguration {
443
445
if (_configuration.useQemu) {
444
446
final config = QemuConfig .all[_configuration.architecture]! ;
445
447
arguments.insert (0 , executable);
446
- arguments.insertAll (0 , config.arguments);
447
448
executable = config.executable;
449
+ if (environmentOverrides['QEMU_LD_PREFIX' ] == null ) {
450
+ environmentOverrides['QEMU_LD_PREFIX' ] = config.elfInterpreterPrefix;
451
+ }
448
452
}
449
453
450
454
var command = VMCommand (executable, arguments, environmentOverrides);
0 commit comments