// i386.h -- ELF definitions specific to EM_386 -*- C++ -*-
-// Copyright 2006, 2007, Free Software Foundation, Inc.
+// Copyright (C) 2006-2020 Free Software Foundation, Inc.
// Written by Ian Lance Taylor <iant@google.com>.
// This file is part of elfcpp.
// Documentation for the TLS relocs is taken from
// http://people.redhat.com/drepper/tls.pdf
+// http://www.lsd.ic.unicamp.br/~oliva/writeups/TLS/RFC-TLSDESC-x86.txt
namespace elfcpp
{
R_386_TLS_DTPMOD32 = 35, // Outstanding General/Local Dynamic reloc, sun+gnu
R_386_TLS_DTPOFF32 = 36, // Outstanding General Dynamic reloc, sun+gnu
R_386_TLS_TPOFF32 = 37, // Outstanding Initial Exec reloc, sun-style
- R_386_TLS_GOTDESC = 39,
- R_386_TLS_DESC_CALL = 40,
- R_386_TLS_DESC = 41,
+ R_386_TLS_GOTDESC = 39, // GOT offset for TLS descriptor
+ R_386_TLS_DESC_CALL = 40, // Marker of call through TLS desc for relaxation
+ R_386_TLS_DESC = 41, // TLS descriptor containing pointer to code and
+ // to argument, returning TLS offset for symbol
+ R_386_IRELATIVE = 42, // Adjust indirectly by program base
+ R_386_GOT32X = 43, // 32 bit GOT entry, relaxable
// Used by Intel.
R_386_USED_BY_INTEL_200 = 200,
// GNU vtable garbage collection extensions.