From 65e9aa860d06507c9332ec2fdf55d3ca4f2acdc3 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Mon, 14 Mar 2011 14:19:59 +0100 Subject: [PATCH] dwarflint: Replace over-zealous assert with a warning --- dwarflint/reloc.cc | 8 ++++++-- dwarflint/tests/garbage-10.bz2 | Bin 0 -> 596 bytes dwarflint/tests/run-bad.sh | 7 ++++++- 3 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 dwarflint/tests/garbage-10.bz2 diff --git a/dwarflint/reloc.cc b/dwarflint/reloc.cc index da389d930..d51818eb0 100644 --- a/dwarflint/reloc.cc +++ b/dwarflint/reloc.cc @@ -179,7 +179,11 @@ do_one_relocation (elf_file const *file, if (file->ehdr.e_type == ET_REL && ELF64_ST_TYPE (symbol->st_info) == STT_SECTION) { - assert (sym_value == 0); + if (sym_value != 0) + wr_warning (reloc_where) + << "relocation formed using STT_SECTION symbol with non-zero value." + << std::endl; + require_valid_section_index; sym_value = file->sec[section_index].shdr.sh_addr; } @@ -200,7 +204,7 @@ do_one_relocation (elf_file const *file, { if (offset_into != rel_address && section_index == SHN_UNDEF) wr_error (&reloc_where, - ": relocation of an address is formed against SHN_UNDEF symbol" + ": relocation of an address is formed using SHN_UNDEF symbol" " (symtab index %d).\n", rel->symndx); else { diff --git a/dwarflint/tests/garbage-10.bz2 b/dwarflint/tests/garbage-10.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..2afab22f850775da3aaf188ca7f6951559f344df GIT binary patch literal 596 zc-jF}0;~N(T4*^jL0KkKS^XY@umA!E|C;~*{!3=(_kY{%62SlO-)Mk95I_JBAPB$# z>x~+<4Np;1^rOWaP~M}_6HPJ!k%$<8&;S4fYI>NO4NWJa2AYjWq#mGX0D78e41*v8 zK+qZhc|pTNMok(tX`zvj!T`ttkZGU*20+LHM2b%o)Y(nyCL=~8O{f@TCLq8NVrh|} z$iirP-BOpcw)P{$B#3A0xjo8Eib%3Y>$m+MfMt{H#Wjr(sg-{1>P-9(S4vPpvXV~Z zRcS3?o=QK6%;3sa2qEVoQ@6}@>v8bTtI(loK({jIa}vOjEts#*0XHToVd_lIu!LP| zri4;EEEF(VEJ&fDAn1C`8%16i0{-+GEfZ)j*h3b(NFj}Y*qcqKrw9`Y5Q-!r0+Ak9 zV2F9Nn&vMc8v3J8=jWmAge6uhy?wv89G!)>bAt1QwmUB;;Ik_{IxGJl}~HniUneY#31pE->ye^x!~nvbtcW%?EAW=_FL}DU}kM zMdFa*R9MD!ieqLSLbcrid)Pw+OpMI)kihebY(VaSux8X3SQce=MJLqSIKh_ALe+zO zm|q2T@l;`6#fGRCP4Y}{5{MbG-zph-V&yl43-o;p9;j4L{D7Lh(cAU$+6#s^hQ*umULhf|FgEFGD06}M2