[PATCH] D116100: [Utils][LoongArch](5/6) Add a --bits-endian option to extract-section.py
Renato Golin via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 10 02:24:10 PST 2022
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG6caee4890971: [Utils][LoongArch](5/6) Add a --bits-endian option to extract-section.py (authored by SixWeining, committed by rengolin).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D116100/new/
https://reviews.llvm.org/D116100
Files:
llvm/utils/extract-section.py
Index: llvm/utils/extract-section.py
===================================================================
--- llvm/utils/extract-section.py
+++ llvm/utils/extract-section.py
@@ -59,6 +59,9 @@
help='Print out in bits')
arg_parser.add_argument('--byte-indicator', action='store_true',
help='Whether to print a \'.\' every 8 bits in bits printing mode')
+ arg_parser.add_argument('--bits-endian', metavar='<little/big>', type=str,
+ choices=['little', 'big'],
+ help='Print out bits in specified endianness (little or big); defaults to big')
format_group.add_argument('-h', dest='format', action='store_const', const='hex',
help='Print out in hexadecimal')
arg_parser.add_argument('--hex-width', metavar='<# of bytes>', type=int,
@@ -66,7 +69,7 @@
arg_parser.add_argument('--help', action='help')
arg_parser.set_defaults(format='bits', tool_path='llvm-readobj', input_file='-',
- byte_indicator=False, hex_width=4)
+ byte_indicator=False, hex_width=4, bits_endian='big')
args = arg_parser.parse_args()
raw_section = get_raw_section_dump(args.tool_path, args.section, args.input_file)
@@ -82,7 +85,10 @@
val = int(part, 16)
if args.format == 'bits':
# divided into bytes first
- for byte in [(val >> off) & 0xFF for off in (24,16,8,0)]:
+ offsets = (24, 16, 8, 0)
+ if args.bits_endian == 'little':
+ offsets = (0, 8, 16, 24)
+ for byte in [(val >> off) & 0xFF for off in offsets]:
for bit in [(byte >> off) & 1 for off in range(7, -1, -1)]:
results.append(str(bit))
if args.byte_indicator:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D116100.407437.patch
Type: text/x-patch
Size: 1844 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220210/26ca320d/attachment.bin>
More information about the llvm-commits
mailing list