STB_WEAK
if (ELF_ST_BIND(sym->st_info) == STB_WEAK)
if ((bind == STB_WEAK) && (sym->st_value == 0)) {
if (ELF_ST_BIND(sym->st_info) == STB_WEAK)
if (ELF_ST_BIND(sym->st_info) == STB_WEAK)
SYM_BIND(STB_WEAK),
if (ELF_ST_BIND(sym->st_info) == STB_WEAK) {
(ELF_ST_BIND(sym[i].st_info) == STB_WEAK ||
ELF_ST_BIND(sym->st_info) != STB_WEAK) {
ELF_ST_BIND(sym->st_info) != STB_WEAK)
ELF_ST_BIND(sym->st_info) == STB_WEAK);
} else if (last_bind != STB_WEAK && cur_bind != STB_WEAK) {
} else if (cur_bind == STB_WEAK) {
if (found->bind != STB_WEAK && bind != STB_WEAK) {
} else if (bind == STB_WEAK) {
ELF64_ST_BIND(sym->st_info) != STB_WEAK)
(bind == STB_GLOBAL || bind == STB_WEAK) &&
return (bind == STB_GLOBAL || bind == STB_WEAK) && type == STT_FUNC;
ext->is_weak = ELF64_ST_BIND(sym->st_info) == STB_WEAK;
&& !glob_sym->is_weak && sym_bind != STB_WEAK) {
if (!glob_sym->is_extern && sym_bind == STB_WEAK)
glob_sym->is_weak = sym_bind == STB_WEAK;
if (sym_bind != STB_LOCAL && sym_bind != STB_GLOBAL && sym_bind != STB_WEAK) {
return STB_WEAK;
return sym->bind == STB_WEAK;
case STB_WEAK: return "WEAK";
STB_WEAK, patched_sym->type, 0, 0);
STB_WEAK, patched_sym->type, 0, 0);
return STB_WEAK;
a = syma->binding == STB_WEAK;
b = symb->binding == STB_WEAK;
ELF64_ST_BIND(sym->st_info) != STB_WEAK)