[Bug rust/21185] add i128 and u128 support to rust
tromey at sourceware dot org
sourceware-bugzilla@sourceware.org
Fri May 19 15:34:00 GMT 2017
https://sourceware.org/bugzilla/show_bug.cgi?id=21185
--- Comment #5 from Tom Tromey <tromey at sourceware dot org> ---
(In reply to Pedro Alves from comment #4)
> I expect you'll run into lots of assumptions that LONGEST == 64-bit.
Yeah. There were some spots in a few tdeps that assume that CORE_ADDR
and ULONGEST are the same type. aarch64-tdep helpfully had self-tests
pointing out some invalid assumptions -- not so with the other ones.
And print-utils makes 64 bit assumptions.
> Do many places in the codebase need to learn about the types? What does the
> hack spare you from doing manually? Arithmetic?
I don't have a complete overview of the situation, but some things:
* Printing a 128-bit integer doesn't work well right now.
... but that's print-utils, which currently use LONGEST/ULONGEST.
Could be done manually for Rust, but since GCC has __int128 that
doesn't seem best.
* Arithmetic. This maybe means reimplementing a bunch of the value API?
E.g. value_as_long returns a LONGEST.
Could operate on the bytes instead, GMP-style.
Hmm, maybe that's all I've got so far.
I pushed the int-128 branch to my github in case you want to take a peek.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Gdb-prs
mailing list