History log of /dalvik/libdex/CmdUtils.c
Revision Date Author Comments
de75089fb7216d19e9c22cce4dc62a49513477d3 09-Jun-2010 Carl Shapiro <cshapiro@google.com> Remove trailing whitespace.

Change-Id: I95534bb2b88eaf48f2329282041118cd034c812b
fbdcfb9ea9e2a78f295834424c3f24986ea45dac 29-May-2010 Brian Carlstrom <bdc@google.com> Merge remote branch 'goog/dalvik-dev' into dalvik-dev-to-master

Change-Id: I0c0edb3ebf0d5e040d6bbbf60269fab0deb70ef9
4b0750e8df91220690bb417f45d7ae8b7851b220 27-May-2010 Dan Bornstein <danfuzz@android.com> Fix two dex file structural verification issues.

First, structural verification failed to check for inconsistencies with
the number of arguments to methods compared to the number of registers
declared by those methods.

Second, neither the dexdump nor dexlist tools would run structural
verification.

As an added bonus, I renamed the function that performs byte swapping
and structural verification to be more descriptive about what it
does.

Bug: 2716693
Change-Id: I58794713967f5bea95010084c85efe1f929ce7d1
80a4e2497c3b5ef24fe1408c678053fbc6cd4b25 24-Apr-2010 Andy McFadden <fadden@android.com> Dalvik Zip rewrite.

Change the way zip archives are handled. This is necessary to deal with
very large (~1GB) APK files, for which our current approach of mapping
the entire file falls over.

We now do the classic scavenger hunt for the End Of Central Directory magic
on a buffer of data read from the file, instead of a memory-mapped section.
We use what we find to create a map that covers the Central Directory only.
For most uses in the VM this is all we really need, since we just want
to check file attributes vs. the optimized DEX to see if we're out of date.

If the caller is interested in unpacking the file contents, we have to
do an additional file read to discover the size of the Local File Header
section so we can skip past it. We also now do a file-to-file extraction
using read() calls instead of a buffer-to-file extraction on mmap()ed data.
No difference in performance (as measured by first-boot dexopt).

Since this is more of a rewrite than an update, I also took the opportunity
to change buffer size variables from "long" to "size_t", and normalized
return values to int (some were using bool, which is common in the VM but
was mixed in the zip code). Failure messages are now all LOGW with the
word "Zip" up front (didn't want to change log tag away from "dalvikvm").

Also, removed a not-quite-right check in the "map part of a file" code,
and clarified that the file offset is absolute.

For bug 2620103.

Change-Id: I745fb15abb541376f467969ffe422222676f1e5f
8911f7a2222124ba724a4a9281555b74d0e098e2 24-Apr-2010 Andy McFadden <fadden@android.com> Dalvik Zip rewrite.

Change the way zip archives are handled. This is necessary to deal with
very large (~1GB) APK files, for which our current approach of mapping
the entire file falls over.

We now do the classic scavenger hunt for the End Of Central Directory magic
on a buffer of data read from the file, instead of a memory-mapped section.
We use what we find to create a map that covers the Central Directory only.
For most uses in the VM this is all we really need, since we just want
to check file attributes vs. the optimized DEX to see if we're out of date.

If the caller is interested in unpacking the file contents, we have to
do an additional file read to discover the size of the Local File Header
section so we can skip past it. We also now do a file-to-file extraction
using read() calls instead of a buffer-to-file extraction on mmap()ed data.
No difference in performance (as measured by first-boot dexopt).

Since this is more of a rewrite than an update, I also took the opportunity
to change buffer size variables from "long" to "size_t", and normalized
return values to int (some were using bool, which is common in the VM but
was mixed in the zip code). Failure messages are now all LOGW with the
word "Zip" up front (didn't want to change log tag away from "dalvikvm").

Also, removed a not-quite-right check in the "map part of a file" code,
and clarified that the file offset is absolute.

For bug 2620103.

Change-Id: I745fb15abb541376f467969ffe422222676f1e5f
b5ebe47515c9750c7347557075d3714ba7671aa9 17-Nov-2009 Andy McFadden <fadden@android.com> Restore support for DEX on FAT.

The recent change to mmap(read-write)+mprotect(read-only) doesn't seem
to work on FAT filesystems like /sdcard. This caused problems for the
code that opens Zip files and the code that opens DEX files.

This change splits the "map file" function into "read only" and
"writable read only" versions, using the former for Zip and the latter
for DEX. Further, failure to mprotect(read-only) is now considered a
soft failure and only causes a warning.

The only apps that will be affected by this are those using /sdcard to
hold optimized DEX data for "plugin" APKs.

Also: moved the non-HAVE_POSIX_FILEMAP implementation of file mapping
into a shared function. (Could probably go away entirely.)

Also: fixed the expected output for test 071.
a2ee53bac4db4c77aa2bb31bad8a9d177fd09301 06-May-2009 Andy McFadden <fadden@android.com> Added XML output mode for dexdump.

This adds an output mode that looks similar to the "current.xml" we
generate for our public APIs. There are a number of differences in
content. The original ("plain") output has not been altered.

I pulled in the bad checksum handling change (internal 142686) since
it's small, has turned out to be useful, and might make the merge of
this to master slightly easier.

This also renames a buffer in the ongoing temp file variable saga.
bcb095953a1a4a91d86911377e4bc1a72a56e891 05-May-2009 Andy McFadden <fadden@android.com> Pull fix from master branch, and correct filename juggling.

The original fix was in p4 144906. This also corrects some problems that
arise when the temp file is specified.
11131596dee3cf7feabd21a33d1758165fcf3794 08-Apr-2009 Andy McFadden <> AI 144906: Default to failure, not success.

Automated import of CL 144906
f6c387128427e121477c1b32ad35cdcaa5101ba3 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
f72d5de56a522ac3be03873bdde26f23a5eeeb3c 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
2ad60cfc28e14ee8f0bb038720836a4696c478ad 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution