Displaying 20 results from an estimated 39 matches for "_global_offset_table_".
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...
2009 Aug 18
0
[LLVMdev] Build issues on Solaris
...here, the reverse is true for both the GNU binutils and
XPG4 versions of `nm' :
-bash-3.2$ /usr/xpg4/bin/nm -p -u `find . -name libLLVMCore.a` | head
./Debug/lib/libLLVMCore.a[AsmWriter.o]:
0000000000 U __assert
0000000000 U __clzdi2
0000000000 U __udivdi3
0000000000 U __umoddi3
0000000000 U _GLOBAL_OFFSET_TABLE_
0000000000 U _ZdaPv
0000000000 U _ZdlPv
-bash-3.2$ /usr/bin/nm -p -u `find . -name libLLVMCore.a` | head
./Debug/lib/libLLVMCore.a[AsmWriter.o]:
__assert
__clzdi2
__udivdi3
__umoddi3
_GLOBAL_OFFSET_TABLE_
_ZdaPv
_ZdlPv
-bash-3.2$ /usr/bin/nm -p -g `find . -name libLL...
2009 Aug 11
6
[LLVMdev] Build issues on Solaris
...using -g would seem redundant, The error message
was
as follows: "/usr/xpg4/bin/nm: -e or -g set, -u ignored".
Actually it was the -u that's redundant - the -g was necessary for
GenLibDeps.pl:
$ nm -p -u libLLVMCore.a
libLLVMCore.a[AsmWriter.o]:
__asert
atof
_GLOBAL_OFFSET_TABLE_
isalnum
... etc ...
$ nm -p -g libLLVMCore.a
libLLVMCore.a[AsmWriter.o]:
0000000000 U __assert
0000000000 U atof
0000000000 U _GLOBAL_OFFSET_TABLE_
0000000000 U isalnum
The latter being what GenLibDeps.pl expects to see. All else being
equal though, it might be better to change GenLib...
2007 Sep 04
1
(fwd) Bug#440721: FTBFS on sparc while linking usr/klibc/libc.so
...2.o)' is incompatible with sparc:v9 output
ld: sparc architecture of input file `/usr/lib/gcc/sparc-linux-gnu/4.2.1/libgcc.a(_clz.o)' is incompatible with sparc:v9 output
/usr/lib/gcc/sparc-linux-gnu/4.2.1/libgcc.a(_clzdi2.o): In function `__clzdi2':
(.text+0xc): undefined reference to `_GLOBAL_OFFSET_TABLE_'
/usr/lib/gcc/sparc-linux-gnu/4.2.1/libgcc.a(_clzdi2.o): In function `__clzdi2':
(.text+0x14): undefined reference to `_GLOBAL_OFFSET_TABLE_'
make[3]: *** [usr/klibc/libc.so] Error 1
make[2]: *** [all] Error 2
make[1]: *** [klibc] Error 2
make[1]: Leaving directory `/build/klibc-1.5.6...
2013 Jun 25
0
Syslinux 6.00 released
...ld: i386 architecture of input file `onexit.o' is incompatible with i386:x86-64 output
ld: i386 architecture of input file `abort.o' is incompatible with i386:x86-64 output
zlib/compress.o: In function `compress2':
/tmp/syslinux-6.00/com32/lib/zlib/compress.c:28: undefined reference to `_GLOBAL_OFFSET_TABLE_'
zlib/compress.o: In function `compress':
/tmp/syslinux-6.00/com32/lib/zlib/compress.c:67: undefined reference to `_GLOBAL_OFFSET_TABLE_'
zlib/crc32.o: In function `make_crc_table':
/tmp/syslinux-6.00/com32/lib/zlib/crc32.c:109: undefined reference to `_GLOBAL_OFFSET_TABLE_'
zli...
2013 Jun 25
4
Syslinux 6.00 released
On Tue, 25 Jun, at 01:52:00PM, Helmut Hullen wrote:
> Thanks - now it crashes later ...
What crash are you seeing?
> I don't have the ia64 files which are needed for a complete binary. But
> maybe that's only my special problem.
You shouldn't need ia64 files to build ia32 and x86-64 versions of
gnu-efi or Syslinux.
--
Matt Fleming, Intel Open Source Technology Center
2015 Nov 18
3
Linking the FreeBSD base system with lld
...-Y [path]
Used by the 32-bit compat libraries. GNU ld documents this as "add
path to the default library search path." I don't understand exactly
what this option does, versus -L.
4. unrecognized reloc 22 (R_X86_64_GOTTPOFF)
Encountered in one of the libc tests.
5. --no-undefined vs _GLOBAL_OFFSET_TABLE_
A number of libraries are linked with --no-undefined. These fail wtih
an error of the form:
undefined symbol: _GLOBAL_OFFSET_TABLE_ in /<path>tmp/usr/lib/crtbeginS.o
6. emulation type "elf_i386_fbsd"
This is used by the 32-bit library build, which fails with "Unknown
emulation...
2003 Nov 24
1
ia64 mis-merge
Peter,
There was a mis-merge in the ia64 patch you put into 0.83. Olaf Hering
pointed it out. The patch is attached. Olaf claims that he is still
unable to compile for ia64 with is toolchain. He's getting the
following error:
<olh> libc.so(.got+0x0): multiple definition of `_GLOBAL_OFFSET_TABLE_'
<olh> tests/getenvtest.o(.got.plt+0x0): first defined here
<olh> make[2]: *** [tests/getenvtest.shared] Error 1
mh
--
Martin Hicks Wild Open Source Inc.
mort@wildopensource.com 613-266-2296
diff -uNr klibc-0.83.vanilla/klibc/arch/ia64/Makefile.inc klibc-0.83...
2014 Jul 12
2
[LLVMdev] MCFixup for distance from instruction to end of .text section
Hi,
I would like to use a MCFixup to encode the distance in number of bytes
from an instruction to the end of the .text section. Is there an
existing MCFixup type I can use for this? If not, does anyone have any
suggestions for how to add a new MCFixup type that will do this?
Thanks,
Tom
2006 Oct 25
1
Cross-compilation
...asonably far with this but when doing the
linking using the line:
i586-mingw32-g++ -shared -s -o mylibrary.dll mylibrary.def mylibrary.o
mylibrary_res.o -L/my/path/RCrossBuild/WinR/R-2.4.0/bin -lR
I get lots of these type of messages:
/my/path/to/mylibrary.cpp:43: undefined reference to
`_GLOBAL_OFFSET_TABLE_'
and other similar linker errors for virtually every object and command in
the program. After some googling I have found that there may be problems
with the libgcc.a library and its default -fPIC argument during
compilation.
Has anyone got this tutorial to work and if so how did they o...
2016 Oct 27
1
PIC and mcmodel=large on x86 doesn't use any relocations
...l %ecx, (%rax)
popq %rbp
retq
Where are the GOT accesses?
Where is the computation of the GOT address? Since it is more than 2GB away
from the code,
the ABI says to generate:
// ABI document suggests:
//
// pushq %r15
// leaq 1f(%rip),%r11
// 1:
// movabs $_GLOBAL_OFFSET_TABLE_,%r15
// leaq (%r11,%r15),%r15
//
// gcc generates:
//
// .L2:
// leaq .L2(%rip), %rax
// movabsq $_GLOBAL_OFFSET_TABLE_-.L2, %r11
// addq %r11, %rax
//
2012 Mar 13
3
[LLVMdev] MC JIT on ARM can't generate valid code for external functions call
...xternal_function>" like:
bl printf
Because the ELF file in memory generated by MC JIT does not have the
.plt section, but we need to have the following code to be emitted in it:
.plt:00008290 STR LR, [SP,#-4]!
.plt:00008294 LDR LR, =_GLOBAL_OFFSET_TABLE_
; PIC mode
.plt:00008298 NOP
.plt:0000829C LDR PC, [LR,#8]!
Also GOT section doesn't exists.
To fix this we need to generate the valid entries in GOT and PLT sections
We propose adding these sections and generating a thunk, same as in the
usual com...
2014 Mar 14
3
[LLVMdev] [ARM] [PIC] optimizing the loading of hidden global variable
>> Any thoughs?
>
> I'm now struggling to see how GCC justifies it. What if a different
> translation-unit declared those variables in a different order? I also
> can't get the same behaviour here, do you have a more complete
> command-line?
Ah, I see; the translation-unit that does the optimisation needs to
have them as a definition (i.e. "= {0}") rather
2015 Feb 19
4
[LLVMdev] [lld] Undefined symbols postprocessing
+ Nick
On 2/19/2015 9:00 AM, Shankar Easwaran wrote:
> On 2/19/2015 3:58 AM, Denis Protivensky wrote:
>> Joerg:
>>> I propose to add the ability to ignore undefined symbols during initial
>>> resolution, and then postprocess only those undefines for the second
>>> time
>>> after the pass manager execution.
>> Do you want to do that before or
2015 Feb 23
2
[LLVMdev] [lld] Undefined symbols postprocessing
...of specific symbols at that time.
>
> - Denis.
None of the symbols we are looking up require the full resolver, and
they are all special linker symbols. I propose two things.
1. Provide a hook as per what Shankar suggested for the resolver. User
references to linker defined symbols such as _GLOBAL_OFFSET_TABLE_ get
created and possibly deadstripped here. The linking context owns the
atom.
2. The ELFLinkingContext gains <Atom
*getOrCreateLinkerDefinedAtom(StringRef);>. This can be used in passes
to get the symbols. The hook in (1) would call this to create the
atoms.
This gives a single place where...
2017 Dec 30
0
[PATCH] Fix sparc assembly when compiled as PIC
...-83,12 +83,20 @@
0: \
add dest,%o7,dest; \
mov tmp, %o7
+#define SET(var,base,dest) \
+ sethi %gdop_hix22(var), dest; \
+ xor dest, %gdop_lox10(var), dest; \
+ ldx [base + dest], dest, %gdop(var)
#else
#define PIC_PROLOGUE(dest,tmp) \
mov %o7,tmp; 3: call 4f; nop; 4: \
sethi %hi(_C_LABEL(_GLOBAL_OFFSET_TABLE_)-(3b-.)),dest; \
or dest,%lo(_C_LABEL(_GLOBAL_OFFSET_TABLE_)-(3b-.)),dest; \
add dest,%o7,dest; mov tmp,%o7
+#define SET(var,base,dest) \
+ sethi %gdop_hix22(var), dest; \
+ xor dest, %gdop_lox10(var), dest; \
+ ld [base + dest], dest, %gdop(var)
#endif
/*
@@ -106,7 +114,10 @@
#endif
#els...
2019 Jan 18
0
[klibc:master] Fix sparc assembly when compiled as PIC
...-83,12 +83,20 @@
0: \
add dest,%o7,dest; \
mov tmp, %o7
+#define SET(var,base,dest) \
+ sethi %gdop_hix22(var), dest; \
+ xor dest, %gdop_lox10(var), dest; \
+ ldx [base + dest], dest, %gdop(var)
#else
#define PIC_PROLOGUE(dest,tmp) \
mov %o7,tmp; 3: call 4f; nop; 4: \
sethi %hi(_C_LABEL(_GLOBAL_OFFSET_TABLE_)-(3b-.)),dest; \
or dest,%lo(_C_LABEL(_GLOBAL_OFFSET_TABLE_)-(3b-.)),dest; \
add dest,%o7,dest; mov tmp,%o7
+#define SET(var,base,dest) \
+ sethi %gdop_hix22(var), dest; \
+ xor dest, %gdop_lox10(var), dest; \
+ ld [base + dest], dest, %gdop(var)
#endif
/*
@@ -106,7 +114,10 @@
#endif
#els...
2013 Apr 16
2
Dovecot 2.2.0 compile error
..._gcc-4.6-linaro_uClibc-0.9.33.2/usr/lib -L/mnt/data/Develop/Openwrt/trunk_git/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/lib ../../src/lib-dovecot/.libs/libdovecot.so -ldl -Wl,-rpath -Wl,/usr/lib/dovecot
../../src/lib-dovecot/.libs/libdovecot.so:(.got+0x0): multiple definition of `_GLOBAL_OFFSET_TABLE_'
collect2: ld returned 1 exit status
make[6]: *** [gdbhelper] Error 1
make[6]: Leaving directory `/mnt/data/Develop/Openwrt/trunk_git/build_dir/target-mips_r2_uClibc-0.9.33.2/dovecot-2.2.0/src/util'
Making all in doveadm
make[6]: Entering directory `/mnt/data/Develop/Openwrt/trunk_git/build...
2018 May 23
0
[PATCH v3 23/27] x86/modules: Adapt module loading for PIE support
...gt;sh_type = SHT_NOBITS;
+ mod->arch.core.got->sh_flags = SHF_ALLOC;
+ mod->arch.core.got->sh_addralign = L1_CACHE_BYTES;
+ mod->arch.core.got->sh_size = (gots + 1) * sizeof(u64);
+ mod->arch.core.got_num_entries = 0;
+ mod->arch.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;
+...
2015 Feb 25
2
[LLVMdev] [lld] Undefined symbols postprocessing
...gt;>
>> - Denis.
>
> None of the symbols we are looking up require the full resolver, and
> they are all special linker symbols. I propose two things.
>
> 1. Provide a hook as per what Shankar suggested for the resolver. User
> references to linker defined symbols such as _GLOBAL_OFFSET_TABLE_ get
> created and possibly deadstripped here. The linking context owns the
> atom.
> 2. The ELFLinkingContext gains <Atom
> *getOrCreateLinkerDefinedAtom(StringRef);>. This can be used in passes
> to get the symbols. The hook in (1) would call this to create the
> atoms.
>...