When inspecting an object file e.g. one of those in /usr/lib32 or /usr/lib with readelf -r <object file>, it seems that the 32-bit variants do not have an addend field, while the 64-bit ones do have. I guess that it is to fix the address layout for non-32 bit system e.g. x86_64 or arm. Is it correct?
Is linker's addend field for non-32 bit?
94 Views Asked by Tu Do At
1
There are 1 best solutions below
Related Questions in LINKER
- #include Header files in C with definition too
- Why veneer code generated by gcc for cortex-m0 seems 8-byte aligned?
- link.exe unresolved external symbol _mainCRTStartup
- C++. Ability to run executable file with external libraries on another pc
- LLD: How to Use –dll and –add-stdcall-alias Swiches
- Compiling C++ program with Opengl and Glut in windows
- Link shared library through makefile
- How to compile GLFW with GCC
- How do I link to GLFW using gcc on windows?
- Diff in `-Bsymbolic` behavior between gcc and clang?
- Trouble Including ImGui in C++ Project with CMake
- running the ld command through rust only works 50% of the time
- Visual Studio C++ (Express) 2022, LNK1105 and LNK1104
- How do I link files in an Xcode Build for C++
- "undefined reference to 'main'" : main.o created but main function not compiled
Related Questions in LD
- What happens when ld link different versions of the same library
- Detecting unresolved symbols in an ELF executable
- Linux - process killed when linking section into lowest 2 MB of memory?
- Linux ELF - Why does normal linking run faster than 'ldd -r'?
- gcc: arm-none-eabi-ld linker script doesn't update .bss start and end variables
- ld: warning: directory not found for option '-F-'
- Setting LD_LIBRARY_PATH breaks my apache module, can rpath fix it?
- How to build a './configure && make && make install' software against a custom library which I also build?
- gnu linker script symbol value got reassigned
- Using Go 1.5 buildmode=c-archive with net/http.Server linked from C
- Xtensa --- dangerous relocation: windowed long call crosses 1GB boundary
- Is linker's addend field for non-32 bit?
- Correct usage of strip tool
- Using .reloc from assembly
- C++ - g++ links against wrong stdlibc++
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
The distinction between RELA (explicit addend) vs. REL (addend stored at modified offset) relocations is mostly historic. It all started with REL to save space but most modern architectures use RELA to speed up linking. Theoretically static/dynamic linkers should support both REL and RELA or any mix thereof (see e.g. discussion here).