commit | 9bf188850e135b306ac82b72cf480c3e3d680cd5 | [log] [tgz] |
---|---|---|
author | Pavel Kosov <kpdev42@gmail.com> | Wed Mar 22 16:29:11 2023 +0300 |
committer | Pavel Kosov <kpdev42@gmail.com> | Wed Mar 22 16:29:11 2023 +0300 |
tree | 3896804bde1ffc2272e1fde082c2475480dfe260 | |
parent | 7c485bf52e0476f6d47bfcb08b5ac7e131d209bf [diff] |
Use segment's off and vaddr fields instead of IsSharedObject heuristic This patch unifies the handling of ET_EXEC and ET_DYN ELF files by clarifying the difference between "offset" of function's code in ELF file, its "virtual address" that is recorded in the file (according to ELF specification, it is the "symbol value" written to st_value field in a symbol table entry in case of executable and shared object ELF files) and the actual address of function in the address space of a process after dynamic relocations took place. Please note that file offset and virtual address are usually the same in ET_DYN files (such as shared objects and position-independent executables) but it is not required and this assumption is sometimes violated in real-life scenarios. Reviewed By: tnfchris Differential Revision: https://reviews.llvm.org/D144852 ~~ Huawei RRI, OS Lab
This directory and its subdirectories contain the LLVM nightly test infrastructure. This is technically version “4.0” of the LLVM nightly test architecture.
The infrastructure has the following layout:
$ROOT/lnt - Top-level Python ‘lnt’ module
$ROOT/lnt/server/db - Database schema, utilities, and examples of the LNT plist format.
$ROOT/docs - Sphinx documentation for LNT.
$ROOT/tests - Tests for the infrastructure.
For more information, see the web documentation, or docs/.
Testing is done by running tox from the top-level directory. It runs the tests for both Python 2 and Python 3, it also checks code style.