From: Camm Maguire Date: Sun, 13 Nov 2022 12:55:14 +0000 (+0000) Subject: X-Git-Tag: archive/raspbian/2.7.1-4+rpi1~2^2^2~69 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=be5d967e6ace8bfe808ec05c36192d0ba2ed2970;p=gcl27.git TODO: Put a short summary on the line above and replace this paragraph with a longer explanation of this change. Complete the meta-information with other relevant fields (see below for details). To make it easier, the information below has been extracted from the changelog. Adjust it or drop it. gcl (2.6.12-61) unstable; urgency=medium * list_order.21 Gbp-Pq: Name list_order.22 --- diff --git a/o/sfaslelf.c b/o/sfaslelf.c index d2b623f..5a96c3f 100755 --- a/o/sfaslelf.c +++ b/o/sfaslelf.c @@ -55,12 +55,10 @@ License for more details. #define ulmax(a_,b_) ({ul _a=a_,_b=b_;_a<_b ? _b : _a;}) #define ALLOC_SEC(sec) (sec->sh_flags&SHF_ALLOC && (sec->sh_type==SHT_PROGBITS || sec->sh_type==SHT_NOBITS)) #define LOAD_SEC(sec) (sec->sh_flags&SHF_ALLOC && sec->sh_type==SHT_PROGBITS) -#define EXT_SYM(sym) ({ul _b=ELF_ST_BIND(sym->st_info); \ - sym->st_value && (_b==STB_GLOBAL || _b==STB_WEAK);}) -#define LOCAL_SYM(sym) (sym->st_value && \ - ELF_ST_BIND(sym->st_info)==STB_LOCAL) - /* && ELF_ST_TYPE(sym->st_info)==STT_FUNC) */ -#define LOAD_SYM(sym) (EXT_SYM(sym)||LOCAL_SYM(sym)) +#define LOAD_SYM(sym,st1) (sym->st_value && (EXT_SYM(sym,st1)||LOCAL_SYM(sym))) +#define EXT_SYM(sym,st1) (ELF_ST_BIND(sym->st_info)==STB_GLOBAL||ELF_ST_BIND(sym->st_info)==STB_WEAK||LOAD_SYM_BY_NAME(sym,st1)) +#define LOCAL_SYM(sym) ELF_ST_BIND(sym->st_info)==STB_LOCAL +#define LOAD_SYM_BY_NAME(sym,st1) 0 #define MASK(n) (~(~0ULL << (n))) @@ -412,7 +410,7 @@ calc_space(ul *ns,ul *sl,Sym *sym1,Sym *syme,const char *st1,Sym *d1,Sym *de,con for (sym=sym1;sym