diff options
| author | Michael Matz <matz@suse.de> | 2014-04-04 23:33:04 +0200 |
|---|---|---|
| committer | Michael Matz <matz@suse.de> | 2014-04-04 23:33:04 +0200 |
| commit | 0688afdd34c7c2a4696d22f68497a7a887e6cc37 (patch) | |
| tree | f962a02c0c31f1a1d9aec12e1aff456ec4657afe /tccelf.c | |
| parent | 5879c854fb94f722a7ffdd4e895c9ce418548959 (diff) | |
| download | tinycc-0688afdd34c7c2a4696d22f68497a7a887e6cc37.tar.gz tinycc-0688afdd34c7c2a4696d22f68497a7a887e6cc37.tar.bz2 | |
arm: Handle R_ARM_NONE relocs
These relocations are used to express a dependency on a certain
symbol (e.g. for EABIs exception handling to the
__aeabi_unwind_cpp_pr{0,1,2} routines). Just ignore them in
reloc processing.
Diffstat (limited to 'tccelf.c')
| -rw-r--r-- | tccelf.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -769,6 +769,10 @@ ST_FUNC void relocate_section(TCCState *s1, Section *s) if ((0x0ffffff0 & *(int*)ptr) == 0x012FFF10) *(int*)ptr ^= 0xE12FFF10 ^ 0xE1A0F000; /* BX Rm -> MOV PC, Rm */ break; + case R_ARM_NONE: + /* Nothing to do. Normally used to indicate a dependency + on a certain symbol (like for exception handling under EABI). */ + break; default: fprintf(stderr,"FIXME: handle reloc type %x at %x [%p] to %x\n", type, (unsigned)addr, ptr, (unsigned)val); |
