Displaying 20 results from an estimated 57 matches for "dynsym".
2016 Feb 08
3
[LLD] Is there any reason to add _GLOBAL_OFFSET_TABLE_ to .dynsym?
When LLD builds a shared library for x86_64 it puts
_GLOBAL_OFFSET_TABLE_ to the both .symtab and .dynsym and defines it
as a GLOBAL symbol. If later this shared library participates in
executable file linking and GNU BFD linked is used for that, this
linker shows an error:
/usr/bin/ld: a.out: hidden symbol `_GLOBAL_OFFSET_TABLE_' in
/usr/lib/x86_64-linux-gnu/crt1.o is referenced by DSO
Gold link...
2015 Sep 29
0
[PATCH 2/2] bios: Don't try to guess the sections alignment
...ctors))
__ctors_end = .;
}
- __dtors_vma = .;
- __dtors_lma = __dtors_vma + __text_lma - __text_vma;
- .dtors : AT(__dtors_lma) {
+ .dtors : AT(ADDR(.dtors) + __vma_to_lma) {
__dtors_start = .;
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
__dtors_end = .;
}
- . = ALIGN(4);
-
- __dynsym_vma = .;
- __dynsym_lma = __dynsym_vma + __text_lma - __text_vma;
- .dynsym : AT(__dynsym_lma) {
+ .dynsym : AT(ADDR(.dynsym) + __vma_to_lma) {
__dynsym_start = .;
*(.dynsym)
__dynsym_end = .;
}
__dynsym_len = __dynsym_end - __dynsym_start;
- . = ALIGN(4);
-
- __dynstr_vma = .;
- __d...
2015 Sep 29
10
[PATCH 0/2] Fixes for gcc 5
From: Sylvain Gault <sylvain.gault at gmail.com>
TL;DR: The section aligment in linker scripts messed-up the memory mapping
needed for the compression / decompression to work.
The bug with gcc 5 is not trivial, I'll do my best to explain it here.
Basically, there are two memory mappings of the code. One in "virtual memory",
and one in "load memory". The one in
2019 Jan 16
2
[RFC] Adding support for dynamic entries in yaml2obj
...supported by `StringRef::to_integer()`). (ex. DT_STRSZ, DT_SYMENT,
DT_RELAENT, and others)
Here's an example to illustrate this design:
!ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
Type: ET_DYN
Machine: EM_X86_64
Sections:
- Name: .dynsym
Type: SHT_DYNSYM
Address: 0x1000
- Name: .data
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC, SHF_WRITE ]
- Name: .dynamic
Type: SHT_DYNAMIC
Entries:
- Tag: DT_SONAME
Value: libsomething.so
- Tag: DT_SYMTAB
Value: .dynsym
- Tag: DT_SYMENT...
2007 Mar 05
7
[PATCH 2/10] linux 2.6.18: COMPAT_VDSO
...const unsigned long *reloc_start, const unsigned long *reloc_end)
+{
+#if 1
+ const unsigned long *reloc;
+
+ for (reloc = reloc_start; reloc < reloc_end; ++reloc) {
+ unsigned long *ptr = (void *)((unsigned long)ehdr + *reloc);
+
+ *ptr += new_base - old_base;
+ }
+#else
+ unsigned i, ndynsym = 0, szdynsym = 0;
+ unsigned long dynsym = 0;
+
+ BUG_ON(ehdr->e_ident[EI_MAG0] != ELFMAG0);
+ BUG_ON(ehdr->e_ident[EI_MAG1] != ELFMAG1);
+ BUG_ON(ehdr->e_ident[EI_MAG2] != ELFMAG2);
+ BUG_ON(ehdr->e_ident[EI_MAG3] != ELFMAG3);
+ BUG_ON(ehdr->e_ident[EI_CLASS] != ELFCLASS32);
+ BUG_...
2007 Mar 05
7
[PATCH 2/10] linux 2.6.18: COMPAT_VDSO
...const unsigned long *reloc_start, const unsigned long *reloc_end)
+{
+#if 1
+ const unsigned long *reloc;
+
+ for (reloc = reloc_start; reloc < reloc_end; ++reloc) {
+ unsigned long *ptr = (void *)((unsigned long)ehdr + *reloc);
+
+ *ptr += new_base - old_base;
+ }
+#else
+ unsigned i, ndynsym = 0, szdynsym = 0;
+ unsigned long dynsym = 0;
+
+ BUG_ON(ehdr->e_ident[EI_MAG0] != ELFMAG0);
+ BUG_ON(ehdr->e_ident[EI_MAG1] != ELFMAG1);
+ BUG_ON(ehdr->e_ident[EI_MAG2] != ELFMAG2);
+ BUG_ON(ehdr->e_ident[EI_MAG3] != ELFMAG3);
+ BUG_ON(ehdr->e_ident[EI_CLASS] != ELFCLASS32);
+ BUG_...
2007 Mar 05
7
[PATCH 2/10] linux 2.6.18: COMPAT_VDSO
...const unsigned long *reloc_start, const unsigned long *reloc_end)
+{
+#if 1
+ const unsigned long *reloc;
+
+ for (reloc = reloc_start; reloc < reloc_end; ++reloc) {
+ unsigned long *ptr = (void *)((unsigned long)ehdr + *reloc);
+
+ *ptr += new_base - old_base;
+ }
+#else
+ unsigned i, ndynsym = 0, szdynsym = 0;
+ unsigned long dynsym = 0;
+
+ BUG_ON(ehdr->e_ident[EI_MAG0] != ELFMAG0);
+ BUG_ON(ehdr->e_ident[EI_MAG1] != ELFMAG1);
+ BUG_ON(ehdr->e_ident[EI_MAG2] != ELFMAG2);
+ BUG_ON(ehdr->e_ident[EI_MAG3] != ELFMAG3);
+ BUG_ON(ehdr->e_ident[EI_CLASS] != ELFCLASS32);
+ BUG_...
2019 Feb 27
14
RFC: Linker feature for automatically partitioning a program into multiple binaries
...arked up with a string naming the partition,
either at the source level with an attribute on the function or global
variable, or by passing a flag to the compiler (this string becomes the
partition's soname). These symbols will act as the GC roots for the
partition and will be exported from its dynsym. Assuming that there is a
single partition, let's call this set of symbols S2, while all other GC
roots (e.g. non-marked-up exported symbols, sections in .init_array) we
call S1. Any sections reachable from S1 are allocated to the main
partition, while sections reachable only from S2 but not fr...
2019 Mar 02
2
RFC: Linker feature for automatically partitioning a program into multiple binaries
...rtition,
>> either at the source level with an attribute on the function or global
>> variable, or by passing a flag to the compiler (this string becomes the
>> partition's soname). These symbols will act as the GC roots for the
>> partition and will be exported from its dynsym. Assuming that there is a
>> single partition, let's call this set of symbols S2, while all other GC
>> roots (e.g. non-marked-up exported symbols, sections in .init_array) we
>> call S1. Any sections reachable from S1 are allocated to the main
>> partition, while sectio...
2015 Oct 05
0
[PATCH 2/4] Remove unused linker scripts
...DDEN(__ctors_end = .);
- }
-
- HIDDEN(__dtors_vma = .);
- HIDDEN(__dtors_lma = __dtors_vma + __text_lma - __text_vma);
- .dtors : AT(__dtors_lma) {
- HIDDEN(__dtors_start = .);
- KEEP (*(SORT(.fini_array*)))
- KEEP (*(SORT(.dtors*)))
- HIDDEN(__dtors_end = .);
- }
-
- . = ALIGN(4);
-
- HIDDEN(__dynsym_vma = .);
- HIDDEN(__dynsym_lma = __dynsym_vma + __text_lma - __text_vma);
- .dynsym : AT(__dynsym_lma) {
- HIDDEN(__dynsym_start = .);
- *(.dynsym)
- HIDDEN(__dynsym_end = .);
- }
- HIDDEN(__dynsym_len = __dynsym_end - __dynsym_start);
-
- . = ALIGN(4);
-
- HIDDEN(__dynstr_vma = .);
- HIDDEN(__...
2006 May 01
0
[LLVMdev] Regarding exceptions (new to this list)
On Sun, 30 Apr 2006, Aristid Breitkreuz wrote:
> I am, as said in the subject, new to this list. I have not actually used
> LLVM, I tried with an older version but failed. Recently I noticed that
> 1.7 came out and looked at the release notes. And there was something
> that stroke me: llvm-g++ adheres to the IA64 ABI but _not for
> exceptions_. I was not able to find information why
2014 Feb 23
2
mk/efi.mk: Add libefi.a dependency
...do they exist?
Would
--- a/mk/efi.mk
+++ b/mk/efi.mk
@@ -58,10 +58,6 @@ $(LIBEFI):
%.o: %.S $(LIBEFI)
$(CC) $(SFLAGS) -c -o $@ $<
-.PRECIOUS: %.o
-%.o: %.c $(LIBEFI)
- $(CC) $(CFLAGS) -c -o $@ $<
-
#%.efi: %.so
# $(OBJCOPY) -j .text -j .sdata -j .data -j .dynamic -j .dynsym -j .rel \
# -j .rela -j .reloc --target=$(FORMAT) $*.so $@
make sense?
Groeten
Geert Stappers
--
Leven en laten leven
2006 Apr 30
2
[LLVMdev] Regarding exceptions (new to this list)
Hello,
I am, as said in the subject, new to this list. I have not actually used
LLVM, I tried with an older version but failed. Recently I noticed that
1.7 came out and looked at the release notes. And there was something
that stroke me: llvm-g++ adheres to the IA64 ABI but _not for
exceptions_. I was not able to find information why this is so and why
it is necessary, so I hope you don't
2015 Oct 05
7
[PATCH 0/4] Improve linker scripts
From: Sylvain Gault <sylvain.gault at gmail.com>
These patches basically remove unused linker scripts and port a change that was
made to an unused script.
Those are to be applied on top of the gcc 5 bug fixes as they would conflict
otherwise.
Sylvain Gault (4):
diag/mbr: fix dependency to linker script
Remove unused linker scripts
core: Make symbols defined in linker script HIDDEN
2017 Jul 04
2
Performance metrics with LLVM
...ows me to gather all the LLVM "-stats" output. On top of this I
see that the LNT cmake test-suite also dumps code-size statistics when
running, that look as follows:
size: 10848
size..bss: 48
size..comment: 218
size..ctors: 16
size..data: 4
size..dtors: 16
size..dynamic: 416
size..dynsym: 168
size..eh_frame: 172
size..eh_frame_hdr: 44
I can find all these statistics in a file called:
/scratch/leone/grosser/base/sandbox/test-2017-07-04_06-14-43/outputTd2xPU.json
but they do not appear in:
/scratch/leone/grosser/base/sandbox/test-2017-07-04_06-14-43/report.json
and in fact do...
2006 Jul 24
1
klibc parisc64
...in; defaulting to 0000000040001000
hppa64-linux-gnu-ld: usr/klibc/libc.so: Not enough room for program headers (allocated 5, need 6)
Section to Segment mapping:
Segment Sections...
00: PHDR:
01: INTERP: .interp
02: LOAD: .interp .dynamic .hash .dynsym .dynstr
03: LOAD: .text .rodata .PARISC.unwind .eh_frame
04: LOAD: .data.rel.ro .data .opd .dlt .bss
05: DYNAMIC: .dynamic
hppa64-linux-gnu-ld: final link failed: Bad value
make[2]: *** [usr/klibc/libc.so] Error 1
make[1]: *** [all] Error 2
make: *** [klibc]...
2008 Oct 21
5
Why could I get function names from a stripped exec?
Hello, all experts.
When I use pid provider, my Dscript with -F option output the codepath with flowindent as you know,
e.g.
-> main
-> f1
-> f2
however I realized that the exec file I used at that time was stripped.
Does anyone know the reason why I could see the function names?
Thanks in advance.
--
This message posted from opensolaris.org
2019 Feb 27
2
[cfe-dev] RFC: Linker feature for automatically partitioning a program into multiple binaries
...ng naming the partition,
> either at the source level with an attribute on the function or global
> variable, or by passing a flag to the compiler (this string becomes the
> partition's soname). These symbols will act as the GC roots for the
> partition and will be exported from its dynsym. Assuming that there is a
> single partition, let's call this set of symbols S2, while all other GC
> roots (e.g. non-marked-up exported symbols, sections in .init_array) we
> call S1. Any sections reachable from S1 are allocated to the main
> partition, while sections reachable onl...
2020 Jun 02
2
LLD : __start_ and __end_ symbols for orphan sections
...============= :
>LDFLAGS="-Bshareable -T ./linker_script"
>clang -fPIC -c test.c
>ld.lld $LDFLAGS test.o -o test.so
>objdump -tT test.so
Making __start_* __stop_* STV_PROTECTED is a deliberate choice. See
https://reviews.llvm.org/D44566
Such symbols can still be exported to .dynsym (can be looked up from
another shared object with dlopen) but prevent accidental symbol preemption..
>
>On 6/2/20, 12:00 AM, "llvm-dev on behalf of Moshtaghi, Alireza via llvm-dev" <llvm-dev-bounces at lists.llvm.org on behalf of llvm-dev at lists.llvm.org> wrote:
>
>...
2017 Jul 04
1
Performance metrics with LLVM
...ich allows me to gather all the LLVM "-stats" output. On top of this I
see that the LNT cmake test-suite also dumps code-size statistics when
running, that look as follows:
size: 10848
size..bss: 48
size..comment: 218
size..ctors: 16
size..data: 4
size..dtors: 16
size..dynamic: 416
size..dynsym: 168
size..eh_frame: 172
size..eh_frame_hdr: 44
I can find all these statistics in a file called:
/scratch/leone/grosser/base/sandbox/test-2017-07-04_06-14-43/outputTd2xPU.json
but they do not appear in:
/scratch/leone/grosser/base/sandbox/test-2017-07-04_06-14-43/report.json
and in fact do no...