Update boot image extension compilation args.

And in dex2oat check for boot image location with profile
specification. For app compilation, trim such boot image
location to the leading components without profile spec.
For boot image extension, such location is currently an
error because it expects all dependencies to be satisfied
from boot images; this may be relaxed in future.

Test: aosp_taimen-userdebug boots.
Test: adb root && \
      adb shell stop && \
      adb shell setprop dalvik.vm.boot-image \
          'boot.art:/nonx/boot-framework.art!/system/etc/boot-image.prof' &&
      adb shell start  # Starts correctly.
      # Check /proc/<zygote64-pid>/maps, see
      #   <large> rw-p ... [anon:dalvik-/nonx/boot-framework.art]
      #   <small> r--p ... /memfd:/nonx/arm64/boot-framework.oat (deleted)
      #   <small> r--p ... /memfd:/nonx/arm64/boot-framework.vdex (deleted)
      #   <small> r--p ... /memfd:/nonx/arm64/boot-framework.oat (deleted)
      #   <small> rw-p ... /memfd:/nonx/arm64/boot-framework.oat (deleted)
      # (No r.xp as we did not compile anything.)
Bug: 119800099
Change-Id: Ie338a54d45967c790d08cbd1e53ecbcd2b217081
3 files changed