Displaying 16 results from an estimated 16 matches for "elf_sym".
Did you mean:
elf32_sym
2014 Feb 26
2
[LLVMdev] [lld] Relocation reading refactoring
...;class ELFT> class ELFRelocationReader {
public:
ELFRelocationReader(.....);
// Returns all created references.
ReferenceRangeT getAllReferences();
// Returns references for specified section/symbol.
ReferenceRangeT getReferences(StringRef sectionName,
Elf_Sym *symbol,
ArrayRef<uint8_t> content);
protected:
// Target can override these methods in the inherited class.
virtual ELFReference<ELFT> *createReference(Elf_Rela &rel, Elf_Sym *symbol);
virtual ELFReference<ELFT> *createReference(Elf_Rel...
2014 Mar 06
2
[LLVMdev] [lld] Relocation reading refactoring
...e `Elf_Rela` or `Elf_Rel`
record. Let's consider two implementations A and B:
A:
=====
1. Factor out `ELFReference` creation from
`createDefinedAtomAndAssignRelocations` into a couple of virtual
functions with the following signature:
ELFReference<ELFT> *
createRelocationReference(const Elf_Sym &symbol, const Elf_Rela &rai);
ELFReference<ELFT> *
createRelocationReference(const Elf_Sym &symbol, const Elf_Rel &ri,
ArrayRef<uint8_t> content);
2. Override one or both these methods in the <target name>ELFFile class.
B:
=====
1. Cre...
2014 Feb 26
2
[LLVMdev] [lld] Relocation reading refactoring
...Author: shankare
> Date: Tue Feb 12 12:46:53 2013
> New Revision: 174990
>
> URL: http://llvm.org/viewvc/llvm-project?rev=174990&view=rev
[...]
> ELFDefinedAtom<ELFT> *createDefinedAtomAndAssignRelocations(
> StringRef symbolName, StringRef sectionName, const Elf_Sym *symbol,
> const Elf_Shdr *section, ArrayRef<uint8_t> content) {
> @@ -380,6 +534,11 @@ private:
> (ri->r_offset < symbol->st_value + content.size())) {
> auto *ERef = new (_readerStorage)
> ELFReference<ELFT>(ri, ri-...
2011 Oct 13
0
[LLVMdev] llvm-objdump related patch
...et_endianness, is64Bits>
::sectionContainsSymbol(DataRefImpl Sec,
DataRefImpl Symb,
bool &Result) const {
- // FIXME: Unimplemented.
+
Result = false;
+ const Elf_Sym *sym = getSymbol(Symb);
+ const Elf_Shdr *sec = reinterpret_cast<const Elf_Shdr *>(Sec.p);
+
+ if (getSection(sym->st_shndx) != sec) {
This version of getSection will not handle extended section indices
properly. Use the version that takes a const Elf_Sym*. This also fails
when there i...
2011 Oct 12
2
[LLVMdev] llvm-objdump related patch
Michael,
I have rework the patch according to your suggestion. And I have
read binutil/objdump source code and found that it has a logic that if
there's no symtab, it will use dynsym, which is missing in llvm-objdump.
Songmao
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Fix-the-address-calculation-for-llvm-objdump.patch
Type: text/x-patch
2018 Mar 13
32
[PATCH v2 00/27] x86: PIE support and option to extend KASLR randomization
Changes:
- patch v2:
- Adapt patch to work post KPTI and compiler changes
- Redo all performance testing with latest configs and compilers
- Simplify mov macro on PIE (MOVABS now)
- Reduce GOT footprint
- patch v1:
- Simplify ftrace implementation.
- Use gcc mstack-protector-guard-reg=%gs with PIE when possible.
- rfc v3:
- Use --emit-relocs instead of -pie to reduce
2018 Mar 13
32
[PATCH v2 00/27] x86: PIE support and option to extend KASLR randomization
Changes:
- patch v2:
- Adapt patch to work post KPTI and compiler changes
- Redo all performance testing with latest configs and compilers
- Simplify mov macro on PIE (MOVABS now)
- Reduce GOT footprint
- patch v1:
- Simplify ftrace implementation.
- Use gcc mstack-protector-guard-reg=%gs with PIE when possible.
- rfc v3:
- Use --emit-relocs instead of -pie to reduce
2017 Oct 04
28
x86: PIE support and option to extend KASLR randomization
These patches make the changes necessary to build the kernel as Position
Independent Executable (PIE) on x86_64. A PIE kernel can be relocated below
the top 2G of the virtual address space. It allows to optionally extend the
KASLR randomization range from 1G to 3G.
Thanks a lot to Ard Biesheuvel & Kees Cook on their feedback on compiler
changes, PIE support and KASLR in general. Thanks to
2017 Oct 04
28
x86: PIE support and option to extend KASLR randomization
These patches make the changes necessary to build the kernel as Position
Independent Executable (PIE) on x86_64. A PIE kernel can be relocated below
the top 2G of the virtual address space. It allows to optionally extend the
KASLR randomization range from 1G to 3G.
Thanks a lot to Ard Biesheuvel & Kees Cook on their feedback on compiler
changes, PIE support and KASLR in general. Thanks to
2018 May 23
33
[PATCH v3 00/27] x86: PIE support and option to extend KASLR randomization
Changes:
- patch v3:
- Update on message to describe longer term PIE goal.
- Minor change on ftrace if condition.
- Changed code using xchgq.
- patch v2:
- Adapt patch to work post KPTI and compiler changes
- Redo all performance testing with latest configs and compilers
- Simplify mov macro on PIE (MOVABS now)
- Reduce GOT footprint
- patch v1:
- Simplify ftrace
2017 Oct 11
32
[PATCH v1 00/27] x86: PIE support and option to extend KASLR randomization
Changes:
- patch v1:
- Simplify ftrace implementation.
- Use gcc mstack-protector-guard-reg=%gs with PIE when possible.
- rfc v3:
- Use --emit-relocs instead of -pie to reduce dynamic relocation space on
mapped memory. It also simplifies the relocation process.
- Move the start the module section next to the kernel. Remove the need for
-mcmodel=large on modules. Extends
2017 Oct 11
32
[PATCH v1 00/27] x86: PIE support and option to extend KASLR randomization
Changes:
- patch v1:
- Simplify ftrace implementation.
- Use gcc mstack-protector-guard-reg=%gs with PIE when possible.
- rfc v3:
- Use --emit-relocs instead of -pie to reduce dynamic relocation space on
mapped memory. It also simplifies the relocation process.
- Move the start the module section next to the kernel. Remove the need for
-mcmodel=large on modules. Extends
2018 May 23
0
[PATCH v3 23/27] x86/modules: Adapt module loading for PIE support
...rch.core.got_max_entries = gots;
+
+ /*
+ * If a _GLOBAL_OFFSET_TABLE_ symbol exists, make it absolute for
+ * modules to correctly reference it. Similar to s390 implementation.
+ */
+ strings = (void *) ehdr + sechdrs[symtab->sh_link].sh_offset;
+ for (i = 0; i < symtab->sh_size/sizeof(Elf_Sym); i++) {
+ if (syms[i].st_shndx != SHN_UNDEF)
+ continue;
+ name = strings + syms[i].st_name;
+ if (!strcmp(name, "_GLOBAL_OFFSET_TABLE_")) {
+ syms[i].st_shndx = SHN_ABS;
+ break;
+ }
+ }
+ return 0;
+}
+#endif
+
void *module_alloc(unsigned long size)
{
void *p;
@@ -190,16...
2011 Nov 02
0
[LLVMdev] Proposal: MCLinker - an LLVM integrated linker
2011/11/1 Jush Lu (盧育龍) <Jush.Lu at mediatek.com>:
> Hi all,
>
> We are developing a linker, MCLinker.
>
> MCLinker is a linker for LLVM. It leverages the LLVM machine code (MC) layer to link object files and bitcodes, and generate shared objects and executable files.
>
>
> Motivation
> ----------
>
> The development of MCLinker was started out of the need
2011 Nov 01
6
[LLVMdev] Proposal: MCLinker - an LLVM integrated linker
Hi all,
We are developing a linker, MCLinker.
MCLinker is a linker for LLVM. It leverages the LLVM machine code (MC) layer to link object files and bitcodes, and generate shared objects and executable files.
Motivation
----------
The development of MCLinker was started out of the need for an LLVM integrated linker. LLVM lacks an integrated linker; hence, it relies on external linkers to
2013 Oct 15
23
[PATCH 00/21] Upgrade to Lua 5.2.2, add filesystem module and get_key binding
Hi,
This series targets automatic boot menu generation, but most of it
is the Lua upgrade, because I got tired reading deprecated API docs.
It's mostly a straightforward forward port of the earlier Syslinux
specific changes to Lua 5.1, except that:
* I chose the add a stub getenv() implementation to the COM32 API
instead of #ifdefing out all the references in Lua, and
* I kept oslib