[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug binutils/20814] DLLTool Put Wrong Hint Value In Lib Archieve (IDATA
From: |
pali at kernel dot org |
Subject: |
[Bug binutils/20814] DLLTool Put Wrong Hint Value In Lib Archieve (IDATA6 Section) |
Date: |
Mon, 13 May 2024 18:43:17 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=20814
Pali Rohár <pali at kernel dot org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |pali at kernel dot org
--- Comment #8 from Pali Rohár <pali at kernel dot org> ---
This change in commit 35fd2ddeb1d90f1750401cfb6d01fe055656b88d broke generating
hint indexes in import libraries from DEF file via dlltool.
I filled a new bug #31728 for this issue.
After applying revert of that commit on top of the current git branch of
binutils, dlltool started generating correct hints indexes. I verified it by MS
DUMPBIN tool and also by my changes to binutils objdump, which I put into the
new bug #31738.
The information here in this bug #20814 is on the wrong premise: In the
attachment #9639 is comparision of **ordinals** from export library with the
**hints** from the executable. Ordinals and hints are two different things
without any relation between them and trying to match hints to ordinal is just
an incorrect thing. In simple cases, which means that all symbols in input DEF
files are lexicographically sorted, no symbol has explicit ordinal assigned
then the symbols's ordinal == hint + 1. But in all other cases there is no
relation at all.
Seems that the MS "Properties" dialog shows only ordinal number. But MS tool
"DUMPBIN.EXE /exports" shows both ordinal number and hint number.
Executable can import symbol either by ordinal or by name+hint. Not both. So if
the symbol is imported by name then the number is hint, not the ordinal. I
explained it a bit more in the bug #31728.
So based on the information in bug #31728 and improved objdump -p (#bug 31738)
I would propose to revert the commit 35fd2ddeb1d90f1750401cfb6d01fe055656b88d.
--
You are receiving this mail because:
You are on the CC list for the bug.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Bug binutils/20814] DLLTool Put Wrong Hint Value In Lib Archieve (IDATA6 Section),
pali at kernel dot org <=