diff options
author | Tamar Christina <tamar@zhox.com> | 2022-12-04 15:55:43 +0000 |
---|---|---|
committer | Matthew Pickering <matthewtpickering@gmail.com> | 2023-01-02 23:38:30 +0000 |
commit | 6658c45d43de1a85ac4e823a92613b5c3d04d868 (patch) | |
tree | 9ce811925327eaf5048ef1d5356a8ca90d548f76 /rts/LinkerInternals.h | |
parent | 14ee7a04efadcd687d87af6c6be3ef2b6e7b63d3 (diff) | |
download | haskell-wip/T22130.tar.gz |
linker: Fix BFD import librarieswip/T22130
Diffstat (limited to 'rts/LinkerInternals.h')
-rw-r--r-- | rts/LinkerInternals.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/rts/LinkerInternals.h b/rts/LinkerInternals.h index 8982318b2a..6797095d1e 100644 --- a/rts/LinkerInternals.h +++ b/rts/LinkerInternals.h @@ -54,11 +54,16 @@ typedef struct _Section Section; */ /* What kind of thing a symbol identifies. We need to know this to determine how - * to process overflowing relocations. See Note [Processing overflowed relocations]. */ + * to process overflowing relocations. See Note [Processing overflowed relocations]. + * This is bitfield however only the option SYM_TYPE_DUP_DISCARD can be combined + * with the other values. */ typedef enum _SymType { - SYM_TYPE_CODE, /* the symbol is a function and can be relocated via a jump island */ - SYM_TYPE_DATA, /* the symbol is data */ - SYM_TYPE_INDIRECT_DATA, /* see Note [_iob_func symbol] */ + SYM_TYPE_CODE = 1 << 0, /* the symbol is a function and can be relocated via a jump island */ + SYM_TYPE_DATA = 1 << 1, /* the symbol is data */ + SYM_TYPE_INDIRECT_DATA = 1 << 2, /* see Note [_iob_func symbol] */ + SYM_TYPE_DUP_DISCARD = 1 << 3, /* the symbol is a symbol in a BFD import library + however if a duplicate is found with a mismatching + SymType then discard this one. */ } SymType; |