no description for ELF DT_FLAGS
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
lsb |
Fix Committed
|
Medium
|
Unassigned | ||
Mandriva |
Fix Released
|
Medium
|
Bug Description
On some builds, we see checker errors of this form:
Dynamic Tag 0x1e unknown
This value is DT_FLAGS:
#define DT_FLAGS 30 /* Flags for the object being loaded */
LSB needs to know something about this tag, so appchk/pkgchk can figure
out what to say, not just report it as unknown.
While looking in the DB, there seem to be a number of dynamic tags
which have a value of '0'. Presumably this means something (perhaps,
Not in LSB?) but I don't recall, so just wanted to check that this is
indeed as intended, for example:
INSERT INTO `DynamicEntries` VALUES (24,'DT_
INSERT INTO `DynamicEntries` VALUES (25,'DT_
INSERT INTO `DynamicEntries` VALUES (26,'DT_
INSERT INTO `DynamicEntries` VALUES (27,'DT_
INSERT INTO `DynamicEntries` VALUES (28,'DT_
INSERT INTO `DynamicEntries` VALUES (29,'DT_
INSERT INTO `DynamicEntries` VALUES (30,'DT_NUM','0');
BIND_NOW to FINI_ARRAYSZ have values '24'-'29', DT_RUNPATH is
defined correctly to '0x1d' (although I'd prefer the value '29'
to stay consistent in naming style.
In a current elf.h header we see:
#define DT_ENCODING 32 /* Start of encoded range */
#define DT_PREINIT_ARRAY 32 /* Array with addresses of preinit
fct*/
#define DT_PREINIT_ARRAYSZ 33 /* size in bytes of DT_PREINIT_ARRAY */
#define DT_NUM 34 /* Number used */
So besides DT_FLAGS, there are three other current dynamic tags
that we don't have any information for in the DB.
I have not checked the higher ranges to any depth but there are
clearly tags there we also know nothing about, such as:
#define DT_GNU_PRELINKED 0x6ffffdf5 /* Prelinking timestamp */
#define DT_GNU_CONFLICTSZ 0x6ffffdf6 /* Size of conflict section */
#define DT_GNU_LIBLISTSZ 0x6ffffdf7 /* Size of library list */
Seems like this needs some examination, as usual there's concern when
we report about unknown tags and it would be good to catch up as much
as possible.
Changed in mandriva: | |
importance: | Unknown → Medium |
status: | Unknown → Fix Released |