diff --git a/TODO b/TODO index 38a023cb..c1b474bd 100644 --- a/TODO +++ b/TODO @@ -1,12 +1,10 @@ -UPX TODO list. Last updated 2006-01-21. +UPX TODO list. Last updated 2006-02-13. IMPORTANT PROBLEMS THAT SHOULD BE FIXED SOON: - brute + linux/elf386 does not work -- stub ctojr32 needs CPU 486 because of bswap - OTHER: diff --git a/src/stub/macros.ash b/src/stub/macros.ash index 40adf0b9..c6288a3a 100644 --- a/src/stub/macros.ash +++ b/src/stub/macros.ash @@ -284,8 +284,6 @@ reloc_endx: %macro ctojr32 0 %push ctojr32 - CPU 486 ; FIXME: ctojr32 uses bswap - ;; I got confused by the syntactic sugar of the fake %ifdefs. ;; I can read the section name more easily when it is at the left margin. ;; Also, some of the logic to select the sections is not that simple, @@ -379,7 +377,9 @@ lxunf: ; in: Carry set iff we should apply mru and 0!=n_mru ;__LXUNF486__ >=486 mov al, byte 0 + CPU 486 bswap eax ; preserve Carry (2-byte instruction) + CPU 386 ;__LXUNF487__ 0!=n_mru && >=486 jnc unf_store ; do not apply mru @@ -579,8 +579,6 @@ unfcount: push eax push edx ret - - CPU 386 %pop %endmacro