]> granicus.if.org Git - strace/commitdiff
xlat: make "1<<val" syntax work with 64-bit values
authorDmitry V. Levin <ldv@altlinux.org>
Fri, 29 Apr 2016 20:12:54 +0000 (20:12 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Fri, 29 Apr 2016 20:12:54 +0000 (20:12 +0000)
* xlat/gen.sh(cond_xlat, gen_header): Generate 1UUL<<val
for 1<<val syntax.

Reported-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
xlat/gen.sh

index 7b074ef51e0560e9c9fe3fc5958cf9fff4cf1a26..1a0b4d14253f3524aad4dad56261806863273202 100755 (executable)
@@ -99,7 +99,7 @@ cond_xlat()
                xlat="$(print_xlat "${val}")"
        else
                m="${m#1<<}"
-               xlat="$(print_xlat_pair "${val}" "${str}")"
+               xlat="$(print_xlat_pair "1ULL<<${val#1<<}" "${str}")"
        fi
 
        if [ -z "${def}" ]; then
@@ -209,7 +209,7 @@ gen_header()
                        ;;
                '1<<'[A-Z_]*)   # symbolic constants with shift
                        if [ -n "${unconditional}" ]; then
-                               print_xlat_pair "${line}" "${line#1<<}"
+                               print_xlat_pair "1ULL<<${line#1<<}" "${line#1<<}"
                        else
                                cond_xlat "${line}" "${line#1<<}"
                        fi