1 #source: dsov32-1.s 2 #source: dsov32-2.s 3 #source: dsofn4g.s 4 #as: --pic --no-underscore --march=v32 --em=criself 5 #ld: --shared -m crislinux 6 #objdump: -d -R 7 8 # Check dissassembly of the .plt section, specifically the synthetic 9 # symbols, in a DSO in which a .got.plt entry has been merged into a 10 # regular .got entry. There was a bug in which some (i.e. subsequent 11 # with regards to reloc order) synthetic X@plt entries were wrong if 12 # there were merged .got entries present; dsofn4@plt below. The 13 # alternatives in the matching regexps are placeholders for a future 14 # improvement: synthetic symbols for .plt entries with merged .got 15 # entries (lost as a consequence of the relocs no longer accounted for 16 # in .rela.plt and the default synthetic-symbol implementation just 17 # iterating over .rela.plt). 18 19 .*: file format elf32-cris 20 21 Disassembly of section \.plt: 22 23 0+1b4 <(dsofn4@plt-0x1a|dsofn@plt-0x34)>: 24 1b4: 84e2 subq 4,\$sp 25 1b6: 0401 addoq 4,\$r0,\$acr 26 1b8: 7e7a move \$mof,\[\$sp\] 27 1ba: 3f7a move \[\$acr\],\$mof 28 1bc: 04f2 addq 4,\$acr 29 1be: 6ffa move\.d \[\$acr\],\$acr 30 1c0: bf09 jump \$acr 31 1c2: b005 nop 32 \.\.\. 33 #... 34 1ce: 6f0d ..00 0000 addo\.d .* 35 1d4: 6ffa move\.d \[\$acr\],\$acr 36 1d6: bf09 jump \$acr 37 1d8: b005 nop 38 1da: 3f7e .... .... move .*,\$mof 39 1e0: bf0e .... .... ba .* 40 1e6: b005 nop 41 42 0+1e8 <dsofn@plt>: 43 1e8: 6f0d ..00 0000 addo\.d .* 44 1ee: 6ffa move\.d \[\$acr\],\$acr 45 1f0: bf09 jump \$acr 46 1f2: b005 nop 47 1f4: 3f7e .... .... move .*,\$mof 48 1fa: bf0e baff ffff ba 1b4 <(dsofn4@plt-0x1a|dsofn@plt-0x34)> 49 200: b005 nop 50 51 Disassembly of section \.text: 52 #... 53 0+202 <dsofn3>: 54 202: bfbe e6ff ffff bsr 1e8 <dsofn@plt> 55 208: b005 nop 56 57 0+20a <dsofn4>: 58 20a: 7f0d ae20 0000 lapc 22b8 <_GLOBAL_OFFSET_TABLE_>,\$r0 59 210: 5f0d 1400 addo\.w 0x14,\$r0,\$acr 60 214: bfbe baff ffff bsr 1ce <(dsofn4@plt|dsofn@plt-0x1a)> 61 #pass 62