[PATCH] D81585: [AIX][XCOFF][Patch1] Provide decoding trace back table information API for xcoff object file for llvm-objdump -d
Digger via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 17 13:48:09 PDT 2020
DiggerLin marked 4 inline comments as done.
DiggerLin added inline comments.
================
Comment at: llvm/include/llvm/Object/XCOFFObjectFile.h:411
+ static Expected<XCOFFTracebackTable> create(const uint8_t *Ptr,
+ uint64_t &Size);
+ uint8_t getVersion() const;
----------------
jasonliu wrote:
> I think a pointer to `Size` is better than reference to `Size` in this case. Reference is too subtle for this scenario and caller might not notice this is taken by reference.
> And as mentioned in the other comment, a comment and a test case is needed for this function.
>
> For the comment, I would suggest:
> ```
> /// Parse a XCOFF Traceback Table from \a Ptr with \a Size bytes.
> /// Returns a XCOFFTracebackTable upon successful parsing, otherwise an Error is returned.
> ///
> /// \param[in] Ptr
> /// A pointer points to the beginning of XCOFF Traceback Table (right after the initial 4 bytes of zeros).
> /// \param[in, out] Size
> /// The length of the XCOFF Traceback Table.
> /// If XCOFF Traceback Table is not parsed successfully or there are extra bytes that are not recognized,
> /// \a Size will be updated to reflect the actual length of the XCOFF Traceback Table that get parsed.
> ```
>
> Also please include a test that the XCOFFTracebackTable have extra content upon a successful parsing, and check if the Size gets modified correctly to the content that we are able to parse.
change as suggestion , the test case already there .
EXPECT_EQ(Size, 25u);
the original Size is 28 bytes.
================
Comment at: llvm/lib/Object/XCOFFObjectFile.cpp:857
+ Value <<= 1;
+ continue;
+ } else {
----------------
jasonliu wrote:
> both `continue` (here and in `else`) seems redundant for the current control flow.
thanks
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D81585/new/
https://reviews.llvm.org/D81585
More information about the llvm-commits
mailing list