【原创】objdump 的使用

objdump 是用来查看目标文件或者可执行的目标文件的构成的 GCC 工具。 

objdump - display information from object files. 

objdump -x obj 以某种分类信息的形式把目标文件的数据组织(被分为几大块)输出。 
=================== 
-x 
--all-headers 
   Display  all  available header information, including the symbol table and relocation entries.  Using -x is  equivalent to specifying all of -a -f -h -p -r -t. 
=================== 

objdump -t obj 输出目标文件的符号表。 
=================== 
-t 
--syms 
   Print the symbol table entries of the file.  This is similar to the information provided by the nm program. 
=================== 
比 nm -s 包含的符号表信息更全面。 

objdump -h obj 输出目标文件的所有段概括。 
=================== 
-h 
--section-headers 
--headers 
   Display summary information from the section headers of the object file. 

   File segments may be relocated to nonstandard addresses, for example by using the -Ttext, -Tdata, or  -Tbss  options  to ld.  However, some object file formats, such as a.out, do not store the starting address of the  file segments.  In those situations, although ld relocates the sections correctly, using objdump -h to list  the  file  section headers cannot show the correct addresses.  Instead, it shows the usual addresses, which  are implicit for the target. 
=================== 

objdump -j .text/.data -S obj 输出指定段的信息。 
=================== 
-j name 
--section=name 
   Display information only for section name. 
=================== 

=================== 
-S 
--source 
   Display source code intermixed with disassembly, if possible.  Implies -d. 

--source 
-S  尽可能反汇编出源代码,尤其当编译的时候指定了 -g 这种调试参数时效果比较明显。 
    隐含了 -d 参数。 
===================

=================== 
-d 
--disassemble 
   Display  the  assembler mnemonics for the machine instructions from objfile.  This option only disassembles 
   those sections which are expected to contain instructions. 

--disassemble 
-d 仅反汇编应该包含指令机器码的 section 。 
=================== 

=================== 
-D 
--disassemble-all 
   Like -d, but disassemble the contents of all sections, not just those expected to contain instructions. 

--disassemble-all 
-D 与 -d 类似,但反汇编所有 section 。 
=================== 

objdump -a obj 输出 .a 文件中 .o 文件的信息 。 
=================== 
-a 
--archive-header 
   If any of the objfile files are archives, display the archive header information (in a format similar to ls 
   -l).  Besides the information you could list with ar tv, objdump -a shows the object file  format  of  each  archive member. 
=================== 
比 ar tv 只多了文件格式信息(也是查看静态库文件中包含的二进制文件为 32bit 或 64bit 的方法)。 

=================== 
-l 
--line-numbers 
   Label the display (using debugging information) with the filename and source line numbers corresponding  to  the object code or relocs shown.  Only useful with -d, -D, or -r. 
    
--line-numbers 
-l  用文件名和行号标注相应的目标代码,仅仅和 -d、-D 或者 -r 一起使用。使用 -ld 和使用 -d 的区别不是很大,在源码级调试的 时候有用,要求编译时使用了 -g 之类的调试编译选项。 
=================== 

=================== 
--prefix-addresses 
   When disassembling, print the complete address on each line.  This is the older disassembly format. 
    
--prefix-addresses 
     反汇编的时候,显示每一行的完整地址。这是一种比较老的反汇编格式。 
     显示效果并不理想,但可能会用到其中的某些显示,自己可以对比。 
=================== 

=================== 
--show-raw-insn 
   When disassembling instructions, print the instruction in hex as well as in symbolic  form.   This  is  the  default except when --prefix-addresses is used. 
    
--show-raw-insn 
     反汇编的时候,显示每条汇编指令对应的十六进制机器码,这是缺省选项,除非指定了 --prefix-addresses 。 
=================== 

=================== 
--no-show-raw-insn 
   When  disassembling  instructions,  do  not  print  the instruction bytes.  This is the default when --pre- fix-addresses is used. 

--no-show-raw-insn 
     反汇编时,不显示汇编指令的十六进制机器码,这是指定 --prefix-addresses 选项时的缺省设置。      
=================== 

示例一:以 libevent.a 进行演示。 

?


1

2

3

4

[root@Betty lib]# pwd

/usr/local/lib

[root@Betty lib]# ll libevent.a

-rw-r--r-- 1 root root 635122 Jul  8 13:53 libevent.a

查看 libevent.a 中包含哪些 .o 文件(权限+格式)。 

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

[root@Betty lib]# objdump -a libevent.a

In archive libevent.a:

 

event.o:     file format elf64-x86-64

rwxrwSrwx 0/0  58760 Jul  8 13:52 2013 event.o

 

buffer.o:     file format elf64-x86-64

rwxrwSrwx 0/0  24168 Jul  8 13:52 2013 buffer.o

 

evbuffer.o:     file format elf64-x86-64

rwxrwSrwx 0/0  28656 Jul  8 13:52 2013 evbuffer.o

 

log.o:     file format elf64-x86-64

rwxrwSrwx 0/0  14392 Jul  8 13:52 2013 log.o

 

evutil.o:     file format elf64-x86-64

rwxrwSrwx 0/0  11920 Jul  8 13:52 2013 evutil.o

 

event_tagging.o:     file format elf64-x86-64

rwxrwSrwx 0/0  30368 Jul  8 13:52 2013 event_tagging.o

 

http.o:     file format elf64-x86-64

rwxrwSrwx 0/0 169040 Jul  8 13:52 2013 http.o

 

evdns.o:     file format elf64-x86-64

rwxrwSrwx 0/0 150064 Jul  8 13:52 2013 evdns.o

 

evrpc.o:     file format elf64-x86-64

rwxrwSrwx 0/0  44912 Jul  8 13:52 2013 evrpc.o

 

strlcpy.o:     file format elf64-x86-64

rwxrwSrwx 0/0   4216 Jul  8 13:52 2013 strlcpy.o

 

select.o:     file format elf64-x86-64

rwxrwSrwx 0/0  22056 Jul  8 13:52 2013 select.o

 

poll.o:     file format elf64-x86-64

rwxrwSrwx 0/0  21832 Jul  8 13:52 2013 poll.o

 

epoll.o:     file format elf64-x86-64

rwxrwSrwx 0/0  23560 Jul  8 13:52 2013 epoll.o

 

signal.o:     file format elf64-x86-64

rwxrwSrwx 0/0  25888 Jul  8 13:52 2013 signal.o

 

[root@Betty lib]#

作为对比,提供 ar 命令输出结果。 

ar - create, modify, and extract from archives 
=================== 
t  Display a table listing the contents of archive, or those of the files listed in member... that are present 
   in  the  archive.  Normally only the member name is shown; if you also want to see the modes (permissions),  timestamp, owner, group, and size, you can request that by also specifying the v modifier. 

   If you do not specify a member, all files in the archive are listed. 

   If there is more than one file with the same name (say, fie) in an archive (say b.a), ar t  b.a  fie  lists 
   only the first instance; to see them all, you must ask for a complete listing---in our example, ar t b.a. 
=================== 

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

[root@Betty lib]# ar tv libevent.a

rwxrwSrwx 0/0  58760 Jul  8 13:52 2013 event.o

rwxrwSrwx 0/0  24168 Jul  8 13:52 2013 buffer.o

rwxrwSrwx 0/0  28656 Jul  8 13:52 2013 evbuffer.o

rwxrwSrwx 0/0  14392 Jul  8 13:52 2013 log.o

rwxrwSrwx 0/0  11920 Jul  8 13:52 2013 evutil.o

rwxrwSrwx 0/0  30368 Jul  8 13:52 2013 event_tagging.o

rwxrwSrwx 0/0 169040 Jul  8 13:52 2013 http.o

rwxrwSrwx 0/0 150064 Jul  8 13:52 2013 evdns.o

rwxrwSrwx 0/0  44912 Jul  8 13:52 2013 evrpc.o

rwxrwSrwx 0/0   4216 Jul  8 13:52 2013 strlcpy.o

rwxrwSrwx 0/0  22056 Jul  8 13:52 2013 select.o

rwxrwSrwx 0/0  21832 Jul  8 13:52 2013 poll.o

rwxrwSrwx 0/0  23560 Jul  8 13:52 2013 epoll.o

rwxrwSrwx 0/0  25888 Jul  8 13:52 2013 signal.o

[root@Betty lib]#

输出 .a 中全部 .o 文件中的符号表信息。

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

224

225

226

227

228

229

230

231

232

233

234

235

236

237

238

239

240

241

242

243

244

245

246

247

248

249

250

251

252

253

254

255

256

257

258

259

260

261

262

263

264

265

266

267

268

269

270

271

272

273

274

275

276

277

278

279

280

281

282

283

284

285

286

287

288

289

290

291

292

293

294

295

296

297

298

299

300

301

302

303

304

305

306

307

308

309

310

311

312

313

314

315

316

317

318

319

320

321

322

323

324

325

326

327

328

329

330

331

332

333

334

335

336

337

338

339

340

341

342

343

344

345

346

347

348

349

350

351

352

353

354

355

356

357

358

359

360

361

362

363

364

365

366

367

368

369

370

371

372

373

374

375

376

377

378

379

380

381

382

383

384

385

386

387

388

389

390

391

392

393

394

395

396

397

398

399

400

401

402

403

404

405

406

407

408

409

410

411

412

413

414

415

416

417

418

419

420

421

422

423

424

425

426

427

428

429

430

431

432

433

434

435

436

437

438

439

440

441

442

443

444

445

446

447

448

449

450

451

452

453

454

455

456

457

458

459

460

461

462

463

464

465

466

467

468

469

470

471

472

473

474

475

476

477

478

479

480

481

482

483

484

485

486

487

488

489

490

491

492

493

494

495

496

497

498

499

500

501

502

503

504

505

506

507

508

509

510

511

512

513

514

515

516

517

518

519

520

521

522

523

524

525

526

527

528

529

530

531

532

533

534

535

536

537

538

539

540

541

542

543

544

545

546

547

548

549

550

551

552

553

554

555

556

557

558

559

560

561

562

563

564

565

566

567

568

569

570

571

572

573

574

575

576

577

578

579

580

581

582

583

584

585

586

587

588

589

590

591

592

593

594

595

596

597

598

599

600

601

602

603

604

605

606

607

608

609

610

611

612

613

614

615

616

617

618

619

620

621

622

623

624

625

626

627

628

629

630

631

632

633

634

635

636

637

638

639

640

641

642

643

644

645

646

647

648

649

650

651

652

653

654

655

656

657

658

659

660

661

662

663

664

665

666

667

668

669

670

671

672

673

674

675

676

677

678

679

680

681

682

683

684

685

686

687

688

689

690

691

692

693

694

695

696

697

698

699

700

701

702

703

704

705

706

707

708

709

710

711

712

713

714

715

716

717

718

719

720

721

722

723

724

725

726

727

728

729

730

731

732

733

734

735

736

737

738

739

740

741

742

743

744

745

746

747

748

749

750

751

752

753

754

755

756

757

758

759

760

761

762

763

764

765

766

767

768

769

770

771

772

773

774

775

776

777

778

779

780

781

782

783

784

785

786

787

788

789

790

791

792

793

794

795

796

797

798

799

800

801

802

803

804

805

806

807

808

809

810

811

812

813

814

815

816

817

818

819

820

821

822

823

824

825

826

827

828

829

830

831

832

833

834

835

836

837

838

839

840

841

842

843

844

845

846

847

848

849

850

851

852

853

854

855

856

857

858

859

860

861

862

863

864

865

866

867

868

869

870

871

872

873

874

875

876

877

878

879

880

881

882

883

884

885

886

887

888

889

890

891

892

893

894

895

896

897

898

899

900

901

902

903

904

905

906

907

908

909

910

911

912

913

914

915

916

917

918

919

920

921

922

923

924

925

926

927

928

929

930

931

932

933

934

935

936

937

938

939

940

941

942

943

944

945

946

947

948

949

950

951

952

953

954

955

956

957

958

959

960

961

962

963

964

965

966

967

968

969

970

971

972

973

974

975

976

977

978

979

980

981

982

983

984

985

986

987

988

989

990

991

992

993

994

995

[root@Betty lib]# objdump -t libevent.a 

In archive libevent.a:

 

event.o:     file format elf64-x86-64

 

SYMBOL TABLE:

0000000000000000 l    df *ABS*  0000000000000000 event.c

0000000000000000 l    d  .text  0000000000000000 .text

0000000000000000 l    d  .data  0000000000000000 .data

0000000000000000 l    d  .bss   0000000000000000 .bss

0000000000000000 l    d  .debug_abbrev  0000000000000000 .debug_abbrev

0000000000000000 l    d  .debug_info    0000000000000000 .debug_info

0000000000000000 l    d  .debug_line    0000000000000000 .debug_line

0000000000000000 l     F .text  0000000000000008 event_loopexit_cb

0000000000000000 l    d  .rodata.str1.1 0000000000000000 .rodata.str1.1

0000000000000070 l     O .rodata        0000000000000016 __PRETTY_FUNCTION__.5067

0000000000000140 l     F .text  000000000000008b gettime

0000000000000008 l     O .bss   0000000000000004 use_monotonic

00000000000002d0 l     F .text  000000000000001d event_once_cb

0000000000000090 l     O .rodata        0000000000000019 __func__.4992

0000000000000000 l    d  .rodata.str1.8 0000000000000000 .rodata.str1.8

00000000000000e0 l     O .rodata        0000000000000020 eventops

0000000000000100 l     O .rodata        000000000000000f __func__.4892

0000000000000590 l     F .text  0000000000000357 event_queue_remove

0000000000000020 l     O .rodata        0000000000000013 __func__.5403

0000000000000013 l     O .rodata        000000000000000a __PRETTY_FUNCTION__.5306

00000000000000c0 l     O .rodata        0000000000000010 __PRETTY_FUNCTION__.4915

00000000000000a9 l     O .rodata        000000000000000d __func__.4961

0000000000000d30 l     F .text  0000000000000213 event_queue_insert

0000000000000000 l     O .rodata        0000000000000013 __func__.5437

000000000000003d l     O .rodata        000000000000000d __PRETTY_FUNCTION__.5336

0000000000000050 l     O .rodata        0000000000000015 __PRETTY_FUNCTION__.5026

0000000000000033 l     O .rodata        000000000000000a __PRETTY_FUNCTION__.5266

0000000000000000 l    d  .rodata        0000000000000000 .rodata

0000000000000000 l    d  .debug_frame   0000000000000000 .debug_frame

0000000000000000 l    d  .eh_frame      0000000000000000 .eh_frame

0000000000000000 l    d  .debug_loc     0000000000000000 .debug_loc

0000000000000000 l    d  .debug_pubnames        0000000000000000 .debug_pubnames

0000000000000000 l    d  .debug_aranges 0000000000000000 .debug_aranges

0000000000000000 l    d  .debug_ranges  0000000000000000 .debug_ranges

0000000000000000 l    d  .debug_str     0000000000000000 .debug_str

0000000000000000 l    d  .note.GNU-stack        0000000000000000 .note.GNU-stack

0000000000000000 l    d  .comment       0000000000000000 .comment

0000000000000010 g     F .text  0000000000000015 event_base_loopbreak

0000000000000030 g     F .text  000000000000000c event_loopbreak

0000000000000000 g     O .bss   0000000000000008 current_base

0000000000000040 g     F .text  000000000000005a event_set

00000000000000a0 g     F .text  0000000000000026 event_base_set

00000000000000d0 g     F .text  000000000000001f event_priority_set

00000000000000f0 g     F .text  0000000000000006 event_get_version

0000000000000100 g     F .text  000000000000000e event_get_method

0000000000000110 g     F .text  000000000000002d event_base_get_method

0000000000000000         *UND*  0000000000000000 __assert_fail

0000000000000000         *UND*  0000000000000000 gettimeofday

0000000000000000         *UND*  0000000000000000 clock_gettime

00000000000001d0 g     F .text  00000000000000f5 event_pending

0000000000000000         *UND*  0000000000000000 free

00000000000002f0 g     F .text  0000000000000112 event_base_priority_init

0000000000000000         *UND*  0000000000000000 calloc

0000000000000000         *UND*  0000000000000000 malloc

0000000000000000         *UND*  0000000000000000 event_err

0000000000000410 g     F .text  000000000000000e event_priority_init

0000000000000420 g     F .text  0000000000000145 event_base_new

0000000000000000         *UND*  0000000000000000 epollops

0000000000000000         *UND*  0000000000000000 evutil_getenv

0000000000000000         *UND*  0000000000000000 event_msgx

0000000000000000         *UND*  0000000000000000 event_errx

0000000000000570 g     F .text  000000000000001a event_init

00000000000008f0 g     F .text  0000000000000106 event_del

0000000000000a00 g     F .text  0000000000000222 event_base_free

0000000000000c30 g     F .text  00000000000000f9 event_reinit

0000000000000000         *UND*  0000000000000000 realloc

0000000000000f50 g     F .text  0000000000000030 event_active

0000000000000f80 g     F .text  000000000000048e event_base_loop

0000000000000000         *UND*  0000000000000000 evsignal_base

0000000000001410 g     F .text  000000000000000e event_loop

0000000000001420 g     F .text  0000000000000007 event_dispatch

0000000000001430 g     F .text  0000000000000007 event_base_dispatch

0000000000001440 g     F .text  00000000000001f5 event_add

0000000000001640 g     F .text  000000000000013a event_base_once

0000000000001780 g     F .text  000000000000001d event_once

00000000000017a0 g     F .text  000000000000001e event_loopexit

00000000000017c0 g     F .text  000000000000001a event_base_loopexit

0000000000000000         *UND*  0000000000000000 pollops

0000000000000000         *UND*  0000000000000000 selectops

 

 

 

buffer.o:     file format elf64-x86-64

 

SYMBOL TABLE:

0000000000000000 l    df *ABS*  0000000000000000 buffer.c

0000000000000000 l    d  .text  0000000000000000 .text

0000000000000000 l    d  .data  0000000000000000 .data

0000000000000000 l    d  .bss   0000000000000000 .bss

0000000000000000 l    d  .debug_abbrev  0000000000000000 .debug_abbrev

0000000000000000 l    d  .debug_info    0000000000000000 .debug_info

0000000000000000 l    d  .debug_line    0000000000000000 .debug_line

0000000000000190 l     F .text  0000000000000025 evbuffer_align

0000000000000000 l    d  .rodata.str1.1 0000000000000000 .rodata.str1.1

0000000000000000 l     O .rodata        0000000000000012 __func__.4672

0000000000000020 l     O .rodata        0000000000000015 __PRETTY_FUNCTION__.4627

0000000000000000 l    d  .rodata        0000000000000000 .rodata

0000000000000000 l    d  .debug_frame   0000000000000000 .debug_frame

0000000000000000 l    d  .eh_frame      0000000000000000 .eh_frame

0000000000000000 l    d  .debug_loc     0000000000000000 .debug_loc

0000000000000000 l    d  .debug_pubnames        0000000000000000 .debug_pubnames

0000000000000000 l    d  .debug_aranges 0000000000000000 .debug_aranges

0000000000000000 l    d  .debug_ranges  0000000000000000 .debug_ranges

0000000000000000 l    d  .debug_str     0000000000000000 .debug_str

0000000000000000 l    d  .note.GNU-stack        0000000000000000 .note.GNU-stack

0000000000000000 l    d  .comment       0000000000000000 .comment

0000000000000000 g     F .text  0000000000000056 evbuffer_drain

0000000000000060 g     F .text  0000000000000009 evbuffer_setcb

0000000000000070 g     F .text  0000000000000072 evbuffer_find

0000000000000000         *UND*  0000000000000000 memchr

00000000000000f0 g     F .text  000000000000004d evbuffer_write

0000000000000000         *UND*  0000000000000000 write

0000000000000140 g     F .text  0000000000000049 evbuffer_remove

0000000000000000         *UND*  0000000000000000 memcpy

0000000000000000         *UND*  0000000000000000 memmove

00000000000001c0 g     F .text  000000000000009c evbuffer_expand

0000000000000000         *UND*  0000000000000000 realloc

0000000000000260 g     F .text  000000000000012f evbuffer_read

0000000000000000         *UND*  0000000000000000 ioctl

0000000000000000         *UND*  0000000000000000 read

0000000000000390 g     F .text  00000000000000a0 evbuffer_add

0000000000000430 g     F .text  00000000000000e0 evbuffer_add_buffer

0000000000000510 g     F .text  0000000000000126 evbuffer_readline

0000000000000000         *UND*  0000000000000000 malloc

0000000000000000         *UND*  0000000000000000 stderr

0000000000000000         *UND*  0000000000000000 fprintf

0000000000000640 g     F .text  00000000000000f2 evbuffer_add_vprintf

0000000000000000         *UND*  0000000000000000 evutil_vsnprintf

0000000000000000         *UND*  0000000000000000 __assert_fail

0000000000000740 g     F .text  000000000000008e evbuffer_add_printf

00000000000007d0 g     F .text  000000000000001b evbuffer_free

0000000000000000         *UND*  0000000000000000 free

00000000000007f0 g     F .text  000000000000000f evbuffer_new

0000000000000000         *UND*  0000000000000000 calloc

 

 

 

evbuffer.o:     file format elf64-x86-64

 

SYMBOL TABLE:

0000000000000000 l    df *ABS*  0000000000000000 evbuffer.c

0000000000000000 l    d  .text  0000000000000000 .text

0000000000000000 l    d  .data  0000000000000000 .data

0000000000000000 l    d  .bss   0000000000000000 .bss

0000000000000000 l    d  .debug_abbrev  0000000000000000 .debug_abbrev

0000000000000000 l    d  .debug_info    0000000000000000 .debug_info

0000000000000000 l    d  .debug_line    0000000000000000 .debug_line

0000000000000080 l     F .text  000000000000002a bufferevent_add

0000000000000650 l     F .text  00000000000001d3 bufferevent_readcb

00000000000004c0 l     F .text  00000000000000fb bufferevent_writecb

0000000000000000 l    d  .debug_frame   0000000000000000 .debug_frame

0000000000000000 l    d  .eh_frame      0000000000000000 .eh_frame

0000000000000000 l    d  .debug_loc     0000000000000000 .debug_loc

0000000000000000 l    d  .debug_pubnames        0000000000000000 .debug_pubnames

0000000000000000 l    d  .debug_aranges 0000000000000000 .debug_aranges

0000000000000000 l    d  .debug_ranges  0000000000000000 .debug_ranges

0000000000000000 l    d  .debug_str     0000000000000000 .debug_str

0000000000000000 l    d  .note.GNU-stack        0000000000000000 .note.GNU-stack

0000000000000000 l    d  .comment       0000000000000000 .comment

0000000000000000 g     F .text  000000000000001d bufferevent_setcb

0000000000000020 g     F .text  0000000000000051 bufferevent_base_set

0000000000000000         *UND*  0000000000000000 event_base_set

0000000000000000         *UND*  0000000000000000 event_add

00000000000000b0 g     F .text  00000000000000ad bufferevent_settimeout

0000000000000000         *UND*  0000000000000000 event_pending

0000000000000160 g     F .text  0000000000000077 bufferevent_enable

00000000000001e0 g     F .text  000000000000006f bufferevent_disable

0000000000000000         *UND*  0000000000000000 event_del

0000000000000250 g     F .text  0000000000000057 bufferevent_read

0000000000000000         *UND*  0000000000000000 memcpy

0000000000000000         *UND*  0000000000000000 evbuffer_drain

00000000000002b0 g     F .text  000000000000006a bufferevent_write

0000000000000000         *UND*  0000000000000000 evbuffer_add

0000000000000320 g     F .text  0000000000000041 bufferevent_write_buffer

0000000000000370 g     F .text  000000000000003a bufferevent_free

0000000000000000         *UND*  0000000000000000 evbuffer_free

0000000000000000         *UND*  0000000000000000 free

00000000000003b0 g     F .text  000000000000004e bufferevent_priority_set

0000000000000000         *UND*  0000000000000000 event_priority_set

0000000000000400 g     F .text  00000000000000b9 bufferevent_setfd

0000000000000000         *UND*  0000000000000000 event_set

0000000000000000         *UND*  0000000000000000 evbuffer_write

0000000000000000         *UND*  0000000000000000 __errno_location

00000000000005c0 g     F .text  0000000000000040 bufferevent_read_pressure_cb

0000000000000000         *UND*  0000000000000000 evbuffer_setcb

0000000000000600 g     F .text  0000000000000042 bufferevent_setwatermark

0000000000000000         *UND*  0000000000000000 evbuffer_read

0000000000000830 g     F .text  00000000000000fd bufferevent_new

0000000000000000         *UND*  0000000000000000 calloc

0000000000000000         *UND*  0000000000000000 evbuffer_new

 

 

 

log.o:     file format elf64-x86-64

 

SYMBOL TABLE:

0000000000000000 l    df *ABS*  0000000000000000 log.c

0000000000000000 l    d  .text  0000000000000000 .text

0000000000000000 l    d  .data  0000000000000000 .data

0000000000000000 l    d  .bss   0000000000000000 .bss

0000000000000000 l    d  .debug_abbrev  0000000000000000 .debug_abbrev

0000000000000000 l    d  .debug_info    0000000000000000 .debug_info

0000000000000000 l    d  .debug_line    0000000000000000 .debug_line

0000000000000000 l     O .bss   0000000000000008 log_fn

0000000000000000 l    d  .rodata.str1.1 0000000000000000 .rodata.str1.1

0000000000000010 l     F .text  0000000000000144 _warn_helper

0000000000000000 l    d  .debug_frame   0000000000000000 .debug_frame

0000000000000000 l    d  .eh_frame      0000000000000000 .eh_frame

0000000000000000 l    d  .debug_loc     0000000000000000 .debug_loc

0000000000000000 l    d  .debug_pubnames        0000000000000000 .debug_pubnames

0000000000000000 l    d  .debug_aranges 0000000000000000 .debug_aranges

0000000000000000 l    d  .debug_ranges  0000000000000000 .debug_ranges

0000000000000000 l    d  .debug_str     0000000000000000 .debug_str

0000000000000000 l    d  .note.GNU-stack        0000000000000000 .note.GNU-stack

0000000000000000 l    d  .comment       0000000000000000 .comment

0000000000000000 g     F .text  0000000000000008 event_set_log_callback

0000000000000000         *UND*  0000000000000000 evutil_vsnprintf

0000000000000000         *UND*  0000000000000000 stderr

0000000000000000         *UND*  0000000000000000 fprintf

0000000000000000         *UND*  0000000000000000 strerror

0000000000000000         *UND*  0000000000000000 evutil_snprintf

0000000000000160 g     F .text  000000000000009d _event_debugx

0000000000000200 g     F .text  00000000000000a0 event_msgx

00000000000002a0 g     F .text  00000000000000a0 event_warnx

0000000000000340 g     F .text  000000000000009d event_errx

0000000000000000         *UND*  0000000000000000 exit

00000000000003e0 g     F .text  00000000000000ab event_warn

0000000000000000         *UND*  0000000000000000 __errno_location

0000000000000490 g     F .text  00000000000000b2 event_err

 

 

 

evutil.o:     file format elf64-x86-64

 

SYMBOL TABLE:

0000000000000000 l    df *ABS*  0000000000000000 evutil.c

0000000000000000 l    d  .text  0000000000000000 .text

0000000000000000 l    d  .data  0000000000000000 .data

0000000000000000 l    d  .bss   0000000000000000 .bss

0000000000000000 l    d  .debug_abbrev  0000000000000000 .debug_abbrev

0000000000000000 l    d  .debug_info    0000000000000000 .debug_info

0000000000000000 l    d  .debug_line    0000000000000000 .debug_line

0000000000000000 l    d  .rodata.str1.1 0000000000000000 .rodata.str1.1

0000000000000000 l    d  .debug_frame   0000000000000000 .debug_frame

0000000000000000 l    d  .eh_frame      0000000000000000 .eh_frame

0000000000000000 l    d  .debug_loc     0000000000000000 .debug_loc

0000000000000000 l    d  .debug_pubnames        0000000000000000 .debug_pubnames

0000000000000000 l    d  .debug_aranges 0000000000000000 .debug_aranges

0000000000000000 l    d  .debug_str     0000000000000000 .debug_str

0000000000000000 l    d  .note.GNU-stack        0000000000000000 .note.GNU-stack

0000000000000000 l    d  .comment       0000000000000000 .comment

0000000000000000 g     F .text  0000000000000058 evutil_getenv

0000000000000000         *UND*  0000000000000000 getuid

0000000000000000         *UND*  0000000000000000 geteuid

0000000000000000         *UND*  0000000000000000 getgid

0000000000000000         *UND*  0000000000000000 getegid

0000000000000000         *UND*  0000000000000000 getenv

0000000000000060 g     F .text  000000000000002e evutil_vsnprintf

0000000000000000         *UND*  0000000000000000 vsnprintf

0000000000000090 g     F .text  0000000000000089 evutil_snprintf

0000000000000120 g     F .text  0000000000000007 evutil_strtoll

0000000000000000         *UND*  0000000000000000 __strtoll_internal

0000000000000130 g     F .text  000000000000002b evutil_make_socket_nonblocking

0000000000000000         *UND*  0000000000000000 fcntl

0000000000000000         *UND*  0000000000000000 event_warn

0000000000000160 g     F .text  0000000000000005 evutil_socketpair

0000000000000000         *UND*  0000000000000000 socketpair

 

 

 

event_tagging.o:     file format elf64-x86-64

 

SYMBOL TABLE:

0000000000000000 l    df *ABS*  0000000000000000 event_tagging.c

0000000000000000 l    d  .text  0000000000000000 .text

0000000000000000 l    d  .data  0000000000000000 .data

0000000000000000 l    d  .bss   0000000000000000 .bss

0000000000000000 l    d  .debug_abbrev  0000000000000000 .debug_abbrev

0000000000000000 l    d  .debug_info    0000000000000000 .debug_info

0000000000000000 l    d  .debug_line    0000000000000000 .debug_line

0000000000000000 l     F .text  00000000000000b7 decode_int_internal

00000000000000e0 l     F .text  000000000000006f decode_tag_internal

0000000000000000 l     O .bss   0000000000000008 _buf

0000000000000000 l    d  .rodata.str1.1 0000000000000000 .rodata.str1.1

0000000000000000 l     O .rodata        0000000000000017 __func__.4433

0000000000000017 l     O .rodata        000000000000000b __func__.4171

0000000000000000 l    d  .rodata        0000000000000000 .rodata

0000000000000000 l    d  .debug_frame   0000000000000000 .debug_frame

0000000000000000 l    d  .eh_frame      0000000000000000 .eh_frame

0000000000000000 l    d  .debug_loc     0000000000000000 .debug_loc

0000000000000000 l    d  .debug_pubnames        0000000000000000 .debug_pubnames

0000000000000000 l    d  .debug_aranges 0000000000000000 .debug_aranges

0000000000000000 l    d  .debug_ranges  0000000000000000 .debug_ranges

0000000000000000 l    d  .debug_str     0000000000000000 .debug_str

0000000000000000 l    d  .note.GNU-stack        0000000000000000 .note.GNU-stack

0000000000000000 l    d  .comment       0000000000000000 .comment

0000000000000000         *UND*  0000000000000000 evbuffer_drain

00000000000000c0 g     F .text  000000000000001d evtag_decode_int

0000000000000150 g     F .text  0000000000000049 evtag_consume

00000000000001a0 g     F .text  0000000000000093 evtag_payload_length

0000000000000240 g     F .text  00000000000000aa evtag_peek_length

00000000000002f0 g     F .text  0000000000000010 evtag_peek

0000000000000300 g     F .text  000000000000000a evtag_decode_tag

0000000000000310 g     F .text  00000000000000b0 evtag_unmarshal_int

0000000000000000         *UND*  0000000000000000 evbuffer_add

00000000000003c0 g     F .text  0000000000000094 evtag_unmarshal

0000000000000460 g     F .text  00000000000000a5 evtag_unmarshal_timeval

0000000000000510 g     F .text  00000000000000b3 evtag_unmarshal_string

0000000000000000         *UND*  0000000000000000 calloc

0000000000000000         *UND*  0000000000000000 evbuffer_remove

0000000000000000         *UND*  0000000000000000 event_err

00000000000005d0 g     F .text  000000000000008f evtag_unmarshal_fixed

0000000000000000         *UND*  0000000000000000 memcpy

0000000000000660 g     F .text  0000000000000068 evtag_encode_tag

00000000000006d0 g     F .text  00000000000000c7 encode_int

00000000000007a0 g     F .text  000000000000007a evtag_marshal_int

0000000000000000         *UND*  0000000000000000 evbuffer_add_buffer

0000000000000820 g     F .text  000000000000004c evtag_marshal

0000000000000870 g     F .text  0000000000000076 evtag_marshal_timeval

00000000000008f0 g     F .text  0000000000000046 evtag_marshal_string

0000000000000000         *UND*  0000000000000000 strlen

0000000000000940 g     F .text  000000000000003c evtag_init

0000000000000000         *UND*  0000000000000000 evbuffer_new

 

 

 

http.o:     file format elf64-x86-64

 

SYMBOL TABLE:

0000000000000000 l    df *ABS*  0000000000000000 http.c

0000000000000000 l    d  .text  0000000000000000 .text

0000000000000000 l    d  .data  0000000000000000 .data

0000000000000000 l    d  .bss   0000000000000000 .bss

0000000000000000 l    d  .debug_abbrev  0000000000000000 .debug_abbrev

0000000000000000 l    d  .debug_info    0000000000000000 .debug_info

0000000000000000 l    d  .debug_line    0000000000000000 .debug_line

0000000000000000 l    d  .rodata.str1.1 0000000000000000 .rodata.str1.1

0000000000000000 l     F .text  000000000000003b html_replace

0000000000000000 l    d  .rodata        0000000000000000 .rodata

0000000000000040 l     F .text  000000000000000d evhttp_connected

0000000000000143 l     O .rodata        000000000000000e __func__.7608

0000000000000130 l     O .rodata        0000000000000013 __func__.7651

0000000000000470 l     F .text  0000000000000068 evhttp_new_object

0000000000000160 l     O .rodata        0000000000000012 __func__.7552

00000000000004f0 l     F .text  00000000000000cc evhttp_add_header_internal

00000000000001c0 l     O .rodata        000000000000001b __func__.6878

00000000000005c0 l     F .text  0000000000000013 evhttp_connection_stop_detectclose

00000000000003f0 l     O .rodata        0000000000000016 __func__.7071

00000000000012b0 l     F .text  00000000000000a5 accept_socket

00000000000009f0 l     F .text  000000000000003c evhttp_add_event

0000000000000aa0 l     F .text  00000000000000a0 evhttp_associate_new_request_with_connection

0000000000003c30 l     F .text  000000000000013c evhttp_handle_request

0000000000000100 l     O .rodata        000000000000002d __func__.7717

0000000000000b40 l     F .text  00000000000000c1 make_addrinfo

0000000000000c10 l     F .text  0000000000000112 bind_socket_ai

0000000000000d30 l     F .text  000000000000007e bind_socket

0000000000000180 l     O .rodata        0000000000000013 __func__.7529

0000000000000ea0 l     F .text  00000000000000e0 evhttp_decode_uri_internal

00000000000001e0 l     O .rodata        0000000000000012 __func__.7338

0000000000000200 l     O .rodata        0000000000000100 uri_chars

0000000000000000 l    d  .rodata.str1.8 0000000000000000 .rodata.str1.8

00000000000003d0 l     O .rodata        000000000000001b __PRETTY_FUNCTION__.7090

0000000000000172 l     O .rodata        000000000000000e __func__.7512

0000000000000440 l     O .rodata        0000000000000021 __PRETTY_FUNCTION__.6283

0000000000000480 l     O .rodata        0000000000000024 __func__.6275

00000000000004c0 l     O .rodata        0000000000000024 __PRETTY_FUNCTION__.6271

0000000000001430 l     F .text  000000000000005b evhttp_write_connectioncb

0000000000000390 l     O .rodata        000000000000001a __PRETTY_FUNCTION__.6238

0000000000001550 l     F .text  0000000000000035 evhttp_is_connection_keepalive

0000000000001590 l     F .text  0000000000000071 evhttp_is_connection_close

0000000000001610 l     F .text  0000000000000104 evhttp_send_done

0000000000000310 l     O .rodata        0000000000000011 __PRETTY_FUNCTION__.7175

0000000000000410 l     O .rodata        000000000000001b __func__.6403

0000000000003290 l     F .text  000000000000014c evhttp_connectioncb

00000000000003b0 l     O .rodata        000000000000001a __PRETTY_FUNCTION__.7118

0000000000002890 l     F .text  0000000000000012 evhttp_connection_retry

00000000000028b0 l     F .text  0000000000000008 evhttp_detect_close_cb

0000000000000530 l     O .rodata        0000000000000017 __PRETTY_FUNCTION__.6088

0000000000000400 l     O .bss   0000000000000400 host.6053

0000000000000000 l     O .bss   0000000000000400 file.6054

0000000000000300 l     O .rodata        000000000000000c __PRETTY_FUNCTION__.7207

00000000000030c0 l     F .text  0000000000000088 evhttp_request_dispatch

0000000000000370 l     O .rodata        0000000000000018 __PRETTY_FUNCTION__.6289

0000000000000350 l     O .rodata        0000000000000014 __func__.7145

0000000000000330 l     O .rodata        0000000000000014 __PRETTY_FUNCTION__.7146

00000000000033e0 l     F .text  00000000000001a0 evhttp_connection_done

0000000000003580 l     F .text  0000000000000052 evhttp_read_trailer

00000000000035e0 l     F .text  00000000000001ed evhttp_read_body

00000000000037d0 l     F .text  000000000000014c evhttp_get_body

0000000000000510 l     O .rodata        0000000000000017 __func__.7000

0000000000003920 l     F .text  00000000000000f0 evhttp_read_header

00000000000004f0 l     O .rodata        0000000000000013 __func__.7050

00000000000004e4 l     O .rodata        000000000000000c __func__.6222

0000000000000550 l     O .rodata        0000000000000012 __func__.5873

00000000000001a0 l     O .rodata        0000000000000013 __func__.7356

0000000000000000 l    d  .debug_frame   0000000000000000 .debug_frame

0000000000000000 l    d  .eh_frame      0000000000000000 .eh_frame

0000000000000000 l    d  .debug_loc     0000000000000000 .debug_loc

0000000000000000 l    d  .debug_pubnames        0000000000000000 .debug_pubnames

0000000000000000 l    d  .debug_aranges 0000000000000000 .debug_aranges

0000000000000000 l    d  .debug_ranges  0000000000000000 .debug_ranges

0000000000000000 l    d  .debug_str     0000000000000000 .debug_str

0000000000000000 l    d  .note.GNU-stack        0000000000000000 .note.GNU-stack

00000000000001b4 l       .rodata.str1.1 0000000000000000 .LC36

00000000000001b6 l       .rodata.str1.1 0000000000000000 .LC37

00000000000001b1 l       .rodata.str1.1 0000000000000000 .LC35

00000000000001d6 l       .rodata.str1.1 0000000000000000 .LC42

000000000000033c l       .rodata.str1.1 0000000000000000 .LC72

000000000000033e l       .rodata.str1.1 0000000000000000 .LC73

0000000000000340 l       .rodata.str1.1 0000000000000000 .LC74

0000000000000000 l    d  .comment       0000000000000000 .comment

0000000000000050 g     F .text  0000000000000007 evhttp_connection_set_timeout

0000000000000060 g     F .text  0000000000000007 evhttp_connection_set_retries

0000000000000070 g     F .text  000000000000000f evhttp_connection_set_closecb

0000000000000080 g     F .text  0000000000000015 evhttp_connection_get_peer

00000000000000a0 g     F .text  0000000000000004 evhttp_set_timeout

00000000000000b0 g     F .text  0000000000000009 evhttp_set_gencb

00000000000000c0 g     F .text  0000000000000008 evhttp_request_set_chunked_cb

00000000000000d0 g     F .text  0000000000000005 evhttp_request_uri

00000000000000e0 g     F .text  0000000000000067 evhttp_clear_headers

0000000000000000         *UND*  0000000000000000 free

0000000000000150 g     F .text  0000000000000047 evhttp_response_code

0000000000000000         *UND*  0000000000000000 __strdup

00000000000001a0 g     F .text  0000000000000077 evhttp_request_free

0000000000000000         *UND*  0000000000000000 evbuffer_free

0000000000000220 g     F .text  0000000000000074 evhttp_del_cb

0000000000000000         *UND*  0000000000000000 strcmp

00000000000002a0 g     F .text  00000000000000a8 evhttp_set_cb

0000000000000000         *UND*  0000000000000000 calloc

0000000000000000         *UND*  0000000000000000 event_err

0000000000000350 g     F .text  0000000000000116 evhttp_request_new

0000000000000000         *UND*  0000000000000000 evbuffer_new

0000000000000000         *UND*  0000000000000000 event_warn

00000000000004e0 g     F .text  000000000000000f evhttp_new

0000000000000000         *UND*  0000000000000000 event_del

00000000000005e0 g     F .text  000000000000014d evhttp_connection_free

0000000000000000         *UND*  0000000000000000 close

0000000000000730 g     F .text  00000000000000d0 evhttp_free

0000000000000800 g     F .text  0000000000000129 evhttp_connection_new

0000000000000930 g     F .text  00000000000000b3 evhttp_accept_socket

0000000000000000         *UND*  0000000000000000 malloc

0000000000000000         *UND*  0000000000000000 event_set

0000000000000000         *UND*  0000000000000000 event_base_set

0000000000000000         *UND*  0000000000000000 event_add

0000000000000a30 g     F .text  0000000000000070 evhttp_start_read

0000000000003a10 g     F .text  0000000000000127 evhttp_read

0000000000000000         *UND*  0000000000000000 evutil_snprintf

0000000000000000         *UND*  0000000000000000 getaddrinfo

0000000000000000         *UND*  0000000000000000 gai_strerror

0000000000000000         *UND*  0000000000000000 event_warnx

0000000000000000         *UND*  0000000000000000 socket

0000000000000000         *UND*  0000000000000000 evutil_make_socket_nonblocking

0000000000000000         *UND*  0000000000000000 fcntl

0000000000000000         *UND*  0000000000000000 setsockopt

0000000000000000         *UND*  0000000000000000 bind

0000000000000000         *UND*  0000000000000000 __errno_location

0000000000000000         *UND*  0000000000000000 freeaddrinfo

0000000000000db0 g     F .text  0000000000000084 evhttp_bind_socket

0000000000000000         *UND*  0000000000000000 listen

0000000000000e40 g     F .text  0000000000000057 evhttp_start

0000000000000000         *UND*  0000000000000000 __ctype_b_loc

0000000000000000         *UND*  0000000000000000 __strtol_internal

0000000000000f80 g     F .text  0000000000000065 evhttp_decode_uri

0000000000000000         *UND*  0000000000000000 strlen

0000000000000ff0 g     F .text  0000000000000096 evhttp_encode_uri

0000000000000000         *UND*  0000000000000000 evbuffer_add

0000000000000000         *UND*  0000000000000000 evbuffer_add_printf

0000000000001090 g     F .text  0000000000000056 evhttp_connection_set_base

0000000000000000         *UND*  0000000000000000 __assert_fail

00000000000010f0 g     F .text  00000000000001bb evhttp_get_request

0000000000000000         *UND*  0000000000000000 getnameinfo

0000000000000000         *UND*  0000000000000000 event_errx

0000000000000000         *UND*  0000000000000000 accept

0000000000001360 g     F .text  0000000000000033 evhttp_connection_set_local_port

00000000000013a0 g     F .text  000000000000008d evhttp_connection_set_local_address

0000000000001490 g     F .text  000000000000007c evhttp_remove_header

0000000000000000         *UND*  0000000000000000 strcasecmp

0000000000001510 g     F .text  000000000000003f evhttp_find_header

0000000000000000         *UND*  0000000000000000 strncasecmp

0000000000001720 g     F .text  000000000000007d evhttp_write_buffer

0000000000000000         *UND*  0000000000000000 event_pending

0000000000002a00 g     F .text  0000000000000087 evhttp_write

00000000000017a0 g     F .text  000000000000009c evhttp_send_reply_end

0000000000001840 g     F .text  000000000000007d evhttp_send_reply_chunk

0000000000000000         *UND*  0000000000000000 evbuffer_add_buffer

00000000000018c0 g     F .text  000000000000080a evhttp_parse_firstline

0000000000000000         *UND*  0000000000000000 evbuffer_readline

0000000000000000         *UND*  0000000000000000 __strsep_g

0000000000000000         *UND*  0000000000000000 strchr

00000000000020d0 g     F .text  0000000000000295 evhttp_add_header

0000000000000000         *UND*  0000000000000000 strpbrk

0000000000000000         *UND*  0000000000000000 strspn

0000000000002370 g     F .text  000000000000033a evhttp_parse_headers

0000000000000000         *UND*  0000000000000000 realloc

0000000000000000         *UND*  0000000000000000 memcpy

00000000000026b0 g     F .text  000000000000008b evhttp_connection_reset

0000000000000000         *UND*  0000000000000000 evbuffer_drain

0000000000002740 g     F .text  0000000000000141 evhttp_connection_connect

0000000000000000         *UND*  0000000000000000 connect

00000000000028c0 g     F .text  0000000000000137 evhttp_connection_fail

0000000000000000         *UND*  0000000000000000 evbuffer_write

0000000000002a90 g     F .text  000000000000011d evhttp_hostportfile

0000000000000000         *UND*  0000000000000000 _event_strlcpy

0000000000002bb0 g     F .text  0000000000000331 evhttp_make_header

0000000000000000         *UND*  0000000000000000 time

0000000000000000         *UND*  0000000000000000 gmtime_r

0000000000000000         *UND*  0000000000000000 strftime

0000000000002ef0 g     F .text  000000000000004c evhttp_send_reply_start

0000000000002f40 g     F .text  00000000000000e7 evhttp_send_page

0000000000003030 g     F .text  000000000000008b evhttp_send_error

0000000000003150 g     F .text  0000000000000135 evhttp_make_request

0000000000000000         *UND*  0000000000000000 getsockopt

0000000000000000         *UND*  0000000000000000 evutil_strtoll

0000000000000000         *UND*  0000000000000000 evbuffer_read

0000000000003b40 g     F .text  00000000000000e5 evhttp_htmlescape

0000000000000000         *UND*  0000000000000000 strcpy

0000000000000000         *UND*  0000000000000000 strncmp

0000000000003d70 g     F .text  0000000000000504 evhttp_parse_query

0000000000004280 g     F .text  0000000000000081 evhttp_send_reply

 

 

 

evdns.o:     file format elf64-x86-64

 

SYMBOL TABLE:

0000000000000000 l    df *ABS*  0000000000000000 evdns.c

0000000000000000 l    d  .text  0000000000000000 .text

0000000000000000 l    d  .data  0000000000000000 .data

0000000000000000 l    d  .bss   0000000000000000 .bss

0000000000000000 l    d  .debug_abbrev  0000000000000000 .debug_abbrev

0000000000000000 l    d  .debug_info    0000000000000000 .debug_info

0000000000000000 l    d  .debug_line    0000000000000000 .debug_line

0000000000000030 l     O .bss   0000000000000008 evdns_log_fn

0000000000000760 l     F .text  0000000000000078 default_transaction_id_fn

0000000000000008 l     O .data  0000000000000008 trans_id_function

0000000000000030 l     F .text  0000000000000042 transaction_id_pick

0000000000000000 l     O .bss   0000000000000008 req_head

0000000000000018 l     O .bss   0000000000000008 server_head

00000000000000b0 l     F .text  000000000000002f evdns_request_insert

0000000000000000 l    d  .rodata.str1.1 0000000000000000 .rodata.str1.1

0000000000000000 l    d  .rodata        0000000000000000 .rodata

0000000000000140 l     F .text  0000000000000048 search_state_decref

0000000000000020 l     O .bss   0000000000000004 global_good_nameservers

0000000000000008 l     O .bss   0000000000000008 req_waiting_head

0000000000000010 l     O .bss   0000000000000004 global_requests_waiting

0000000000000014 l     O .bss   0000000000000004 global_requests_inflight

00000000000002b0 l     F .text  0000000000000085 server_request_free_answers

0000000000000340 l     F .text  0000000000000034 dnslabel_clear

0000000000000380 l     F .text  0000000000000080 server_port_free

0000000000000390 l     O .rodata        0000000000000011 __PRETTY_FUNCTION__.6581

0000000000000400 l     F .text  0000000000000107 server_request_free

0000000000000550 l     F .text  0000000000000082 nameserver_pick

0000000000000270 l     O .rodata        0000000000000010 __PRETTY_FUNCTION__.5789

00000000000005e0 l     F .text  00000000000000bd reply_callback

0000000000000228 l     O .rodata        000000000000000f __PRETTY_FUNCTION__.5272

00000000000006a0 l     F .text  00000000000000bd _evdns_log

0000000000000040 l     O .bss   0000000000000200 buf.5140

0000000000000010 l     O .data  0000000000000004 clkid.5756

00000000000007e0 l     F .text  0000000000000012 request_trans_id_set

0000000000000800 l     F .text  0000000000000044 debug_ntoa

0000000000000240 l     O .bss   0000000000000020 buf.5100

0000000000000850 l     F .text  0000000000000056 nameserver_up

0000000000000000 l    d  .rodata.str1.8 0000000000000000 .rodata.str1.8

00000000000008b0 l     F .text  000000000000012b nameserver_failed

0000000000000280 l     O .rodata        0000000000000050 global_nameserver_timeouts

00000000000002d0 l     O .rodata        0000000000000012 __PRETTY_FUNCTION__.5178

00000000000009e0 l     F .text  00000000000000b0 nameserver_probe_callback

0000000000000a90 l     F .text  00000000000000a3 nameserver_write_waiting

0000000000002b20 l     F .text  0000000000000720 nameserver_ready_callback

0000000000000b40 l     F .text  0000000000000123 evdns_request_transmit

0000000000000020 l     O .data  0000000000000010 global_timeout

0000000000000c70 l     F .text  0000000000000038 request_submit

0000000000000cb0 l     F .text  0000000000000052 evdns_transmit

0000000000000d10 l     F .text  00000000000000d0 evdns_requests_pump_waiting_queue

0000000000000000 l     O .data  0000000000000004 global_max_requests_inflight

0000000000000240 l     O .rodata        0000000000000022 __PRETTY_FUNCTION__.5246

0000000000000df0 l     F .text  00000000000000ac request_finished

0000000000000028 l     O .bss   0000000000000008 global_search_state

0000000000001000 l     F .text  0000000000000087 evdns_request_timeout_callback

0000000000000030 l     O .data  0000000000000004 global_max_nameserver_timeout

0000000000000034 l     O .data  0000000000000004 global_max_retransmits

0000000000001090 l     F .text  00000000000000d4 server_port_flush

00000000000021e0 l     F .text  000000000000044c server_port_ready_callback

00000000000011b0 l     F .text  0000000000000176 name_parse

0000000000001330 l     F .text  000000000000001f string_num_dots

0000000000001350 l     F .text  00000000000000dd search_make_new

0000000000001430 l     F .text  0000000000000044 search_state_new

00000000000014b0 l     F .text  00000000000000ab search_postfix_add

0000000000001570 l     F .text  0000000000000021 search_postfix_clear

00000000000003f0 l     O .rodata        0000000000000016 __PRETTY_FUNCTION__.6139

00000000000003c0 l     O .rodata        0000000000000023 __PRETTY_FUNCTION__.6229

0000000000001a30 l     F .text  000000000000005b dnslabel_table_add

0000000000001a90 l     F .text  00000000000001bd dnsname_to_labels

0000000000002630 l     F .text  0000000000000264 request_new

00000000000028a0 l     F .text  000000000000027b reply_handle

00000000000002f0 l     O .rodata        0000000000000014 error_codes.5293

0000000000003240 l     F .text  0000000000000157 search_request_new

0000000000000370 l     O .rodata        0000000000000013 __PRETTY_FUNCTION__.7067

0000000000000330 l     O .rodata        000000000000001b __PRETTY_FUNCTION__.6929

0000000000000350 l     O .rodata        0000000000000016 __PRETTY_FUNCTION__.6891

00000000000036f0 l     F .text  000000000000006f nameserver_prod_callback

0000000000003760 l     F .text  0000000000000041 search_set_from_hostname

00000000000037b0 l     F .text  000000000000002d strtoint

00000000000037e0 l     F .text  0000000000000038 strtoint_clipped

0000000000003a00 l     F .text  00000000000001ce _evdns_nameserver_add_impl

0000000000003c80 l     F .text  0000000000000027 evdns_resolv_set_defaults

0000000000003cc0 l     F .text  00000000000003c0 resolv_conf_parse_line

0000000000000328 l     O .rodata        0000000000000008 delims.7219

0000000000000310 l     O .rodata        0000000000000018 __PRETTY_FUNCTION__.7464

0000000000000000 l    d  .debug_frame   0000000000000000 .debug_frame

0000000000000000 l    d  .eh_frame      0000000000000000 .eh_frame

0000000000000000 l    d  .debug_loc     0000000000000000 .debug_loc

0000000000000000 l    d  .debug_pubnames        0000000000000000 .debug_pubnames

0000000000000000 l    d  .debug_aranges 0000000000000000 .debug_aranges

0000000000000000 l    d  .debug_ranges  0000000000000000 .debug_ranges

0000000000000000 l    d  .debug_str     0000000000000000 .debug_str

0000000000000000 l    d  .note.GNU-stack        0000000000000000 .note.GNU-stack

0000000000000365 l       .rodata.str1.1 0000000000000000 .LC65

0000000000000000 l    d  .comment       0000000000000000 .comment

0000000000000000 g     F .text  0000000000000008 evdns_set_log_fn

0000000000000010 g     F .text  0000000000000014 evdns_set_transaction_id_fn

0000000000000080 g     F .text  0000000000000022 evdns_count_nameservers

00000000000000e0 g     F .text  0000000000000052 evdns_err_to_string

0000000000000000         *UND*  0000000000000000 free

0000000000000190 g     F .text  0000000000000118 evdns_clear_nameservers_and_suspend

0000000000000000         *UND*  0000000000000000 close

0000000000000000         *UND*  0000000000000000 event_del

0000000000000000         *UND*  0000000000000000 __assert_fail

0000000000000510 g     F .text  0000000000000017 evdns_server_request_drop

0000000000000530 g     F .text  000000000000001c evdns_close_server_port

0000000000000000         *UND*  0000000000000000 evutil_vsnprintf

0000000000000000         *UND*  0000000000000000 clock_gettime

0000000000000000         *UND*  0000000000000000 event_err

0000000000000000         *UND*  0000000000000000 evutil_snprintf

0000000000000000         *UND*  0000000000000000 event_add

0000000000000000         *UND*  0000000000000000 event_set

0000000000000000         *UND*  0000000000000000 sendto

0000000000000000         *UND*  0000000000000000 __errno_location

0000000000000000         *UND*  0000000000000000 strerror

0000000000000000         *UND*  0000000000000000 abort

0000000000000de0 g     F .text  0000000000000010 evdns_resume

0000000000000ea0 g     F .text  000000000000015a evdns_shutdown

0000000000001170 g     F .text  0000000000000031 evdns_server_request_get_requesting_addr

0000000000000000         *UND*  0000000000000000 memcpy

0000000000000000         *UND*  0000000000000000 strchr

0000000000000000         *UND*  0000000000000000 strlen

0000000000000000         *UND*  0000000000000000 malloc

0000000000001480 g     F .text  0000000000000027 evdns_search_ndots_set

0000000000001560 g     F .text  0000000000000005 evdns_search_add

00000000000015a0 g     F .text  0000000000000002 evdns_search_clear

00000000000015b0 g     F .text  00000000000000d4 evdns_add_server_port

0000000000000000         *UND*  0000000000000000 memset

0000000000001690 g     F .text  00000000000001d1 evdns_server_request_add_reply

0000000000000000         *UND*  0000000000000000 __strdup

0000000000001870 g     F .text  0000000000000035 evdns_server_request_add_cname_reply

00000000000018b0 g     F .text  00000000000000f6 evdns_server_request_add_ptr_reply

00000000000019b0 g     F .text  0000000000000034 evdns_server_request_add_aaaa_reply

00000000000019f0 g     F .text  0000000000000034 evdns_server_request_add_a_reply

0000000000000000         *UND*  0000000000000000 strcmp

0000000000001c50 g     F .text  0000000000000585 evdns_server_request_respond

0000000000000000         *UND*  0000000000000000 recvfrom

00000000000033a0 g     F .text  0000000000000109 evdns_resolve_reverse_ipv6

00000000000034b0 g     F .text  00000000000000d2 evdns_resolve_reverse

0000000000003590 g     F .text  00000000000000ad evdns_resolve_ipv6

0000000000003640 g     F .text  00000000000000ad evdns_resolve_ipv4

0000000000000000         *UND*  0000000000000000 gethostname

0000000000000000         *UND*  0000000000000000 __strtol_internal

0000000000003820 g     F .text  00000000000001da evdns_set_option

0000000000000000         *UND*  0000000000000000 socket

0000000000000000         *UND*  0000000000000000 evutil_make_socket_nonblocking

0000000000003bd0 g     F .text  00000000000000a4 evdns_nameserver_ip_add

0000000000000000         *UND*  0000000000000000 inet_aton

0000000000003cb0 g     F .text  000000000000000a evdns_nameserver_add

0000000000000000         *UND*  0000000000000000 __strtok_r

0000000000004080 g     F .text  00000000000001ec evdns_resolv_conf_parse

0000000000000000         *UND*  0000000000000000 open

0000000000000000         *UND*  0000000000000000 __fxstat

0000000000000000         *UND*  0000000000000000 read

0000000000004270 g     F .text  000000000000000f evdns_init

 

 

 

evrpc.o:     file format elf64-x86-64

 

SYMBOL TABLE:

0000000000000000 l    df *ABS*  0000000000000000 evrpc.c

0000000000000000 l    d  .text  0000000000000000 .text

0000000000000000 l    d  .data  0000000000000000 .data

0000000000000000 l    d  .bss   0000000000000000 .bss

0000000000000000 l    d  .debug_abbrev  0000000000000000 .debug_abbrev

0000000000000000 l    d  .debug_info    0000000000000000 .debug_info

0000000000000000 l    d  .debug_line    0000000000000000 .debug_line

0000000000000000 l     F .text  000000000000003a evrpc_process_hooks

0000000000000070 l     F .text  0000000000000019 evrpc_request_wrapper_free

0000000000000000 l    d  .rodata.str1.1 0000000000000000 .rodata.str1.1

0000000000000000 l    d  .rodata.str1.8 0000000000000000 .rodata.str1.8

00000000000000b0 l     O .rodata        0000000000000012 __PRETTY_FUNCTION__.5154

0000000000000180 l     F .text  000000000000008b evrpc_construct_uri

0000000000000020 l     O .rodata        0000000000000014 __func__.5182

0000000000000210 l     F .text  0000000000000135 evrpc_schedule_request

0000000000000450 l     F .text  00000000000000d2 evrpc_reply_done

0000000000000350 l     F .text  0000000000000059 evrpc_pool_schedule

0000000000000530 l     F .text  0000000000000031 evrpc_request_timeout

0000000000000000 l     O .rodata        0000000000000013 __PRETTY_FUNCTION__.5398

0000000000000040 l     O .rodata        0000000000000016 __PRETTY_FUNCTION__.5439

0000000000000060 l     O .rodata        000000000000001a __PRETTY_FUNCTION__.5331

0000000000000080 l     O .rodata        0000000000000010 __PRETTY_FUNCTION__.5314

00000000000000c2 l     O .rodata        000000000000000f __PRETTY_FUNCTION__.5127

0000000000000960 l     F .text  00000000000000eb evrpc_request_cb

0000000000000090 l     O .rodata        0000000000000015 __PRETTY_FUNCTION__.5228

00000000000000d1 l     O .rodata        000000000000000b __PRETTY_FUNCTION__.5097

0000000000000000 l    d  .rodata        0000000000000000 .rodata

0000000000000000 l    d  .debug_frame   0000000000000000 .debug_frame

0000000000000000 l    d  .eh_frame      0000000000000000 .eh_frame

0000000000000000 l    d  .debug_loc     0000000000000000 .debug_loc

0000000000000000 l    d  .debug_pubnames        0000000000000000 .debug_pubnames

0000000000000000 l    d  .debug_aranges 0000000000000000 .debug_aranges

0000000000000000 l    d  .debug_ranges  0000000000000000 .debug_ranges

0000000000000000 l    d  .debug_str     0000000000000000 .debug_str

0000000000000000 l    d  .note.GNU-stack        0000000000000000 .note.GNU-stack

0000000000000000 l    d  .comment       0000000000000000 .comment

0000000000000040 g     F .text  0000000000000022 evrpc_pool_set_timeout

0000000000000000         *UND*  0000000000000000 free

0000000000000090 g     F .text  000000000000005f evrpc_reqstate_free

00000000000000f0 g     F .text  0000000000000085 evrpc_remove_hook

0000000000000000         *UND*  0000000000000000 __assert_fail

0000000000000000         *UND*  0000000000000000 strlen

0000000000000000         *UND*  0000000000000000 malloc

0000000000000000         *UND*  0000000000000000 memcpy

0000000000000000         *UND*  0000000000000000 event_err

0000000000000000         *UND*  0000000000000000 evhttp_request_new

0000000000000000         *UND*  0000000000000000 event_add

0000000000000000         *UND*  0000000000000000 evhttp_make_request

00000000000003b0 g     F .text  000000000000009d evrpc_make_request

0000000000000000         *UND*  0000000000000000 event_set

0000000000000000         *UND*  0000000000000000 event_base_set

0000000000000000         *UND*  0000000000000000 event_del

0000000000000000         *UND*  0000000000000000 evhttp_connection_fail

0000000000000570 g     F .text  00000000000000c6 evrpc_pool_add_connection

0000000000000000         *UND*  0000000000000000 evhttp_connection_set_base

0000000000000640 g     F .text  00000000000000e6 evrpc_pool_free

0000000000000000         *UND*  0000000000000000 evhttp_connection_free

0000000000000730 g     F .text  0000000000000068 evrpc_pool_new

0000000000000000         *UND*  0000000000000000 calloc

00000000000007a0 g     F .text  00000000000000ab evrpc_add_hook

0000000000000850 g     F .text  000000000000010a evrpc_request_done

0000000000000000         *UND*  0000000000000000 evbuffer_new

0000000000000000         *UND*  0000000000000000 evhttp_find_header

0000000000000000         *UND*  0000000000000000 evhttp_send_reply

0000000000000000         *UND*  0000000000000000 evbuffer_free

0000000000000000         *UND*  0000000000000000 evhttp_send_error

0000000000000000         *UND*  0000000000000000 evhttp_add_header

0000000000000a50 g     F .text  00000000000000b1 evrpc_unregister_rpc

0000000000000000         *UND*  0000000000000000 strcmp

0000000000000000         *UND*  0000000000000000 evhttp_del_cb

0000000000000b10 g     F .text  00000000000000af evrpc_free

0000000000000bc0 g     F .text  000000000000009a evrpc_register_rpc

0000000000000000         *UND*  0000000000000000 evhttp_set_cb

0000000000000c60 g     F .text  0000000000000070 evrpc_init

0000000000000000         *UND*  0000000000000000 evtag_init

 

 

 

strlcpy.o:     file format elf64-x86-64

 

SYMBOL TABLE:

0000000000000000 l    df *ABS*  0000000000000000 strlcpy.c

0000000000000000 l    d  .text  0000000000000000 .text

0000000000000000 l    d  .data  0000000000000000 .data

0000000000000000 l    d  .bss   0000000000000000 .bss

0000000000000000 l    d  .debug_abbrev  0000000000000000 .debug_abbrev

0000000000000000 l    d  .debug_info    0000000000000000 .debug_info

0000000000000000 l    d  .debug_line    0000000000000000 .debug_line

0000000000000000 l    d  .debug_frame   0000000000000000 .debug_frame

0000000000000000 l    d  .eh_frame      0000000000000000 .eh_frame

0000000000000000 l    d  .debug_loc     0000000000000000 .debug_loc

0000000000000000 l    d  .debug_pubnames        0000000000000000 .debug_pubnames

0000000000000000 l    d  .debug_aranges 0000000000000000 .debug_aranges

0000000000000000 l    d  .debug_str     0000000000000000 .debug_str

0000000000000000 l    d  .note.GNU-stack        0000000000000000 .note.GNU-stack

0000000000000000 l    d  .comment       0000000000000000 .comment

0000000000000000 g     F .text  000000000000003a _event_strlcpy

 

 

 

select.o:     file format elf64-x86-64

 

SYMBOL TABLE:

0000000000000000 l    df *ABS*  0000000000000000 select.c

0000000000000000 l    d  .text  0000000000000000 .text

0000000000000000 l    d  .data  0000000000000000 .data

0000000000000000 l    d  .bss   0000000000000000 .bss

0000000000000000 l    d  .debug_abbrev  0000000000000000 .debug_abbrev

0000000000000000 l    d  .debug_info    0000000000000000 .debug_info

0000000000000000 l    d  .debug_line    0000000000000000 .debug_line

0000000000000000 l     F .text  0000000000000074 select_dealloc

0000000000000000 l    d  .rodata.str1.1 0000000000000000 .rodata.str1.1

0000000000000080 l     F .text  00000000000001c3 select_dispatch

0000000000000250 l     F .text  000000000000008f select_del

00000000000002e0 l     F .text  0000000000000180 select_resize

0000000000000460 l     F .text  000000000000011d select_add

0000000000000580 l     F .text  0000000000000062 select_init

0000000000000000 l    d  .rodata        0000000000000000 .rodata

0000000000000000 l    d  .debug_frame   0000000000000000 .debug_frame

0000000000000000 l    d  .eh_frame      0000000000000000 .eh_frame

0000000000000000 l    d  .debug_loc     0000000000000000 .debug_loc

0000000000000000 l    d  .debug_pubnames        0000000000000000 .debug_pubnames

0000000000000000 l    d  .debug_aranges 0000000000000000 .debug_aranges

0000000000000000 l    d  .debug_ranges  0000000000000000 .debug_ranges

0000000000000000 l    d  .debug_str     0000000000000000 .debug_str

0000000000000000 l    d  .note.GNU-stack        0000000000000000 .note.GNU-stack

0000000000000000 l    d  .comment       0000000000000000 .comment

0000000000000000         *UND*  0000000000000000 evsignal_dealloc

0000000000000000         *UND*  0000000000000000 free

0000000000000000         *UND*  0000000000000000 memcpy

0000000000000000         *UND*  0000000000000000 select

0000000000000000         *UND*  0000000000000000 random

0000000000000000         *UND*  0000000000000000 event_active

0000000000000000         *UND*  0000000000000000 evsignal_process

0000000000000000         *UND*  0000000000000000 __errno_location

0000000000000000         *UND*  0000000000000000 event_warn

0000000000000000         *UND*  0000000000000000 evsignal_del

0000000000000000         *UND*  0000000000000000 realloc

0000000000000000         *UND*  0000000000000000 memset

0000000000000000         *UND*  0000000000000000 evsignal_add

0000000000000000         *UND*  0000000000000000 evutil_getenv

0000000000000000         *UND*  0000000000000000 calloc

0000000000000000         *UND*  0000000000000000 evsignal_init

0000000000000000 g     O .rodata        0000000000000038 selectops

 

 

 

poll.o:     file format elf64-x86-64

 

SYMBOL TABLE:

0000000000000000 l    df *ABS*  0000000000000000 poll.c

0000000000000000 l    d  .text  0000000000000000 .text

0000000000000000 l    d  .data  0000000000000000 .data

0000000000000000 l    d  .bss   0000000000000000 .bss

0000000000000000 l    d  .debug_abbrev  0000000000000000 .debug_abbrev

0000000000000000 l    d  .debug_info    0000000000000000 .debug_info

0000000000000000 l    d  .debug_line    0000000000000000 .debug_line

0000000000000000 l     F .text  0000000000000058 poll_dealloc

0000000000000000 l    d  .rodata.str1.1 0000000000000000 .rodata.str1.1

0000000000000060 l     F .text  00000000000001ff poll_dispatch

0000000000000260 l     F .text  00000000000000e7 poll_del

0000000000000350 l     F .text  0000000000000218 poll_add

0000000000000570 l     F .text  0000000000000055 poll_init

0000000000000000 l    d  .rodata        0000000000000000 .rodata

0000000000000000 l    d  .debug_frame   0000000000000000 .debug_frame

0000000000000000 l    d  .eh_frame      0000000000000000 .eh_frame

0000000000000000 l    d  .debug_loc     0000000000000000 .debug_loc

0000000000000000 l    d  .debug_pubnames        0000000000000000 .debug_pubnames

0000000000000000 l    d  .debug_aranges 0000000000000000 .debug_aranges

0000000000000000 l    d  .debug_ranges  0000000000000000 .debug_ranges

0000000000000000 l    d  .debug_str     0000000000000000 .debug_str

0000000000000000 l    d  .note.GNU-stack        0000000000000000 .note.GNU-stack

0000000000000000 l    d  .comment       0000000000000000 .comment

0000000000000000         *UND*  0000000000000000 evsignal_dealloc

0000000000000000         *UND*  0000000000000000 free

0000000000000000         *UND*  0000000000000000 poll

0000000000000000         *UND*  0000000000000000 random

0000000000000000         *UND*  0000000000000000 evsignal_process

0000000000000000         *UND*  0000000000000000 event_active

0000000000000000         *UND*  0000000000000000 __errno_location

0000000000000000         *UND*  0000000000000000 event_warn

0000000000000000         *UND*  0000000000000000 evsignal_del

0000000000000000         *UND*  0000000000000000 realloc

0000000000000000         *UND*  0000000000000000 memset

0000000000000000         *UND*  0000000000000000 evsignal_add

0000000000000000         *UND*  0000000000000000 evutil_getenv

0000000000000000         *UND*  0000000000000000 calloc

0000000000000000         *UND*  0000000000000000 evsignal_init

0000000000000000 g     O .rodata        0000000000000038 pollops

 

 

 

epoll.o:     file format elf64-x86-64

 

SYMBOL TABLE:

0000000000000000 l    df *ABS*  0000000000000000 epoll.c

0000000000000000 l    d  .text  0000000000000000 .text

0000000000000000 l    d  .data  0000000000000000 .data

0000000000000000 l    d  .bss   0000000000000000 .bss

0000000000000000 l    d  .debug_abbrev  0000000000000000 .debug_abbrev

0000000000000000 l    d  .debug_info    0000000000000000 .debug_info

0000000000000000 l    d  .debug_line    0000000000000000 .debug_line

0000000000000000 l     F .text  0000000000000058 epoll_dealloc

0000000000000000 l    d  .rodata.str1.1 0000000000000000 .rodata.str1.1

0000000000000060 l     F .text  00000000000001a7 epoll_dispatch

0000000000000210 l     F .text  00000000000000d3 epoll_del

00000000000002f0 l     F .text  000000000000016c epoll_add

0000000000000460 l     F .text  000000000000011b epoll_init

0000000000000000 l    d  .rodata        0000000000000000 .rodata

0000000000000000 l    d  .debug_frame   0000000000000000 .debug_frame

0000000000000000 l    d  .eh_frame      0000000000000000 .eh_frame

0000000000000000 l    d  .debug_loc     0000000000000000 .debug_loc

0000000000000000 l    d  .debug_pubnames        0000000000000000 .debug_pubnames

0000000000000000 l    d  .debug_aranges 0000000000000000 .debug_aranges

0000000000000000 l    d  .debug_ranges  0000000000000000 .debug_ranges

0000000000000000 l    d  .debug_str     0000000000000000 .debug_str

0000000000000000 l    d  .note.GNU-stack        0000000000000000 .note.GNU-stack

0000000000000000 l    d  .comment       0000000000000000 .comment

0000000000000000         *UND*  0000000000000000 evsignal_dealloc

0000000000000000         *UND*  0000000000000000 free

0000000000000000         *UND*  0000000000000000 close

0000000000000000         *UND*  0000000000000000 epoll_wait

0000000000000000         *UND*  0000000000000000 event_active

0000000000000000         *UND*  0000000000000000 realloc

0000000000000000         *UND*  0000000000000000 evsignal_process

0000000000000000         *UND*  0000000000000000 __errno_location

0000000000000000         *UND*  0000000000000000 event_warn

0000000000000000         *UND*  0000000000000000 epoll_ctl

0000000000000000         *UND*  0000000000000000 evsignal_del

0000000000000000         *UND*  0000000000000000 memset

0000000000000000         *UND*  0000000000000000 evsignal_add

0000000000000000         *UND*  0000000000000000 evutil_getenv

0000000000000000         *UND*  0000000000000000 epoll_create

0000000000000000         *UND*  0000000000000000 fcntl

0000000000000000         *UND*  0000000000000000 calloc

0000000000000000         *UND*  0000000000000000 malloc

0000000000000000         *UND*  0000000000000000 evsignal_init

0000000000000000 g     O .rodata        0000000000000038 epollops

 

 

 

signal.o:     file format elf64-x86-64

 

SYMBOL TABLE:

0000000000000000 l    df *ABS*  0000000000000000 signal.c

0000000000000000 l    d  .text  0000000000000000 .text

0000000000000000 l    d  .data  0000000000000000 .data

0000000000000000 l    d  .bss   0000000000000000 .bss

0000000000000000 l    d  .debug_abbrev  0000000000000000 .debug_abbrev

0000000000000000 l    d  .debug_info    0000000000000000 .debug_info

0000000000000000 l    d  .debug_line    0000000000000000 .debug_line

0000000000000000 l    d  .rodata.str1.1 0000000000000000 .rodata.str1.1

0000000000000000 l    d  .rodata.str1.8 0000000000000000 .rodata.str1.8

0000000000000000 l     O .rodata        000000000000000d __PRETTY_FUNCTION__.5056

0000000000000250 l     F .text  00000000000000a5 evsignal_handler

0000000000000030 l     O .rodata        0000000000000011 __func__.5074

000000000000001a l     O .rodata        000000000000000d __func__.5016

000000000000000d l     O .rodata        000000000000000d __PRETTY_FUNCTION__.5017

00000000000006d0 l     F .text  000000000000003a evsignal_cb

0000000000000041 l     O .rodata        000000000000000e __func__.4954

0000000000000008 l     O .bss   0000000000000001 signals.4946

000000000000004f l     O .rodata        000000000000000c __func__.4948

0000000000000000 l    d  .rodata        0000000000000000 .rodata

0000000000000000 l    d  .debug_frame   0000000000000000 .debug_frame

0000000000000000 l    d  .eh_frame      0000000000000000 .eh_frame

0000000000000000 l    d  .debug_loc     0000000000000000 .debug_loc

0000000000000000 l    d  .debug_pubnames        0000000000000000 .debug_pubnames

0000000000000000 l    d  .debug_aranges 0000000000000000 .debug_aranges

0000000000000000 l    d  .debug_ranges  0000000000000000 .debug_ranges

0000000000000000 l    d  .debug_str     0000000000000000 .debug_str

0000000000000000 l    d  .note.GNU-stack        0000000000000000 .note.GNU-stack

0000000000000000 l    d  .comment       0000000000000000 .comment

0000000000000000 g     F .text  0000000000000096 evsignal_process

0000000000000000         *UND*  0000000000000000 event_active

0000000000000000         *UND*  0000000000000000 event_del

00000000000000a0 g     F .text  0000000000000072 _evsignal_restore_handler

0000000000000000         *UND*  0000000000000000 sigaction

0000000000000000         *UND*  0000000000000000 free

0000000000000000         *UND*  0000000000000000 event_warn

0000000000000120 g     F .text  000000000000009e evsignal_dealloc

0000000000000000         *UND*  0000000000000000 close

00000000000001c0 g     F .text  000000000000008a evsignal_del

0000000000000000         *UND*  0000000000000000 __assert_fail

0000000000000000         *UND*  0000000000000000 __errno_location

0000000000000000 g     O .bss   0000000000000008 evsignal_base

0000000000000000         *UND*  0000000000000000 send

0000000000000300 g     F .text  0000000000000170 _evsignal_set_handler

0000000000000000         *UND*  0000000000000000 realloc

0000000000000000         *UND*  0000000000000000 memset

0000000000000000         *UND*  0000000000000000 malloc

0000000000000000         *UND*  0000000000000000 sigfillset

0000000000000470 g     F .text  000000000000010a evsignal_add

0000000000000000         *UND*  0000000000000000 event_errx

0000000000000000         *UND*  0000000000000000 event_add

0000000000000580 g     F .text  0000000000000143 evsignal_init

0000000000000000         *UND*  0000000000000000 evutil_socketpair

0000000000000000         *UND*  0000000000000000 fcntl

0000000000000000         *UND*  0000000000000000 evutil_make_socket_nonblocking

0000000000000000         *UND*  0000000000000000 event_set

0000000000000000         *UND*  0000000000000000 event_err

0000000000000000         *UND*  0000000000000000 recv

 

 

[root@Betty lib]#

作为对比提供 nm 的输出结果。

nm - list symbols from object files
==================
-s
--print-armap
   When  listing  symbols  from  archive members, include the index: a mapping (stored in the archive by ar or ranlib) of which modules contain definitions for which names.
===================

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

224

225

226

227

228

229

230

231

232

233

234

235

236

237

238

239

240

241

242

243

244

245

246

247

248

249

250

251

252

253

254

255

256

257

258

259

260

261

262

263

264

265

266

267

268

269

270

271

272

273

274

275

276

277

278

279

280

281

282

283

284

285

286

287

288

289

290

291

292

293

294

295

296

297

298

299

300

301

302

303

304

305

306

307

308

309

310

311

312

313

314

315

316

317

318

319

320

321

322

323

324

325

326

327

328

329

330

331

332

333

334

335

336

337

338

339

340

341

342

343

344

345

346

347

348

349

350

351

352

353

354

355

356

357

358

359

360

361

362

363

364

365

366

367

368

369

370

371

372

373

374

375

376

377

378

379

380

381

382

383

384

385

386

387

388

389

390

391

392

393

394

395

396

397

398

399

400

401

402

403

404

405

406

407

408

409

410

411

412

413

414

415

416

417

418

419

420

421

422

423

424

425

426

427

428

429

430

431

432

433

434

435

436

437

438

439

440

441

442

443

444

445

446

447

448

449

450

451

452

453

454

455

456

457

458

459

460

461

462

463

464

465

466

467

468

469

470

471

472

473

474

475

476

477

478

479

480

481

482

483

484

485

486

487

488

489

490

491

492

493

494

495

496

497

498

499

500

501

502

503

504

505

506

507

508

509

510

511

512

513

514

515

516

517

518

519

520

521

522

523

524

525

526

527

528

529

530

531

532

533

534

535

536

537

538

539

540

541

542

543

544

545

546

547

548

549

550

551

552

553

554

555

556

557

558

559

560

561

562

563

564

565

566

567

568

569

570

571

572

573

574

575

576

577

578

579

580

581

582

583

584

585

586

587

588

589

590

591

592

593

594

595

596

597

598

599

600

601

602

603

604

605

606

607

608

609

610

611

612

613

614

615

616

617

618

619

620

621

622

623

624

625

626

627

628

629

630

631

632

633

634

635

636

637

638

639

640

641

642

643

644

645

646

647

648

649

650

651

652

653

654

655

656

657

658

659

660

661

662

663

664

665

666

667

668

669

670

671

672

673

674

675

676

677

678

679

680

681

682

683

684

685

686

687

688

689

690

691

692

693

694

695

696

697

698

699

700

701

702

703

704

705

706

707

708

709

710

711

712

713

714

715

716

717

718

719

720

721

722

723

724

725

726

727

728

729

730

731

732

733

734

735

736

737

738

739

740

741

742

743

744

745

746

747

748

749

750

751

752

753

754

755

756

757

758

759

760

761

762

763

764

765

766

767

768

769

770

771

772

773

774

775

776

777

778

779

780

781

782

783

784

785

786

787

788

789

790

791

792

793

794

795

796

797

798

799

800

801

802

803

804

805

806

807

808

809

810

811

812

813

814

815

816

817

818

819

820

821

822

823

824

825

826

827

828

829

830

831

832

833

834

835

836

837

838

839

840

841

842

843

844

845

846

847

848

849

850

851

852

853

854

855

856

857

858

859

860

861

862

863

864

865

866

867

868

869

870

871

872

873

874

875

876

877

878

879

880

881

[root@Betty lib]# nm -s libevent.a

 

Archive index:

event_base_loopbreak in event.o

event_loopbreak in event.o

current_base in event.o

event_set in event.o

event_base_set in event.o

event_priority_set in event.o

event_get_version in event.o

event_get_method in event.o

event_base_get_method in event.o

event_pending in event.o

event_base_priority_init in event.o

event_priority_init in event.o

event_base_new in event.o

event_init in event.o

event_del in event.o

event_base_free in event.o

event_reinit in event.o

event_active in event.o

event_base_loop in event.o

event_loop in event.o

event_dispatch in event.o

event_base_dispatch in event.o

event_add in event.o

event_base_once in event.o

event_once in event.o

event_loopexit in event.o

event_base_loopexit in event.o

evbuffer_drain in buffer.o

evbuffer_setcb in buffer.o

evbuffer_find in buffer.o

evbuffer_write in buffer.o

evbuffer_remove in buffer.o

evbuffer_expand in buffer.o

evbuffer_read in buffer.o

evbuffer_add in buffer.o

evbuffer_add_buffer in buffer.o

evbuffer_readline in buffer.o

evbuffer_add_vprintf in buffer.o

evbuffer_add_printf in buffer.o

evbuffer_free in buffer.o

evbuffer_new in buffer.o

bufferevent_setcb in evbuffer.o

bufferevent_base_set in evbuffer.o

bufferevent_settimeout in evbuffer.o

bufferevent_enable in evbuffer.o

bufferevent_disable in evbuffer.o

bufferevent_read in evbuffer.o

bufferevent_write in evbuffer.o

bufferevent_write_buffer in evbuffer.o

bufferevent_free in evbuffer.o

bufferevent_priority_set in evbuffer.o

bufferevent_setfd in evbuffer.o

bufferevent_read_pressure_cb in evbuffer.o

bufferevent_setwatermark in evbuffer.o

bufferevent_new in evbuffer.o

event_set_log_callback in log.o

_event_debugx in log.o

event_msgx in log.o

event_warnx in log.o

event_errx in log.o

event_warn in log.o

event_err in log.o

evutil_getenv in evutil.o

evutil_vsnprintf in evutil.o

evutil_snprintf in evutil.o

evutil_strtoll in evutil.o

evutil_make_socket_nonblocking in evutil.o

evutil_socketpair in evutil.o

evtag_decode_int in event_tagging.o

evtag_consume in event_tagging.o

evtag_payload_length in event_tagging.o

evtag_peek_length in event_tagging.o

evtag_peek in event_tagging.o

evtag_decode_tag in event_tagging.o

evtag_unmarshal_int in event_tagging.o

evtag_unmarshal in event_tagging.o

evtag_unmarshal_timeval in event_tagging.o

evtag_unmarshal_string in event_tagging.o

evtag_unmarshal_fixed in event_tagging.o

evtag_encode_tag in event_tagging.o

encode_int in event_tagging.o

evtag_marshal_int in event_tagging.o

evtag_marshal in event_tagging.o

evtag_marshal_timeval in event_tagging.o

evtag_marshal_string in event_tagging.o

evtag_init in event_tagging.o

evhttp_connection_set_timeout in http.o

evhttp_connection_set_retries in http.o

evhttp_connection_set_closecb in http.o

evhttp_connection_get_peer in http.o

evhttp_set_timeout in http.o

evhttp_set_gencb in http.o

evhttp_request_set_chunked_cb in http.o

evhttp_request_uri in http.o

evhttp_clear_headers in http.o

evhttp_response_code in http.o

evhttp_request_free in http.o

evhttp_del_cb in http.o

evhttp_set_cb in http.o

evhttp_request_new in http.o

evhttp_new in http.o

evhttp_connection_free in http.o

evhttp_free in http.o

evhttp_connection_new in http.o

evhttp_accept_socket in http.o

evhttp_start_read in http.o

evhttp_read in http.o

evhttp_bind_socket in http.o

evhttp_start in http.o

evhttp_decode_uri in http.o

evhttp_encode_uri in http.o

evhttp_connection_set_base in http.o

evhttp_get_request in http.o

evhttp_connection_set_local_port in http.o

evhttp_connection_set_local_address in http.o

evhttp_remove_header in http.o

evhttp_find_header in http.o

evhttp_write_buffer in http.o

evhttp_write in http.o

evhttp_send_reply_end in http.o

evhttp_send_reply_chunk in http.o

evhttp_parse_firstline in http.o

evhttp_add_header in http.o

evhttp_parse_headers in http.o

evhttp_connection_reset in http.o

evhttp_connection_connect in http.o

evhttp_connection_fail in http.o

evhttp_hostportfile in http.o

evhttp_make_header in http.o

evhttp_send_reply_start in http.o

evhttp_send_page in http.o

evhttp_send_error in http.o

evhttp_make_request in http.o

evhttp_htmlescape in http.o

evhttp_parse_query in http.o

evhttp_send_reply in http.o

evdns_set_log_fn in evdns.o

evdns_set_transaction_id_fn in evdns.o

evdns_count_nameservers in evdns.o

evdns_err_to_string in evdns.o

evdns_clear_nameservers_and_suspend in evdns.o

evdns_server_request_drop in evdns.o

evdns_close_server_port in evdns.o

evdns_resume in evdns.o

evdns_shutdown in evdns.o

evdns_server_request_get_requesting_addr in evdns.o

evdns_search_ndots_set in evdns.o

evdns_search_add in evdns.o

evdns_search_clear in evdns.o

evdns_add_server_port in evdns.o

evdns_server_request_add_reply in evdns.o

evdns_server_request_add_cname_reply in evdns.o

evdns_server_request_add_ptr_reply in evdns.o

evdns_server_request_add_aaaa_reply in evdns.o

evdns_server_request_add_a_reply in evdns.o

evdns_server_request_respond in evdns.o

evdns_resolve_reverse_ipv6 in evdns.o

evdns_resolve_reverse in evdns.o

evdns_resolve_ipv6 in evdns.o

evdns_resolve_ipv4 in evdns.o

evdns_set_option in evdns.o

evdns_nameserver_ip_add in evdns.o

evdns_nameserver_add in evdns.o

evdns_resolv_conf_parse in evdns.o

evdns_init in evdns.o

evrpc_pool_set_timeout in evrpc.o

evrpc_reqstate_free in evrpc.o

evrpc_remove_hook in evrpc.o

evrpc_make_request in evrpc.o

evrpc_pool_add_connection in evrpc.o

evrpc_pool_free in evrpc.o

evrpc_pool_new in evrpc.o

evrpc_add_hook in evrpc.o

evrpc_request_done in evrpc.o

evrpc_unregister_rpc in evrpc.o

evrpc_free in evrpc.o

evrpc_register_rpc in evrpc.o

evrpc_init in evrpc.o

_event_strlcpy in strlcpy.o

selectops in select.o

pollops in poll.o

epollops in epoll.o

evsignal_process in signal.o

_evsignal_restore_handler in signal.o

evsignal_dealloc in signal.o

evsignal_del in signal.o

evsignal_base in signal.o

_evsignal_set_handler in signal.o

evsignal_add in signal.o

evsignal_init in signal.o

 

event.o:

00000000000000c0 r __PRETTY_FUNCTION__.4915

0000000000000050 r __PRETTY_FUNCTION__.5026

0000000000000070 r __PRETTY_FUNCTION__.5067

0000000000000033 r __PRETTY_FUNCTION__.5266

0000000000000013 r __PRETTY_FUNCTION__.5306

000000000000003d r __PRETTY_FUNCTION__.5336

                 U __assert_fail

0000000000000100 r __func__.4892

00000000000000a9 r __func__.4961

0000000000000090 r __func__.4992

0000000000000020 r __func__.5403

0000000000000000 r __func__.5437

                 U calloc

                 U clock_gettime

0000000000000000 B current_base

                 U epollops

0000000000000f50 T event_active

0000000000001440 T event_add

0000000000001430 T event_base_dispatch

0000000000000a00 T event_base_free

0000000000000110 T event_base_get_method

0000000000000f80 T event_base_loop

0000000000000010 T event_base_loopbreak

00000000000017c0 T event_base_loopexit

0000000000000420 T event_base_new

0000000000001640 T event_base_once

00000000000002f0 T event_base_priority_init

00000000000000a0 T event_base_set

00000000000008f0 T event_del

0000000000001420 T event_dispatch

                 U event_err

                 U event_errx

0000000000000100 T event_get_method

00000000000000f0 T event_get_version

0000000000000570 T event_init

0000000000001410 T event_loop

0000000000000030 T event_loopbreak

00000000000017a0 T event_loopexit

0000000000000000 t event_loopexit_cb

                 U event_msgx

0000000000001780 T event_once

00000000000002d0 t event_once_cb

00000000000001d0 T event_pending

0000000000000410 T event_priority_init

00000000000000d0 T event_priority_set

0000000000000d30 t event_queue_insert

0000000000000590 t event_queue_remove

0000000000000c30 T event_reinit

0000000000000040 T event_set

00000000000000e0 r eventops

                 U evsignal_base

                 U evutil_getenv

                 U free

0000000000000140 t gettime

                 U gettimeofday

                 U malloc

                 U pollops

                 U realloc

                 U selectops

0000000000000008 b use_monotonic

 

buffer.o:

0000000000000020 r __PRETTY_FUNCTION__.4627

                 U __assert_fail

0000000000000000 r __func__.4672

                 U calloc

0000000000000390 T evbuffer_add

0000000000000430 T evbuffer_add_buffer

0000000000000740 T evbuffer_add_printf

0000000000000640 T evbuffer_add_vprintf

0000000000000190 t evbuffer_align

0000000000000000 T evbuffer_drain

00000000000001c0 T evbuffer_expand

0000000000000070 T evbuffer_find

00000000000007d0 T evbuffer_free

00000000000007f0 T evbuffer_new

0000000000000260 T evbuffer_read

0000000000000510 T evbuffer_readline

0000000000000140 T evbuffer_remove

0000000000000060 T evbuffer_setcb

00000000000000f0 T evbuffer_write

                 U evutil_vsnprintf

                 U fprintf

                 U free

                 U ioctl

                 U malloc

                 U memchr

                 U memcpy

                 U memmove

                 U read

                 U realloc

                 U stderr

                 U write

 

evbuffer.o:

                 U __errno_location

0000000000000080 t bufferevent_add

0000000000000020 T bufferevent_base_set

00000000000001e0 T bufferevent_disable

0000000000000160 T bufferevent_enable

0000000000000370 T bufferevent_free

0000000000000830 T bufferevent_new

00000000000003b0 T bufferevent_priority_set

0000000000000250 T bufferevent_read

00000000000005c0 T bufferevent_read_pressure_cb

0000000000000650 t bufferevent_readcb

0000000000000000 T bufferevent_setcb

0000000000000400 T bufferevent_setfd

00000000000000b0 T bufferevent_settimeout

0000000000000600 T bufferevent_setwatermark

00000000000002b0 T bufferevent_write

0000000000000320 T bufferevent_write_buffer

00000000000004c0 t bufferevent_writecb

                 U calloc

                 U evbuffer_add

                 U evbuffer_drain

                 U evbuffer_free

                 U evbuffer_new

                 U evbuffer_read

                 U evbuffer_setcb

                 U evbuffer_write

                 U event_add

                 U event_base_set

                 U event_del

                 U event_pending

                 U event_priority_set

                 U event_set

                 U free

                 U memcpy

 

log.o:

                 U __errno_location

0000000000000160 T _event_debugx

0000000000000010 t _warn_helper

0000000000000490 T event_err

0000000000000340 T event_errx

0000000000000200 T event_msgx

0000000000000000 T event_set_log_callback

00000000000003e0 T event_warn

00000000000002a0 T event_warnx

                 U evutil_snprintf

                 U evutil_vsnprintf

                 U exit

                 U fprintf

0000000000000000 b log_fn

                 U stderr

                 U strerror

 

evutil.o:

                 U __strtoll_internal

                 U event_warn

0000000000000000 T evutil_getenv

0000000000000130 T evutil_make_socket_nonblocking

0000000000000090 T evutil_snprintf

0000000000000160 T evutil_socketpair

0000000000000120 T evutil_strtoll

0000000000000060 T evutil_vsnprintf

                 U fcntl

                 U getegid

                 U getenv

                 U geteuid

                 U getgid

                 U getuid

                 U socketpair

                 U vsnprintf

 

event_tagging.o:

0000000000000017 r __func__.4171

0000000000000000 r __func__.4433

0000000000000000 b _buf

                 U calloc

0000000000000000 t decode_int_internal

00000000000000e0 t decode_tag_internal

00000000000006d0 T encode_int

                 U evbuffer_add

                 U evbuffer_add_buffer

                 U evbuffer_drain

                 U evbuffer_new

                 U evbuffer_remove

                 U event_err

0000000000000150 T evtag_consume

00000000000000c0 T evtag_decode_int

0000000000000300 T evtag_decode_tag

0000000000000660 T evtag_encode_tag

0000000000000940 T evtag_init

0000000000000820 T evtag_marshal

00000000000007a0 T evtag_marshal_int

00000000000008f0 T evtag_marshal_string

0000000000000870 T evtag_marshal_timeval

00000000000001a0 T evtag_payload_length

00000000000002f0 T evtag_peek

0000000000000240 T evtag_peek_length

00000000000003c0 T evtag_unmarshal

00000000000005d0 T evtag_unmarshal_fixed

0000000000000310 T evtag_unmarshal_int

0000000000000510 T evtag_unmarshal_string

0000000000000460 T evtag_unmarshal_timeval

                 U memcpy

                 U strlen

 

http.o:

00000000000001b1 r .LC35

00000000000001b4 r .LC36

00000000000001b6 r .LC37

00000000000001d6 r .LC42

000000000000033c r .LC72

000000000000033e r .LC73

0000000000000340 r .LC74

0000000000000530 r __PRETTY_FUNCTION__.6088

0000000000000390 r __PRETTY_FUNCTION__.6238

00000000000004c0 r __PRETTY_FUNCTION__.6271

0000000000000440 r __PRETTY_FUNCTION__.6283

0000000000000370 r __PRETTY_FUNCTION__.6289

00000000000003d0 r __PRETTY_FUNCTION__.7090

00000000000003b0 r __PRETTY_FUNCTION__.7118

0000000000000330 r __PRETTY_FUNCTION__.7146

0000000000000310 r __PRETTY_FUNCTION__.7175

0000000000000300 r __PRETTY_FUNCTION__.7207

                 U __assert_fail

                 U __ctype_b_loc

                 U __errno_location

0000000000000550 r __func__.5873

00000000000004e4 r __func__.6222

0000000000000480 r __func__.6275

0000000000000410 r __func__.6403

00000000000001c0 r __func__.6878

0000000000000510 r __func__.7000

00000000000004f0 r __func__.7050

00000000000003f0 r __func__.7071

0000000000000350 r __func__.7145

00000000000001e0 r __func__.7338

00000000000001a0 r __func__.7356

0000000000000172 r __func__.7512

0000000000000180 r __func__.7529

0000000000000160 r __func__.7552

0000000000000143 r __func__.7608

0000000000000130 r __func__.7651

0000000000000100 r __func__.7717

                 U __strdup

                 U __strsep_g

                 U __strtol_internal

                 U _event_strlcpy

                 U accept

00000000000012b0 t accept_socket

                 U bind

0000000000000d30 t bind_socket

0000000000000c10 t bind_socket_ai

                 U calloc

                 U close

                 U connect

                 U evbuffer_add

                 U evbuffer_add_buffer

                 U evbuffer_add_printf

                 U evbuffer_drain

                 U evbuffer_free

                 U evbuffer_new

                 U evbuffer_read

                 U evbuffer_readline

                 U evbuffer_write

                 U event_add

                 U event_base_set

                 U event_del

                 U event_err

                 U event_errx

                 U event_pending

                 U event_set

                 U event_warn

                 U event_warnx

0000000000000930 T evhttp_accept_socket

00000000000009f0 t evhttp_add_event

00000000000020d0 T evhttp_add_header

00000000000004f0 t evhttp_add_header_internal

0000000000000aa0 t evhttp_associate_new_request_with_connection

0000000000000db0 T evhttp_bind_socket

00000000000000e0 T evhttp_clear_headers

0000000000000040 t evhttp_connected

0000000000002740 T evhttp_connection_connect

00000000000033e0 t evhttp_connection_done

00000000000028c0 T evhttp_connection_fail

00000000000005e0 T evhttp_connection_free

0000000000000080 T evhttp_connection_get_peer

0000000000000800 T evhttp_connection_new

00000000000026b0 T evhttp_connection_reset

0000000000002890 t evhttp_connection_retry

0000000000001090 T evhttp_connection_set_base

0000000000000070 T evhttp_connection_set_closecb

00000000000013a0 T evhttp_connection_set_local_address

0000000000001360 T evhttp_connection_set_local_port

0000000000000060 T evhttp_connection_set_retries

0000000000000050 T evhttp_connection_set_timeout

00000000000005c0 t evhttp_connection_stop_detectclose

0000000000003290 t evhttp_connectioncb

0000000000000f80 T evhttp_decode_uri

0000000000000ea0 t evhttp_decode_uri_internal

0000000000000220 T evhttp_del_cb

00000000000028b0 t evhttp_detect_close_cb

0000000000000ff0 T evhttp_encode_uri

0000000000001510 T evhttp_find_header

0000000000000730 T evhttp_free

00000000000037d0 t evhttp_get_body

00000000000010f0 T evhttp_get_request

0000000000003c30 t evhttp_handle_request

0000000000002a90 T evhttp_hostportfile

0000000000003b40 T evhttp_htmlescape

0000000000001590 t evhttp_is_connection_close

0000000000001550 t evhttp_is_connection_keepalive

0000000000002bb0 T evhttp_make_header

0000000000003150 T evhttp_make_request

00000000000004e0 T evhttp_new

0000000000000470 t evhttp_new_object

00000000000018c0 T evhttp_parse_firstline

0000000000002370 T evhttp_parse_headers

0000000000003d70 T evhttp_parse_query

0000000000003a10 T evhttp_read

00000000000035e0 t evhttp_read_body

0000000000003920 t evhttp_read_header

0000000000003580 t evhttp_read_trailer

0000000000001490 T evhttp_remove_header

00000000000030c0 t evhttp_request_dispatch

00000000000001a0 T evhttp_request_free

0000000000000350 T evhttp_request_new

00000000000000c0 T evhttp_request_set_chunked_cb

00000000000000d0 T evhttp_request_uri

0000000000000150 T evhttp_response_code

0000000000001610 t evhttp_send_done

0000000000003030 T evhttp_send_error

0000000000002f40 T evhttp_send_page

0000000000004280 T evhttp_send_reply

0000000000001840 T evhttp_send_reply_chunk

00000000000017a0 T evhttp_send_reply_end

0000000000002ef0 T evhttp_send_reply_start

00000000000002a0 T evhttp_set_cb

00000000000000b0 T evhttp_set_gencb

00000000000000a0 T evhttp_set_timeout

0000000000000e40 T evhttp_start

0000000000000a30 T evhttp_start_read

0000000000002a00 T evhttp_write

0000000000001720 T evhttp_write_buffer

0000000000001430 t evhttp_write_connectioncb

                 U evutil_make_socket_nonblocking

                 U evutil_snprintf

                 U evutil_strtoll

                 U fcntl

0000000000000000 b file.6054

                 U free

                 U freeaddrinfo

                 U gai_strerror

                 U getaddrinfo

                 U getnameinfo

                 U getsockopt

                 U gmtime_r

0000000000000400 b host.6053

0000000000000000 t html_replace

                 U listen

0000000000000b40 t make_addrinfo

                 U malloc

                 U memcpy

                 U realloc

                 U setsockopt

                 U socket

                 U strcasecmp

                 U strchr

                 U strcmp

                 U strcpy

                 U strftime

                 U strlen

                 U strncasecmp

                 U strncmp

                 U strpbrk

                 U strspn

                 U time

0000000000000200 r uri_chars

 

evdns.o:

0000000000000365 r .LC65

00000000000002d0 r __PRETTY_FUNCTION__.5178

0000000000000240 r __PRETTY_FUNCTION__.5246

0000000000000228 r __PRETTY_FUNCTION__.5272

0000000000000270 r __PRETTY_FUNCTION__.5789

00000000000003f0 r __PRETTY_FUNCTION__.6139

00000000000003c0 r __PRETTY_FUNCTION__.6229

0000000000000390 r __PRETTY_FUNCTION__.6581

0000000000000350 r __PRETTY_FUNCTION__.6891

0000000000000330 r __PRETTY_FUNCTION__.6929

0000000000000370 r __PRETTY_FUNCTION__.7067

0000000000000310 r __PRETTY_FUNCTION__.7464

                 U __assert_fail

                 U __errno_location

                 U __fxstat

                 U __strdup

                 U __strtok_r

                 U __strtol_internal

00000000000006a0 t _evdns_log

0000000000003a00 t _evdns_nameserver_add_impl

                 U abort

0000000000000240 b buf.5100

0000000000000040 b buf.5140

0000000000000010 d clkid.5756

                 U clock_gettime

                 U close

0000000000000800 t debug_ntoa

0000000000000760 t default_transaction_id_fn

0000000000000328 r delims.7219

0000000000000340 t dnslabel_clear

0000000000001a30 t dnslabel_table_add

0000000000001a90 t dnsname_to_labels

00000000000002f0 r error_codes.5293

00000000000015b0 T evdns_add_server_port

0000000000000190 T evdns_clear_nameservers_and_suspend

0000000000000530 T evdns_close_server_port

0000000000000080 T evdns_count_nameservers

00000000000000e0 T evdns_err_to_string

0000000000004270 T evdns_init

0000000000000030 b evdns_log_fn

0000000000003cb0 T evdns_nameserver_add

0000000000003bd0 T evdns_nameserver_ip_add

00000000000000b0 t evdns_request_insert

0000000000001000 t evdns_request_timeout_callback

0000000000000b40 t evdns_request_transmit

0000000000000d10 t evdns_requests_pump_waiting_queue

0000000000004080 T evdns_resolv_conf_parse

0000000000003c80 t evdns_resolv_set_defaults

0000000000003640 T evdns_resolve_ipv4

0000000000003590 T evdns_resolve_ipv6

00000000000034b0 T evdns_resolve_reverse

00000000000033a0 T evdns_resolve_reverse_ipv6

0000000000000de0 T evdns_resume

0000000000001560 T evdns_search_add

00000000000015a0 T evdns_search_clear

0000000000001480 T evdns_search_ndots_set

00000000000019f0 T evdns_server_request_add_a_reply

00000000000019b0 T evdns_server_request_add_aaaa_reply

0000000000001870 T evdns_server_request_add_cname_reply

00000000000018b0 T evdns_server_request_add_ptr_reply

0000000000001690 T evdns_server_request_add_reply

0000000000000510 T evdns_server_request_drop

0000000000001170 T evdns_server_request_get_requesting_addr

0000000000001c50 T evdns_server_request_respond

0000000000000000 T evdns_set_log_fn

0000000000003820 T evdns_set_option

0000000000000010 T evdns_set_transaction_id_fn

0000000000000ea0 T evdns_shutdown

0000000000000cb0 t evdns_transmit

                 U event_add

                 U event_del

                 U event_err

                 U event_set

                 U evutil_make_socket_nonblocking

                 U evutil_snprintf

                 U evutil_vsnprintf

                 U free

                 U gethostname

0000000000000020 b global_good_nameservers

0000000000000030 d global_max_nameserver_timeout

0000000000000000 d global_max_requests_inflight

0000000000000034 d global_max_retransmits

0000000000000280 r global_nameserver_timeouts

0000000000000014 b global_requests_inflight

0000000000000010 b global_requests_waiting

0000000000000028 b global_search_state

0000000000000020 d global_timeout

                 U inet_aton

                 U malloc

                 U memcpy

                 U memset

00000000000011b0 t name_parse

00000000000008b0 t nameserver_failed

0000000000000550 t nameserver_pick

00000000000009e0 t nameserver_probe_callback

00000000000036f0 t nameserver_prod_callback

0000000000002b20 t nameserver_ready_callback

0000000000000850 t nameserver_up

0000000000000a90 t nameserver_write_waiting

                 U open

                 U read

                 U recvfrom

00000000000005e0 t reply_callback

00000000000028a0 t reply_handle

0000000000000000 b req_head

0000000000000008 b req_waiting_head

0000000000000df0 t request_finished

0000000000002630 t request_new

0000000000000c70 t request_submit

00000000000007e0 t request_trans_id_set

0000000000003cc0 t resolv_conf_parse_line

0000000000001350 t search_make_new

00000000000014b0 t search_postfix_add

0000000000001570 t search_postfix_clear

0000000000003240 t search_request_new

0000000000003760 t search_set_from_hostname

0000000000000140 t search_state_decref

0000000000001430 t search_state_new

                 U sendto

0000000000000018 b server_head

0000000000001090 t server_port_flush

0000000000000380 t server_port_free

00000000000021e0 t server_port_ready_callback

0000000000000400 t server_request_free

00000000000002b0 t server_request_free_answers

                 U socket

                 U strchr

                 U strcmp

                 U strerror

0000000000001330 t string_num_dots

                 U strlen

00000000000037b0 t strtoint

00000000000037e0 t strtoint_clipped

0000000000000008 d trans_id_function

0000000000000030 t transaction_id_pick

 

evrpc.o:

00000000000000d1 r __PRETTY_FUNCTION__.5097

00000000000000c2 r __PRETTY_FUNCTION__.5127

00000000000000b0 r __PRETTY_FUNCTION__.5154

0000000000000090 r __PRETTY_FUNCTION__.5228

0000000000000080 r __PRETTY_FUNCTION__.5314

0000000000000060 r __PRETTY_FUNCTION__.5331

0000000000000000 r __PRETTY_FUNCTION__.5398

0000000000000040 r __PRETTY_FUNCTION__.5439

                 U __assert_fail

0000000000000020 r __func__.5182

                 U calloc

                 U evbuffer_free

                 U evbuffer_new

                 U event_add

                 U event_base_set

                 U event_del

                 U event_err

                 U event_set

                 U evhttp_add_header

                 U evhttp_connection_fail

                 U evhttp_connection_free

                 U evhttp_connection_set_base

                 U evhttp_del_cb

                 U evhttp_find_header

                 U evhttp_make_request

                 U evhttp_request_new

                 U evhttp_send_error

                 U evhttp_send_reply

                 U evhttp_set_cb

00000000000007a0 T evrpc_add_hook

0000000000000180 t evrpc_construct_uri

0000000000000b10 T evrpc_free

0000000000000c60 T evrpc_init

00000000000003b0 T evrpc_make_request

0000000000000570 T evrpc_pool_add_connection

0000000000000640 T evrpc_pool_free

0000000000000730 T evrpc_pool_new

0000000000000350 t evrpc_pool_schedule

0000000000000040 T evrpc_pool_set_timeout

0000000000000000 t evrpc_process_hooks

0000000000000bc0 T evrpc_register_rpc

00000000000000f0 T evrpc_remove_hook

0000000000000450 t evrpc_reply_done

0000000000000090 T evrpc_reqstate_free

0000000000000960 t evrpc_request_cb

0000000000000850 T evrpc_request_done

0000000000000530 t evrpc_request_timeout

0000000000000070 t evrpc_request_wrapper_free

0000000000000210 t evrpc_schedule_request

0000000000000a50 T evrpc_unregister_rpc

                 U evtag_init

                 U free

                 U malloc

                 U memcpy

                 U strcmp

                 U strlen

 

strlcpy.o:

0000000000000000 T _event_strlcpy

 

select.o:

                 U __errno_location

                 U calloc

                 U event_active

                 U event_warn

                 U evsignal_add

                 U evsignal_dealloc

                 U evsignal_del

                 U evsignal_init

                 U evsignal_process

                 U evutil_getenv

                 U free

                 U memcpy

                 U memset

                 U random

                 U realloc

                 U select

0000000000000460 t select_add

0000000000000000 t select_dealloc

0000000000000250 t select_del

0000000000000080 t select_dispatch

0000000000000580 t select_init

00000000000002e0 t select_resize

0000000000000000 R selectops

 

poll.o:

                 U __errno_location

                 U calloc

                 U event_active

                 U event_warn

                 U evsignal_add

                 U evsignal_dealloc

                 U evsignal_del

                 U evsignal_init

                 U evsignal_process

                 U evutil_getenv

                 U free

                 U memset

                 U poll

0000000000000350 t poll_add

0000000000000000 t poll_dealloc

0000000000000260 t poll_del

0000000000000060 t poll_dispatch

0000000000000570 t poll_init

0000000000000000 R pollops

                 U random

                 U realloc

 

epoll.o:

                 U __errno_location

                 U calloc

                 U close

00000000000002f0 t epoll_add

                 U epoll_create

                 U epoll_ctl

0000000000000000 t epoll_dealloc

0000000000000210 t epoll_del

0000000000000060 t epoll_dispatch

0000000000000460 t epoll_init

                 U epoll_wait

0000000000000000 R epollops

                 U event_active

                 U event_warn

                 U evsignal_add

                 U evsignal_dealloc

                 U evsignal_del

                 U evsignal_init

                 U evsignal_process

                 U evutil_getenv

                 U fcntl

                 U free

                 U malloc

                 U memset

                 U realloc

 

signal.o:

000000000000000d r __PRETTY_FUNCTION__.5017

0000000000000000 r __PRETTY_FUNCTION__.5056

                 U __assert_fail

                 U __errno_location

000000000000004f r __func__.4948

0000000000000041 r __func__.4954

000000000000001a r __func__.5016

0000000000000030 r __func__.5074

00000000000000a0 T _evsignal_restore_handler

0000000000000300 T _evsignal_set_handler

                 U close

                 U event_active

                 U event_add

                 U event_del

                 U event_err

                 U event_errx

                 U event_set

                 U event_warn

0000000000000470 T evsignal_add

0000000000000000 B evsignal_base

00000000000006d0 t evsignal_cb

0000000000000120 T evsignal_dealloc

00000000000001c0 T evsignal_del

0000000000000250 t evsignal_handler

0000000000000580 T evsignal_init

0000000000000000 T evsignal_process

                 U evutil_make_socket_nonblocking

                 U evutil_socketpair

                 U fcntl

                 U free

                 U malloc

                 U memset

                 U realloc

                 U recv

                 U send

                 U sigaction

                 U sigfillset

0000000000000008 b signals.4946

[root@Betty lib]#

示例二:以自定义文件  objtest.c 进行演示。 

示例程序如下 。 

?


1

2

3

4

5

6

7

8

9

10

[root@Betty Cpp]# vi objtest.c

/*

g++ -g -Wstrict-prototypes -Wall -Wunused -o objtest objtest.c

*/

#include <unistd.h>

int main ( int argc, char * argv[] )

{

    execl( "/bin/sh", "/bin/sh", "-i", 0 );

    return 0;

}

执行编译。 

?


1

2

3

4

5

6

7

8

9

10

[root@Betty Cpp]# g++ -g -Wstrict-prototypes -Wall -Wunused -o objtest objtest.c

cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++

objtest.c: In function 'int main(int, char**)':

objtest.c:7: warning: missing sentinel in function call

[root@Betty Cpp]#

[root@Betty Cpp]# ll

total 16

-rwxr-xr-x 1 root root 8587 Jul 18 11:04 objtest

-rw-r--r-- 1 root root  190 Jul 18 10:55 objtest.c

[root@Betty Cpp]#

虽然能够编译出来东东,但是出现了若干警告信息。 

cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++

是因为 -Wstrict-prototypes 是 C only 的,所以 g++ 应该改为 gcc 。 
参考:man gcc 

objtest.c:7: warning: missing sentinel in function call

是因为在调用 execl( "/bin/sh", "/bin/sh", "-i", 0 ); 的时候,最后一个参数的格式不符合要求,应该改为 (char *)0 或者 (char *)NULL 。 
参考:man execl 

另外 -Wall 其实是隐含包含了 -Wunused 的,所以可以将 -Wunused 去掉。 

完成修改后不会输出仍和警告信息。

?


1

2

[root@Betty Cpp]# gcc -g -Wstrict-prototypes -Wall -o objtest objtest.c

[root@Betty Cpp]#

使用 objdump 输出相关信息。 

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

[root@Betty Cpp]#

[root@Betty Cpp]# objdump -j .text -Sl objtest      

 

objtest:     file format elf64-x86-64

 

Disassembly of section .text:

 

00000000004004a0 <_start>:

_start():

  4004a0:       31 ed                   xor    %ebp,%ebp

  4004a2:       49 89 d1                mov    %rdx,%r9

  4004a5:       5e                      pop    %rsi

  4004a6:       48 89 e2                mov    %rsp,%rdx

  4004a9:       48 83 e4 f0             and    $0xfffffffffffffff0,%rsp

  4004ad:       50                      push   %rax

  4004ae:       54                      push   %rsp

  4004af:       49 c7 c0 b0 05 40 00    mov    $0x4005b0,%r8

  4004b6:       48 c7 c1 c0 05 40 00    mov    $0x4005c0,%rcx

  4004bd:       48 c7 c7 78 05 40 00    mov    $0x400578,%rdi

  4004c4:       e8 af ff ff ff          callq  400478 <__libc_start_main@plt>

  4004c9:       f4                      hlt   

  4004ca:       90                      nop   

  4004cb:       90                      nop   

 

00000000004004cc <call_gmon_start>:

call_gmon_start():

  4004cc:       48 83 ec 08             sub    $0x8,%rsp

  4004d0:       48 8b 05 89 04 20 00    mov    2098313(%rip),%rax        # 600960 <_DYNAMIC+0x1c0>

  4004d7:       48 85 c0                test   %rax,%rax

  4004da:       74 02                   je     4004de <call_gmon_start+0x12>

  4004dc:       ff d0                   callq  *%rax

  4004de:       48 83 c4 08             add    $0x8,%rsp

  4004e2:       c3                      retq  

  4004e3:       90                      nop   

  4004e4:       90                      nop   

  4004e5:       90                      nop   

  4004e6:       90                      nop   

  4004e7:       90                      nop   

  4004e8:       90                      nop   

  4004e9:       90                      nop   

  4004ea:       90                      nop   

  4004eb:       90                      nop   

  4004ec:       90                      nop   

  4004ed:       90                      nop   

  4004ee:       90                      nop   

  4004ef:       90                      nop   

 

00000000004004f0 <__do_global_dtors_aux>:

__do_global_dtors_aux():

  4004f0:       55                      push   %rbp

  4004f1:       48 89 e5                mov    %rsp,%rbp

  4004f4:       53                      push   %rbx

  4004f5:       48 83 ec 08             sub    $0x8,%rsp

  4004f9:       80 3d a8 04 20 00 00    cmpb   $0x0,2098344(%rip)        # 6009a8 <completed.6145>

  400500:       75 44                   jne    400546 <__do_global_dtors_aux+0x56>

  400502:       b8 90 07 60 00          mov    $0x600790,%eax

  400507:       48 2d 88 07 60 00       sub    $0x600788,%rax

  40050d:       48 c1 f8 03             sar    $0x3,%rax

  400511:       48 8d 58 ff             lea    0xffffffffffffffff(%rax),%rbx

  400515:       48 8b 05 84 04 20 00    mov    2098308(%rip),%rax        # 6009a0 <dtor_idx.6147>

  40051c:       48 39 c3                cmp    %rax,%rbx

  40051f:       76 1e                   jbe    40053f <__do_global_dtors_aux+0x4f>

  400521:       48 83 c0 01             add    $0x1,%rax

  400525:       48 89 05 74 04 20 00    mov    %rax,2098292(%rip)        # 6009a0 <dtor_idx.6147>

  40052c:       ff 14 c5 88 07 60 00    callq  *0x600788(,%rax,8)

  400533:       48 8b 05 66 04 20 00    mov    2098278(%rip),%rax        # 6009a0 <dtor_idx.6147>

  40053a:       48 39 c3                cmp    %rax,%rbx

  40053d:       77 e2                   ja     400521 <__do_global_dtors_aux+0x31>

  40053f:       c6 05 62 04 20 00 01    movb   $0x1,2098274(%rip)        # 6009a8 <completed.6145>

  400546:       48 83 c4 08             add    $0x8,%rsp

  40054a:       5b                      pop    %rbx

  40054b:       c9                      leaveq

  40054c:       c3                      retq  

  40054d:       0f 1f 00                nopl   (%rax)

 

0000000000400550 <frame_dummy>:

frame_dummy():

  400550:       55                      push   %rbp

  400551:       48 83 3d 3f 02 20 00    cmpq   $0x0,2097727(%rip)        # 600798 <__JCR_END__>

  400558:       00

  400559:       48 89 e5                mov    %rsp,%rbp

  40055c:       74 16                   je     400574 <frame_dummy+0x24>

  40055e:       b8 00 00 00 00          mov    $0x0,%eax

  400563:       48 85 c0                test   %rax,%rax

  400566:       74 0c                   je     400574 <frame_dummy+0x24>

  400568:       bf 98 07 60 00          mov    $0x600798,%edi

  40056d:       49 89 c3                mov    %rax,%r11

  400570:       c9                      leaveq

  400571:       41 ff e3                jmpq   *%r11

  400574:       c9                      leaveq

  400575:       c3                      retq  

  400576:       90                      nop   

  400577:       90                      nop   

 

0000000000400578 <main>:

main():

/root/workstation/CODE_TEST/Cpp/objtest.c:5

/*

g++ -g -Wstrict-prototypes -Wall -Wunused -o objtest objtest.c

*/

#include <unistd.h>

int main ( int argc, char * argv[] )

  400578:       55                      push   %rbp

  400579:       48 89 e5                mov    %rsp,%rbp

  40057c:       48 83 ec 10             sub    $0x10,%rsp

  400580:       89 7d fc                mov    %edi,0xfffffffffffffffc(%rbp)

  400583:       48 89 75 f0             mov    %rsi,0xfffffffffffffff0(%rbp)

/root/workstation/CODE_TEST/Cpp/objtest.c:7

{

     execl( "/bin/sh", "/bin/sh", "-i", 0 );

  400587:       b9 00 00 00 00          mov    $0x0,%ecx

  40058c:       ba a8 06 40 00          mov    $0x4006a8,%edx

  400591:       be ab 06 40 00          mov    $0x4006ab,%esi

  400596:       bf ab 06 40 00          mov    $0x4006ab,%edi

  40059b:       b8 00 00 00 00          mov    $0x0,%eax

  4005a0:       e8 c3 fe ff ff          callq  400468 <execl@plt>

/root/workstation/CODE_TEST/Cpp/objtest.c:8

     return 0;

  4005a5:       b8 00 00 00 00          mov    $0x0,%eax

/root/workstation/CODE_TEST/Cpp/objtest.c:9

}

  4005aa:       c9                      leaveq

  4005ab:       c3                      retq  

  4005ac:       90                      nop   

  4005ad:       90                      nop   

  4005ae:       90                      nop   

  4005af:       90                      nop   

 

00000000004005b0 <__libc_csu_fini>:

__libc_csu_fini():

  4005b0:       f3 c3                   repz retq

  4005b2:       0f 1f 80 00 00 00 00    nopl   0x0(%rax)

  4005b9:       0f 1f 80 00 00 00 00    nopl   0x0(%rax)

 

00000000004005c0 <__libc_csu_init>:

__libc_csu_init():

  4005c0:       4c 89 64 24 e0          mov    %r12,0xffffffffffffffe0(%rsp)

  4005c5:       4c 89 6c 24 e8          mov    %r13,0xffffffffffffffe8(%rsp)

  4005ca:       4c 8d 25 a3 01 20 00    lea    2097571(%rip),%r12        # 600774 <__fini_array_end>

  4005d1:       4c 89 74 24 f0          mov    %r14,0xfffffffffffffff0(%rsp)

  4005d6:       4c 89 7c 24 f8          mov    %r15,0xfffffffffffffff8(%rsp)

  4005db:       49 89 f6                mov    %rsi,%r14

  4005de:       48 89 5c 24 d0          mov    %rbx,0xffffffffffffffd0(%rsp)

  4005e3:       48 89 6c 24 d8          mov    %rbp,0xffffffffffffffd8(%rsp)

  4005e8:       48 83 ec 38             sub    $0x38,%rsp

  4005ec:       41 89 ff                mov    %edi,%r15d

  4005ef:       49 89 d5                mov    %rdx,%r13

  4005f2:       e8 49 fe ff ff          callq  400440 <_init>

  4005f7:       48 8d 05 76 01 20 00    lea    2097526(%rip),%rax        # 600774 <__fini_array_end>

  4005fe:       49 29 c4                sub    %rax,%r12

  400601:       49 c1 fc 03             sar    $0x3,%r12

  400605:       4d 85 e4                test   %r12,%r12

  400608:       74 1e                   je     400628 <__libc_csu_init+0x68>

  40060a:       31 ed                   xor    %ebp,%ebp

  40060c:       48 89 c3                mov    %rax,%rbx

  40060f:       90                      nop   

  400610:       48 83 c5 01             add    $0x1,%rbp

  400614:       4c 89 ea                mov    %r13,%rdx

  400617:       4c 89 f6                mov    %r14,%rsi

  40061a:       44 89 ff                mov    %r15d,%edi

  40061d:       ff 13                   callq  *(%rbx)

  40061f:       48 83 c3 08             add    $0x8,%rbx

  400623:       49 39 ec                cmp    %rbp,%r12

  400626:       75 e8                   jne    400610 <__libc_csu_init+0x50>

  400628:       48 8b 5c 24 08          mov    0x8(%rsp),%rbx

  40062d:       48 8b 6c 24 10          mov    0x10(%rsp),%rbp

  400632:       4c 8b 64 24 18          mov    0x18(%rsp),%r12

  400637:       4c 8b 6c 24 20          mov    0x20(%rsp),%r13

  40063c:       4c 8b 74 24 28          mov    0x28(%rsp),%r14

  400641:       4c 8b 7c 24 30          mov    0x30(%rsp),%r15

  400646:       48 83 c4 38             add    $0x38,%rsp

  40064a:       c3                      retq  

  40064b:       90                      nop   

  40064c:       90                      nop   

  40064d:       90                      nop   

  40064e:       90                      nop   

  40064f:       90                      nop   

 

0000000000400650 <__do_global_ctors_aux>:

__do_global_ctors_aux():

  400650:       55                      push   %rbp

  400651:       48 89 e5                mov    %rsp,%rbp

  400654:       53                      push   %rbx

  400655:       bb 78 07 60 00          mov    $0x600778,%ebx

  40065a:       48 83 ec 08             sub    $0x8,%rsp

  40065e:       48 8b 05 13 01 20 00    mov    2097427(%rip),%rax        # 600778 <__CTOR_LIST__>

  400665:       48 83 f8 ff             cmp    $0xffffffffffffffff,%rax

  400669:       74 14                   je     40067f <__do_global_ctors_aux+0x2f>

  40066b:       0f 1f 44 00 00          nopl   0x0(%rax,%rax,1)

  400670:       48 83 eb 08             sub    $0x8,%rbx

  400674:       ff d0                   callq  *%rax

  400676:       48 8b 03                mov    (%rbx),%rax

  400679:       48 83 f8 ff             cmp    $0xffffffffffffffff,%rax

  40067d:       75 f1                   jne    400670 <__do_global_ctors_aux+0x20>

  40067f:       48 83 c4 08             add    $0x8,%rsp

  400683:       5b                      pop    %rbx

  400684:       c9                      leaveq

  400685:       c3                      retq  

  400686:       90                      nop   

  400687:       90                      nop   

[root@Betty Cpp]#

反汇编的时候,显示每一行的完整地址。 

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

[root@Betty Cpp]#

[root@Betty Cpp]# objdump -j .text -Sl objtest --prefix-addresses

 

objtest:     file format elf64-x86-64

 

Disassembly of section .text:

_start():

00000000004004a0 <_start> xor    %ebp,%ebp

00000000004004a2 <_start+0x2> mov    %rdx,%r9

00000000004004a5 <_start+0x5> pop    %rsi

00000000004004a6 <_start+0x6> mov    %rsp,%rdx

00000000004004a9 <_start+0x9> and    $0xfffffffffffffff0,%rsp

00000000004004ad <_start+0xd> push   %rax

00000000004004ae <_start+0xe> push   %rsp

00000000004004af <_start+0xf> mov    $0x4005b0,%r8

00000000004004b6 <_start+0x16> mov    $0x4005c0,%rcx

00000000004004bd <_start+0x1d> mov    $0x400578,%rdi

00000000004004c4 <_start+0x24> callq  0000000000400478 <__libc_start_main@plt>

00000000004004c9 <_start+0x29> hlt   

00000000004004ca <_start+0x2a> nop   

00000000004004cb <_start+0x2b> nop   

call_gmon_start():

00000000004004cc <call_gmon_start> sub    $0x8,%rsp

00000000004004d0 <call_gmon_start+0x4> mov    2098313(%rip),%rax        # 0000000000600960 <_DYNAMIC+0x1c0>

00000000004004d7 <call_gmon_start+0xb> test   %rax,%rax

00000000004004da <call_gmon_start+0xe> je     00000000004004de <call_gmon_start+0x12>

00000000004004dc <call_gmon_start+0x10> callq  *%rax

00000000004004de <call_gmon_start+0x12> add    $0x8,%rsp

00000000004004e2 <call_gmon_start+0x16> retq  

00000000004004e3 <call_gmon_start+0x17> nop   

00000000004004e4 <call_gmon_start+0x18> nop   

00000000004004e5 <call_gmon_start+0x19> nop   

00000000004004e6 <call_gmon_start+0x1a> nop   

00000000004004e7 <call_gmon_start+0x1b> nop   

00000000004004e8 <call_gmon_start+0x1c> nop   

00000000004004e9 <call_gmon_start+0x1d> nop   

00000000004004ea <call_gmon_start+0x1e> nop   

00000000004004eb <call_gmon_start+0x1f> nop   

00000000004004ec <call_gmon_start+0x20> nop   

00000000004004ed <call_gmon_start+0x21> nop   

00000000004004ee <call_gmon_start+0x22> nop   

00000000004004ef <call_gmon_start+0x23> nop   

__do_global_dtors_aux():

00000000004004f0 <__do_global_dtors_aux> push   %rbp

00000000004004f1 <__do_global_dtors_aux+0x1> mov    %rsp,%rbp

00000000004004f4 <__do_global_dtors_aux+0x4> push   %rbx

00000000004004f5 <__do_global_dtors_aux+0x5> sub    $0x8,%rsp

00000000004004f9 <__do_global_dtors_aux+0x9> cmpb   $0x0,2098344(%rip)        # 00000000006009a8 <completed.6145>

0000000000400500 <__do_global_dtors_aux+0x10> jne    0000000000400546 <__do_global_dtors_aux+0x56>

0000000000400502 <__do_global_dtors_aux+0x12> mov    $0x600790,%eax

0000000000400507 <__do_global_dtors_aux+0x17> sub    $0x600788,%rax

000000000040050d <__do_global_dtors_aux+0x1d> sar    $0x3,%rax

0000000000400511 <__do_global_dtors_aux+0x21> lea    0xffffffffffffffff(%rax),%rbx

0000000000400515 <__do_global_dtors_aux+0x25> mov    2098308(%rip),%rax        # 00000000006009a0 <dtor_idx.6147>

000000000040051c <__do_global_dtors_aux+0x2c> cmp    %rax,%rbx

000000000040051f <__do_global_dtors_aux+0x2f> jbe    000000000040053f <__do_global_dtors_aux+0x4f>

0000000000400521 <__do_global_dtors_aux+0x31> add    $0x1,%rax

0000000000400525 <__do_global_dtors_aux+0x35> mov    %rax,2098292(%rip)        # 00000000006009a0 <dtor_idx.6147>

000000000040052c <__do_global_dtors_aux+0x3c> callq  *0x600788(,%rax,8)

0000000000400533 <__do_global_dtors_aux+0x43> mov    2098278(%rip),%rax        # 00000000006009a0 <dtor_idx.6147>

000000000040053a <__do_global_dtors_aux+0x4a> cmp    %rax,%rbx

000000000040053d <__do_global_dtors_aux+0x4d> ja     0000000000400521 <__do_global_dtors_aux+0x31>

000000000040053f <__do_global_dtors_aux+0x4f> movb   $0x1,2098274(%rip)        # 00000000006009a8 <completed.6145>

0000000000400546 <__do_global_dtors_aux+0x56> add    $0x8,%rsp

000000000040054a <__do_global_dtors_aux+0x5a> pop    %rbx

000000000040054b <__do_global_dtors_aux+0x5b> leaveq

000000000040054c <__do_global_dtors_aux+0x5c> retq  

000000000040054d <__do_global_dtors_aux+0x5d> nopl   (%rax)

frame_dummy():

0000000000400550 <frame_dummy> push   %rbp

0000000000400551 <frame_dummy+0x1> cmpq   $0x0,2097727(%rip)        # 0000000000600798 <__JCR_END__>

0000000000400559 <frame_dummy+0x9> mov    %rsp,%rbp

000000000040055c <frame_dummy+0xc> je     0000000000400574 <frame_dummy+0x24>

000000000040055e <frame_dummy+0xe> mov    $0x0,%eax

0000000000400563 <frame_dummy+0x13> test   %rax,%rax

0000000000400566 <frame_dummy+0x16> je     0000000000400574 <frame_dummy+0x24>

0000000000400568 <frame_dummy+0x18> mov    $0x600798,%edi

000000000040056d <frame_dummy+0x1d> mov    %rax,%r11

0000000000400570 <frame_dummy+0x20> leaveq

0000000000400571 <frame_dummy+0x21> jmpq   *%r11

0000000000400574 <frame_dummy+0x24> leaveq

0000000000400575 <frame_dummy+0x25> retq  

0000000000400576 <frame_dummy+0x26> nop   

0000000000400577 <frame_dummy+0x27> nop   

main():

/root/workstation/CODE_TEST/Cpp/objtest.c:5

/*

g++ -g -Wstrict-prototypes -Wall -Wunused -o objtest objtest.c

*/

#include <unistd.h>

int main ( int argc, char * argv[] )

0000000000400578 <main> push   %rbp

0000000000400579 <main+0x1> mov    %rsp,%rbp

000000000040057c <main+0x4> sub    $0x10,%rsp

0000000000400580 <main+0x8> mov    %edi,0xfffffffffffffffc(%rbp)

0000000000400583 <main+0xb> mov    %rsi,0xfffffffffffffff0(%rbp)

/root/workstation/CODE_TEST/Cpp/objtest.c:7

{

     execl( "/bin/sh", "/bin/sh", "-i", 0 );

0000000000400587 <main+0xf> mov    $0x0,%ecx

000000000040058c <main+0x14> mov    $0x4006a8,%edx

0000000000400591 <main+0x19> mov    $0x4006ab,%esi

0000000000400596 <main+0x1e> mov    $0x4006ab,%edi

000000000040059b <main+0x23> mov    $0x0,%eax

00000000004005a0 <main+0x28> callq  0000000000400468 <execl@plt>

/root/workstation/CODE_TEST/Cpp/objtest.c:8

     return 0;

00000000004005a5 <main+0x2d> mov    $0x0,%eax

/root/workstation/CODE_TEST/Cpp/objtest.c:9

}

00000000004005aa <main+0x32> leaveq

00000000004005ab <main+0x33> retq  

00000000004005ac <main+0x34> nop   

00000000004005ad <main+0x35> nop   

00000000004005ae <main+0x36> nop   

00000000004005af <main+0x37> nop   

__libc_csu_fini():

00000000004005b0 <__libc_csu_fini> repz retq

00000000004005b2 <__libc_csu_fini+0x2> nopl   0x0(%rax)

00000000004005b9 <__libc_csu_fini+0x9> nopl   0x0(%rax)

__libc_csu_init():

00000000004005c0 <__libc_csu_init> mov    %r12,0xffffffffffffffe0(%rsp)

00000000004005c5 <__libc_csu_init+0x5> mov    %r13,0xffffffffffffffe8(%rsp)

00000000004005ca <__libc_csu_init+0xa> lea    2097571(%rip),%r12        # 0000000000600774 <__fini_array_end>

00000000004005d1 <__libc_csu_init+0x11> mov    %r14,0xfffffffffffffff0(%rsp)

00000000004005d6 <__libc_csu_init+0x16> mov    %r15,0xfffffffffffffff8(%rsp)

00000000004005db <__libc_csu_init+0x1b> mov    %rsi,%r14

00000000004005de <__libc_csu_init+0x1e> mov    %rbx,0xffffffffffffffd0(%rsp)

00000000004005e3 <__libc_csu_init+0x23> mov    %rbp,0xffffffffffffffd8(%rsp)

00000000004005e8 <__libc_csu_init+0x28> sub    $0x38,%rsp

00000000004005ec <__libc_csu_init+0x2c> mov    %edi,%r15d

00000000004005ef <__libc_csu_init+0x2f> mov    %rdx,%r13

00000000004005f2 <__libc_csu_init+0x32> callq  0000000000400440 <_init>

00000000004005f7 <__libc_csu_init+0x37> lea    2097526(%rip),%rax        # 0000000000600774 <__fini_array_end>

00000000004005fe <__libc_csu_init+0x3e> sub    %rax,%r12

0000000000400601 <__libc_csu_init+0x41> sar    $0x3,%r12

0000000000400605 <__libc_csu_init+0x45> test   %r12,%r12

0000000000400608 <__libc_csu_init+0x48> je     0000000000400628 <__libc_csu_init+0x68>

000000000040060a <__libc_csu_init+0x4a> xor    %ebp,%ebp

000000000040060c <__libc_csu_init+0x4c> mov    %rax,%rbx

000000000040060f <__libc_csu_init+0x4f> nop   

0000000000400610 <__libc_csu_init+0x50> add    $0x1,%rbp

0000000000400614 <__libc_csu_init+0x54> mov    %r13,%rdx

0000000000400617 <__libc_csu_init+0x57> mov    %r14,%rsi

000000000040061a <__libc_csu_init+0x5a> mov    %r15d,%edi

000000000040061d <__libc_csu_init+0x5d> callq  *(%rbx)

000000000040061f <__libc_csu_init+0x5f> add    $0x8,%rbx

0000000000400623 <__libc_csu_init+0x63> cmp    %rbp,%r12

0000000000400626 <__libc_csu_init+0x66> jne    0000000000400610 <__libc_csu_init+0x50>

0000000000400628 <__libc_csu_init+0x68> mov    0x8(%rsp),%rbx

000000000040062d <__libc_csu_init+0x6d> mov    0x10(%rsp),%rbp

0000000000400632 <__libc_csu_init+0x72> mov    0x18(%rsp),%r12

0000000000400637 <__libc_csu_init+0x77> mov    0x20(%rsp),%r13

000000000040063c <__libc_csu_init+0x7c> mov    0x28(%rsp),%r14

0000000000400641 <__libc_csu_init+0x81> mov    0x30(%rsp),%r15

0000000000400646 <__libc_csu_init+0x86> add    $0x38,%rsp

000000000040064a <__libc_csu_init+0x8a> retq  

000000000040064b <__libc_csu_init+0x8b> nop   

000000000040064c <__libc_csu_init+0x8c> nop   

000000000040064d <__libc_csu_init+0x8d> nop   

000000000040064e <__libc_csu_init+0x8e> nop   

000000000040064f <__libc_csu_init+0x8f> nop   

__do_global_ctors_aux():

0000000000400650 <__do_global_ctors_aux> push   %rbp

0000000000400651 <__do_global_ctors_aux+0x1> mov    %rsp,%rbp

0000000000400654 <__do_global_ctors_aux+0x4> push   %rbx

0000000000400655 <__do_global_ctors_aux+0x5> mov    $0x600778,%ebx

000000000040065a <__do_global_ctors_aux+0xa> sub    $0x8,%rsp

000000000040065e <__do_global_ctors_aux+0xe> mov    2097427(%rip),%rax        # 0000000000600778 <__CTOR_LIST__>

0000000000400665 <__do_global_ctors_aux+0x15> cmp    $0xffffffffffffffff,%rax

0000000000400669 <__do_global_ctors_aux+0x19> je     000000000040067f <__do_global_ctors_aux+0x2f>

000000000040066b <__do_global_ctors_aux+0x1b> nopl   0x0(%rax,%rax,1)

0000000000400670 <__do_global_ctors_aux+0x20> sub    $0x8,%rbx

0000000000400674 <__do_global_ctors_aux+0x24> callq  *%rax

0000000000400676 <__do_global_ctors_aux+0x26> mov    (%rbx),%rax

0000000000400679 <__do_global_ctors_aux+0x29> cmp    $0xffffffffffffffff,%rax

000000000040067d <__do_global_ctors_aux+0x2d> jne    0000000000400670 <__do_global_ctors_aux+0x20>

000000000040067f <__do_global_ctors_aux+0x2f> add    $0x8,%rsp

0000000000400683 <__do_global_ctors_aux+0x33> pop    %rbx

0000000000400684 <__do_global_ctors_aux+0x34> leaveq

0000000000400685 <__do_global_ctors_aux+0x35> retq  

0000000000400686 <__do_global_ctors_aux+0x36> nop   

0000000000400687 <__do_global_ctors_aux+0x37> nop   

[root@Betty Cpp]#

反汇编输出 .text 中所有 section 的信息。 

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

[root@Betty Cpp]# objdump -j .text -Dl objtest

 

objtest:     file format elf64-x86-64

 

Disassembly of section .text:

 

00000000004004a0 <_start>:

_start():

  4004a0:       31 ed                   xor    %ebp,%ebp

  4004a2:       49 89 d1                mov    %rdx,%r9

  4004a5:       5e                      pop    %rsi

  4004a6:       48 89 e2                mov    %rsp,%rdx

  4004a9:       48 83 e4 f0             and    $0xfffffffffffffff0,%rsp

  4004ad:       50                      push   %rax

  4004ae:       54                      push   %rsp

  4004af:       49 c7 c0 b0 05 40 00    mov    $0x4005b0,%r8

  4004b6:       48 c7 c1 c0 05 40 00    mov    $0x4005c0,%rcx

  4004bd:       48 c7 c7 78 05 40 00    mov    $0x400578,%rdi

  4004c4:       e8 af ff ff ff          callq  400478 <__libc_start_main@plt>

  4004c9:       f4                      hlt   

  4004ca:       90                      nop   

  4004cb:       90                      nop   

 

00000000004004cc <call_gmon_start>:

call_gmon_start():

  4004cc:       48 83 ec 08             sub    $0x8,%rsp

  4004d0:       48 8b 05 89 04 20 00    mov    2098313(%rip),%rax        # 600960 <_DYNAMIC+0x1c0>

  4004d7:       48 85 c0                test   %rax,%rax

  4004da:       74 02                   je     4004de <call_gmon_start+0x12>

  4004dc:       ff d0                   callq  *%rax

  4004de:       48 83 c4 08             add    $0x8,%rsp

  4004e2:       c3                      retq  

  4004e3:       90                      nop   

  4004e4:       90                      nop   

  4004e5:       90                      nop   

  4004e6:       90                      nop   

  4004e7:       90                      nop   

  4004e8:       90                      nop   

  4004e9:       90                      nop   

  4004ea:       90                      nop   

  4004eb:       90                      nop   

  4004ec:       90                      nop   

  4004ed:       90                      nop   

  4004ee:       90                      nop   

  4004ef:       90                      nop   

 

00000000004004f0 <__do_global_dtors_aux>:

__do_global_dtors_aux():

  4004f0:       55                      push   %rbp

  4004f1:       48 89 e5                mov    %rsp,%rbp

  4004f4:       53                      push   %rbx

  4004f5:       48 83 ec 08             sub    $0x8,%rsp

  4004f9:       80 3d a8 04 20 00 00    cmpb   $0x0,2098344(%rip)        # 6009a8 <completed.6145>

  400500:       75 44                   jne    400546 <__do_global_dtors_aux+0x56>

  400502:       b8 90 07 60 00          mov    $0x600790,%eax

  400507:       48 2d 88 07 60 00       sub    $0x600788,%rax

  40050d:       48 c1 f8 03             sar    $0x3,%rax

  400511:       48 8d 58 ff             lea    0xffffffffffffffff(%rax),%rbx

  400515:       48 8b 05 84 04 20 00    mov    2098308(%rip),%rax        # 6009a0 <dtor_idx.6147>

  40051c:       48 39 c3                cmp    %rax,%rbx

  40051f:       76 1e                   jbe    40053f <__do_global_dtors_aux+0x4f>

  400521:       48 83 c0 01             add    $0x1,%rax

  400525:       48 89 05 74 04 20 00    mov    %rax,2098292(%rip)        # 6009a0 <dtor_idx.6147>

  40052c:       ff 14 c5 88 07 60 00    callq  *0x600788(,%rax,8)

  400533:       48 8b 05 66 04 20 00    mov    2098278(%rip),%rax        # 6009a0 <dtor_idx.6147>

  40053a:       48 39 c3                cmp    %rax,%rbx

  40053d:       77 e2                   ja     400521 <__do_global_dtors_aux+0x31>

  40053f:       c6 05 62 04 20 00 01    movb   $0x1,2098274(%rip)        # 6009a8 <completed.6145>

  400546:       48 83 c4 08             add    $0x8,%rsp

  40054a:       5b                      pop    %rbx

  40054b:       c9                      leaveq

  40054c:       c3                      retq  

  40054d:       0f 1f 00                nopl   (%rax)

 

0000000000400550 <frame_dummy>:

frame_dummy():

  400550:       55                      push   %rbp

  400551:       48 83 3d 3f 02 20 00    cmpq   $0x0,2097727(%rip)        # 600798 <__JCR_END__>

  400558:       00

  400559:       48 89 e5                mov    %rsp,%rbp

  40055c:       74 16                   je     400574 <frame_dummy+0x24>

  40055e:       b8 00 00 00 00          mov    $0x0,%eax

  400563:       48 85 c0                test   %rax,%rax

  400566:       74 0c                   je     400574 <frame_dummy+0x24>

  400568:       bf 98 07 60 00          mov    $0x600798,%edi

  40056d:       49 89 c3                mov    %rax,%r11

  400570:       c9                      leaveq

  400571:       41 ff e3                jmpq   *%r11

  400574:       c9                      leaveq

  400575:       c3                      retq  

  400576:       90                      nop   

  400577:       90                      nop   

 

0000000000400578 <main>:

main():

/root/workstation/CODE_TEST/Cpp/objtest.c:5

  400578:       55                      push   %rbp

  400579:       48 89 e5                mov    %rsp,%rbp

  40057c:       48 83 ec 10             sub    $0x10,%rsp

  400580:       89 7d fc                mov    %edi,0xfffffffffffffffc(%rbp)

  400583:       48 89 75 f0             mov    %rsi,0xfffffffffffffff0(%rbp)

/root/workstation/CODE_TEST/Cpp/objtest.c:7

  400587:       b9 00 00 00 00          mov    $0x0,%ecx

  40058c:       ba a8 06 40 00          mov    $0x4006a8,%edx

  400591:       be ab 06 40 00          mov    $0x4006ab,%esi

  400596:       bf ab 06 40 00          mov    $0x4006ab,%edi

  40059b:       b8 00 00 00 00          mov    $0x0,%eax

  4005a0:       e8 c3 fe ff ff          callq  400468 <execl@plt>

/root/workstation/CODE_TEST/Cpp/objtest.c:8

  4005a5:       b8 00 00 00 00          mov    $0x0,%eax

/root/workstation/CODE_TEST/Cpp/objtest.c:9

  4005aa:       c9                      leaveq

  4005ab:       c3                      retq  

  4005ac:       90                      nop   

  4005ad:       90                      nop   

  4005ae:       90                      nop   

  4005af:       90                      nop   

 

00000000004005b0 <__libc_csu_fini>:

__libc_csu_fini():

  4005b0:       f3 c3                   repz retq

  4005b2:       0f 1f 80 00 00 00 00    nopl   0x0(%rax)

  4005b9:       0f 1f 80 00 00 00 00    nopl   0x0(%rax)

 

00000000004005c0 <__libc_csu_init>:

__libc_csu_init():

  4005c0:       4c 89 64 24 e0          mov    %r12,0xffffffffffffffe0(%rsp)

  4005c5:       4c 89 6c 24 e8          mov    %r13,0xffffffffffffffe8(%rsp)

  4005ca:       4c 8d 25 a3 01 20 00    lea    2097571(%rip),%r12        # 600774 <__fini_array_end>

  4005d1:       4c 89 74 24 f0          mov    %r14,0xfffffffffffffff0(%rsp)

  4005d6:       4c 89 7c 24 f8          mov    %r15,0xfffffffffffffff8(%rsp)

  4005db:       49 89 f6                mov    %rsi,%r14

  4005de:       48 89 5c 24 d0          mov    %rbx,0xffffffffffffffd0(%rsp)

  4005e3:       48 89 6c 24 d8          mov    %rbp,0xffffffffffffffd8(%rsp)

  4005e8:       48 83 ec 38             sub    $0x38,%rsp

  4005ec:       41 89 ff                mov    %edi,%r15d

  4005ef:       49 89 d5                mov    %rdx,%r13

  4005f2:       e8 49 fe ff ff          callq  400440 <_init>

  4005f7:       48 8d 05 76 01 20 00    lea    2097526(%rip),%rax        # 600774 <__fini_array_end>

  4005fe:       49 29 c4                sub    %rax,%r12

  400601:       49 c1 fc 03             sar    $0x3,%r12

  400605:       4d 85 e4                test   %r12,%r12

  400608:       74 1e                   je     400628 <__libc_csu_init+0x68>

  40060a:       31 ed                   xor    %ebp,%ebp

  40060c:       48 89 c3                mov    %rax,%rbx

  40060f:       90                      nop   

  400610:       48 83 c5 01             add    $0x1,%rbp

  400614:       4c 89 ea                mov    %r13,%rdx

  400617:       4c 89 f6                mov    %r14,%rsi

  40061a:       44 89 ff                mov    %r15d,%edi

  40061d:       ff 13                   callq  *(%rbx)

  40061f:       48 83 c3 08             add    $0x8,%rbx

  400623:       49 39 ec                cmp    %rbp,%r12

  400626:       75 e8                   jne    400610 <__libc_csu_init+0x50>

  400628:       48 8b 5c 24 08          mov    0x8(%rsp),%rbx

  40062d:       48 8b 6c 24 10          mov    0x10(%rsp),%rbp

  400632:       4c 8b 64 24 18          mov    0x18(%rsp),%r12

  400637:       4c 8b 6c 24 20          mov    0x20(%rsp),%r13

  40063c:       4c 8b 74 24 28          mov    0x28(%rsp),%r14

  400641:       4c 8b 7c 24 30          mov    0x30(%rsp),%r15

  400646:       48 83 c4 38             add    $0x38,%rsp

  40064a:       c3                      retq  

  40064b:       90                      nop   

  40064c:       90                      nop   

  40064d:       90                      nop   

  40064e:       90                      nop   

  40064f:       90                      nop   

 

0000000000400650 <__do_global_ctors_aux>:

__do_global_ctors_aux():

  400650:       55                      push   %rbp

  400651:       48 89 e5                mov    %rsp,%rbp

  400654:       53                      push   %rbx

  400655:       bb 78 07 60 00          mov    $0x600778,%ebx

  40065a:       48 83 ec 08             sub    $0x8,%rsp

  40065e:       48 8b 05 13 01 20 00    mov    2097427(%rip),%rax        # 600778 <__CTOR_LIST__>

  400665:       48 83 f8 ff             cmp    $0xffffffffffffffff,%rax

  400669:       74 14                   je     40067f <__do_global_ctors_aux+0x2f>

  40066b:       0f 1f 44 00 00          nopl   0x0(%rax,%rax,1)

  400670:       48 83 eb 08             sub    $0x8,%rbx

  400674:       ff d0                   callq  *%rax

  400676:       48 8b 03                mov    (%rbx),%rax

  400679:       48 83 f8 ff             cmp    $0xffffffffffffffff,%rax

  40067d:       75 f1                   jne    400670 <__do_global_ctors_aux+0x20>

  40067f:       48 83 c4 08             add    $0x8,%rsp

  400683:       5b                      pop    %rbx

  400684:       c9                      leaveq

  400685:       c3                      retq  

  400686:       90                      nop   

  400687:       90                      nop   

[root@Betty Cpp]#

[root@Betty Cpp]#

指定数据 .text 代码段的反汇编信息。 

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

[root@Betty Cpp]# objdump -j .text -S objtest

 

objtest:     file format elf64-x86-64

 

Disassembly of section .text:

 

00000000004004a0 <_start>:

  4004a0:       31 ed                   xor    %ebp,%ebp

  4004a2:       49 89 d1                mov    %rdx,%r9

  4004a5:       5e                      pop    %rsi

  4004a6:       48 89 e2                mov    %rsp,%rdx

  4004a9:       48 83 e4 f0             and    $0xfffffffffffffff0,%rsp

  4004ad:       50                      push   %rax

  4004ae:       54                      push   %rsp

  4004af:       49 c7 c0 b0 05 40 00    mov    $0x4005b0,%r8

  4004b6:       48 c7 c1 c0 05 40 00    mov    $0x4005c0,%rcx

  4004bd:       48 c7 c7 78 05 40 00    mov    $0x400578,%rdi

  4004c4:       e8 af ff ff ff          callq  400478 <__libc_start_main@plt>

  4004c9:       f4                      hlt   

  4004ca:       90                      nop   

  4004cb:       90                      nop   

 

00000000004004cc <call_gmon_start>:

  4004cc:       48 83 ec 08             sub    $0x8,%rsp

  4004d0:       48 8b 05 89 04 20 00    mov    2098313(%rip),%rax        # 600960 <_DYNAMIC+0x1c0>

  4004d7:       48 85 c0                test   %rax,%rax

  4004da:       74 02                   je     4004de <call_gmon_start+0x12>

  4004dc:       ff d0                   callq  *%rax

  4004de:       48 83 c4 08             add    $0x8,%rsp

  4004e2:       c3                      retq  

  4004e3:       90                      nop   

  4004e4:       90                      nop   

  4004e5:       90                      nop   

  4004e6:       90                      nop   

  4004e7:       90                      nop   

  4004e8:       90                      nop   

  4004e9:       90                      nop   

  4004ea:       90                      nop   

  4004eb:       90                      nop   

  4004ec:       90                      nop   

  4004ed:       90                      nop   

  4004ee:       90                      nop   

  4004ef:       90                      nop   

 

00000000004004f0 <__do_global_dtors_aux>:

  4004f0:       55                      push   %rbp

  4004f1:       48 89 e5                mov    %rsp,%rbp

  4004f4:       53                      push   %rbx

  4004f5:       48 83 ec 08             sub    $0x8,%rsp

  4004f9:       80 3d a8 04 20 00 00    cmpb   $0x0,2098344(%rip)        # 6009a8 <completed.6145>

  400500:       75 44                   jne    400546 <__do_global_dtors_aux+0x56>

  400502:       b8 90 07 60 00          mov    $0x600790,%eax

  400507:       48 2d 88 07 60 00       sub    $0x600788,%rax

  40050d:       48 c1 f8 03             sar    $0x3,%rax

  400511:       48 8d 58 ff             lea    0xffffffffffffffff(%rax),%rbx

  400515:       48 8b 05 84 04 20 00    mov    2098308(%rip),%rax        # 6009a0 <dtor_idx.6147>

  40051c:       48 39 c3                cmp    %rax,%rbx

  40051f:       76 1e                   jbe    40053f <__do_global_dtors_aux+0x4f>

  400521:       48 83 c0 01             add    $0x1,%rax

  400525:       48 89 05 74 04 20 00    mov    %rax,2098292(%rip)        # 6009a0 <dtor_idx.6147>

  40052c:       ff 14 c5 88 07 60 00    callq  *0x600788(,%rax,8)

  400533:       48 8b 05 66 04 20 00    mov    2098278(%rip),%rax        # 6009a0 <dtor_idx.6147>

  40053a:       48 39 c3                cmp    %rax,%rbx

  40053d:       77 e2                   ja     400521 <__do_global_dtors_aux+0x31>

  40053f:       c6 05 62 04 20 00 01    movb   $0x1,2098274(%rip)        # 6009a8 <completed.6145>

  400546:       48 83 c4 08             add    $0x8,%rsp

  40054a:       5b                      pop    %rbx

  40054b:       c9                      leaveq

  40054c:       c3                      retq  

  40054d:       0f 1f 00                nopl   (%rax)

 

0000000000400550 <frame_dummy>:

  400550:       55                      push   %rbp

  400551:       48 83 3d 3f 02 20 00    cmpq   $0x0,2097727(%rip)        # 600798 <__JCR_END__>

  400558:       00

  400559:       48 89 e5                mov    %rsp,%rbp

  40055c:       74 16                   je     400574 <frame_dummy+0x24>

  40055e:       b8 00 00 00 00          mov    $0x0,%eax

  400563:       48 85 c0                test   %rax,%rax

  400566:       74 0c                   je     400574 <frame_dummy+0x24>

  400568:       bf 98 07 60 00          mov    $0x600798,%edi

  40056d:       49 89 c3                mov    %rax,%r11

  400570:       c9                      leaveq

  400571:       41 ff e3                jmpq   *%r11

  400574:       c9                      leaveq

  400575:       c3                      retq  

  400576:       90                      nop   

  400577:       90                      nop   

 

0000000000400578 <main>:

/*

g++ -g -Wstrict-prototypes -Wall -Wunused -o objtest objtest.c

*/

#include <unistd.h>

int main ( int argc, char * argv[] )

  400578:       55                      push   %rbp

  400579:       48 89 e5                mov    %rsp,%rbp

  40057c:       48 83 ec 10             sub    $0x10,%rsp

  400580:       89 7d fc                mov    %edi,0xfffffffffffffffc(%rbp)

  400583:       48 89 75 f0             mov    %rsi,0xfffffffffffffff0(%rbp)

{

     execl( "/bin/sh", "/bin/sh", "-i", 0 );

  400587:       b9 00 00 00 00          mov    $0x0,%ecx

  40058c:       ba a8 06 40 00          mov    $0x4006a8,%edx

  400591:       be ab 06 40 00          mov    $0x4006ab,%esi

  400596:       bf ab 06 40 00          mov    $0x4006ab,%edi

  40059b:       b8 00 00 00 00          mov    $0x0,%eax

  4005a0:       e8 c3 fe ff ff          callq  400468 <execl@plt>

     return 0;

  4005a5:       b8 00 00 00 00          mov    $0x0,%eax

}

  4005aa:       c9                      leaveq

  4005ab:       c3                      retq  

  4005ac:       90                      nop   

  4005ad:       90                      nop   

  4005ae:       90                      nop   

  4005af:       90                      nop   

 

00000000004005b0 <__libc_csu_fini>:

  4005b0:       f3 c3                   repz retq

  4005b2:       0f 1f 80 00 00 00 00    nopl   0x0(%rax)

  4005b9:       0f 1f 80 00 00 00 00    nopl   0x0(%rax)

 

00000000004005c0 <__libc_csu_init>:

  4005c0:       4c 89 64 24 e0          mov    %r12,0xffffffffffffffe0(%rsp)

  4005c5:       4c 89 6c 24 e8          mov    %r13,0xffffffffffffffe8(%rsp)

  4005ca:       4c 8d 25 a3 01 20 00    lea    2097571(%rip),%r12        # 600774 <__fini_array_end>

  4005d1:       4c 89 74 24 f0          mov    %r14,0xfffffffffffffff0(%rsp)

  4005d6:       4c 89 7c 24 f8          mov    %r15,0xfffffffffffffff8(%rsp)

  4005db:       49 89 f6                mov    %rsi,%r14

  4005de:       48 89 5c 24 d0          mov    %rbx,0xffffffffffffffd0(%rsp)

  4005e3:       48 89 6c 24 d8          mov    %rbp,0xffffffffffffffd8(%rsp)

  4005e8:       48 83 ec 38             sub    $0x38,%rsp

  4005ec:       41 89 ff                mov    %edi,%r15d

  4005ef:       49 89 d5                mov    %rdx,%r13

  4005f2:       e8 49 fe ff ff          callq  400440 <_init>

  4005f7:       48 8d 05 76 01 20 00    lea    2097526(%rip),%rax        # 600774 <__fini_array_end>

  4005fe:       49 29 c4                sub    %rax,%r12

  400601:       49 c1 fc 03             sar    $0x3,%r12

  400605:       4d 85 e4                test   %r12,%r12

  400608:       74 1e                   je     400628 <__libc_csu_init+0x68>

  40060a:       31 ed                   xor    %ebp,%ebp

  40060c:       48 89 c3                mov    %rax,%rbx

  40060f:       90                      nop   

  400610:       48 83 c5 01             add    $0x1,%rbp

  400614:       4c 89 ea                mov    %r13,%rdx

  400617:       4c 89 f6                mov    %r14,%rsi

  40061a:       44 89 ff                mov    %r15d,%edi

  40061d:       ff 13                   callq  *(%rbx)

  40061f:       48 83 c3 08             add    $0x8,%rbx

  400623:       49 39 ec                cmp    %rbp,%r12

  400626:       75 e8                   jne    400610 <__libc_csu_init+0x50>

  400628:       48 8b 5c 24 08          mov    0x8(%rsp),%rbx

  40062d:       48 8b 6c 24 10          mov    0x10(%rsp),%rbp

  400632:       4c 8b 64 24 18          mov    0x18(%rsp),%r12

  400637:       4c 8b 6c 24 20          mov    0x20(%rsp),%r13

  40063c:       4c 8b 74 24 28          mov    0x28(%rsp),%r14

  400641:       4c 8b 7c 24 30          mov    0x30(%rsp),%r15

  400646:       48 83 c4 38             add    $0x38,%rsp

  40064a:       c3                      retq  

  40064b:       90                      nop   

  40064c:       90                      nop   

  40064d:       90                      nop   

  40064e:       90                      nop   

  40064f:       90                      nop   

 

0000000000400650 <__do_global_ctors_aux>:

  400650:       55                      push   %rbp

  400651:       48 89 e5                mov    %rsp,%rbp

  400654:       53                      push   %rbx

  400655:       bb 78 07 60 00          mov    $0x600778,%ebx

  40065a:       48 83 ec 08             sub    $0x8,%rsp

  40065e:       48 8b 05 13 01 20 00    mov    2097427(%rip),%rax        # 600778 <__CTOR_LIST__>

  400665:       48 83 f8 ff             cmp    $0xffffffffffffffff,%rax

  400669:       74 14                   je     40067f <__do_global_ctors_aux+0x2f>

  40066b:       0f 1f 44 00 00          nopl   0x0(%rax,%rax,1)

  400670:       48 83 eb 08             sub    $0x8,%rbx

  400674:       ff d0                   callq  *%rax

  400676:       48 8b 03                mov    (%rbx),%rax

  400679:       48 83 f8 ff             cmp    $0xffffffffffffffff,%rax

  40067d:       75 f1                   jne    400670 <__do_global_ctors_aux+0x20>

  40067f:       48 83 c4 08             add    $0x8,%rsp

  400683:       5b                      pop    %rbx

  400684:       c9                      leaveq

  400685:       c3                      retq  

  400686:       90                      nop   

  400687:       90                      nop   

[root@Betty Cpp]#

未设置 -g 参数,并使用了 -O3 参数得到的 obj 文件反汇编后信息量非常少。 

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

[root@Betty Cpp]#

[root@Betty Cpp]# g++ -O3 -o objtest objtest.c

[root@Betty Cpp]#

[root@Betty Cpp]# objdump -j .text -S objtest

 

objtest:     file format elf64-x86-64

 

Disassembly of section .text:

 

00000000004004a0 <_start>:

  4004a0:       31 ed                   xor    %ebp,%ebp

  4004a2:       49 89 d1                mov    %rdx,%r9

  4004a5:       5e                      pop    %rsi

  4004a6:       48 89 e2                mov    %rsp,%rdx

  4004a9:       48 83 e4 f0             and    $0xfffffffffffffff0,%rsp

  4004ad:       50                      push   %rax

  4004ae:       54                      push   %rsp

  4004af:       49 c7 c0 b0 05 40 00    mov    $0x4005b0,%r8

  4004b6:       48 c7 c1 c0 05 40 00    mov    $0x4005c0,%rcx

  4004bd:       48 c7 c7 80 05 40 00    mov    $0x400580,%rdi

  4004c4:       e8 af ff ff ff          callq  400478 <__libc_start_main@plt>

  4004c9:       f4                      hlt   

  4004ca:       90                      nop   

  4004cb:       90                      nop   

 

00000000004004cc <call_gmon_start>:

  4004cc:       48 83 ec 08             sub    $0x8,%rsp

  4004d0:       48 8b 05 81 04 20 00    mov    2098305(%rip),%rax        # 600958 <_DYNAMIC+0x1c0>

  4004d7:       48 85 c0                test   %rax,%rax

  4004da:       74 02                   je     4004de <call_gmon_start+0x12>

  4004dc:       ff d0                   callq  *%rax

  4004de:       48 83 c4 08             add    $0x8,%rsp

  4004e2:       c3                      retq  

  4004e3:       90                      nop   

  4004e4:       90                      nop   

  4004e5:       90                      nop   

  4004e6:       90                      nop   

  4004e7:       90                      nop   

  4004e8:       90                      nop   

  4004e9:       90                      nop   

  4004ea:       90                      nop   

  4004eb:       90                      nop   

  4004ec:       90                      nop   

  4004ed:       90                      nop   

  4004ee:       90                      nop   

  4004ef:       90                      nop   

 

00000000004004f0 <__do_global_dtors_aux>:

  4004f0:       55                      push   %rbp

  4004f1:       48 89 e5                mov    %rsp,%rbp

  4004f4:       53                      push   %rbx

  4004f5:       48 83 ec 08             sub    $0x8,%rsp

  4004f9:       80 3d a0 04 20 00 00    cmpb   $0x0,2098336(%rip)        # 6009a0 <completed.6145>

  400500:       75 44                   jne    400546 <__do_global_dtors_aux+0x56>

  400502:       b8 88 07 60 00          mov    $0x600788,%eax

  400507:       48 2d 80 07 60 00       sub    $0x600780,%rax

  40050d:       48 c1 f8 03             sar    $0x3,%rax

  400511:       48 8d 58 ff             lea    0xffffffffffffffff(%rax),%rbx

  400515:       48 8b 05 7c 04 20 00    mov    2098300(%rip),%rax        # 600998 <dtor_idx.6147>

  40051c:       48 39 c3                cmp    %rax,%rbx

  40051f:       76 1e                   jbe    40053f <__do_global_dtors_aux+0x4f>

  400521:       48 83 c0 01             add    $0x1,%rax

  400525:       48 89 05 6c 04 20 00    mov    %rax,2098284(%rip)        # 600998 <dtor_idx.6147>

  40052c:       ff 14 c5 80 07 60 00    callq  *0x600780(,%rax,8)

  400533:       48 8b 05 5e 04 20 00    mov    2098270(%rip),%rax        # 600998 <dtor_idx.6147>

  40053a:       48 39 c3                cmp    %rax,%rbx

  40053d:       77 e2                   ja     400521 <__do_global_dtors_aux+0x31>

  40053f:       c6 05 5a 04 20 00 01    movb   $0x1,2098266(%rip)        # 6009a0 <completed.6145>

  400546:       48 83 c4 08             add    $0x8,%rsp

  40054a:       5b                      pop    %rbx

  40054b:       c9                      leaveq

  40054c:       c3                      retq  

  40054d:       0f 1f 00                nopl   (%rax)

 

0000000000400550 <frame_dummy>:

  400550:       55                      push   %rbp

  400551:       48 83 3d 37 02 20 00    cmpq   $0x0,2097719(%rip)        # 600790 <__JCR_END__>

  400558:       00

  400559:       48 89 e5                mov    %rsp,%rbp

  40055c:       74 16                   je     400574 <frame_dummy+0x24>

  40055e:       b8 00 00 00 00          mov    $0x0,%eax

  400563:       48 85 c0                test   %rax,%rax

  400566:       74 0c                   je     400574 <frame_dummy+0x24>

  400568:       bf 90 07 60 00          mov    $0x600790,%edi

  40056d:       49 89 c3                mov    %rax,%r11

  400570:       c9                      leaveq

  400571:       41 ff e3                jmpq   *%r11

  400574:       c9                      leaveq

  400575:       c3                      retq  

  400576:       90                      nop   

  400577:       90                      nop   

  400578:       90                      nop   

  400579:       90                      nop   

  40057a:       90                      nop   

  40057b:       90                      nop   

  40057c:       90                      nop   

  40057d:       90                      nop   

  40057e:       90                      nop   

  40057f:       90                      nop   

 

0000000000400580 <main>:

  400580:       be ab 06 40 00          mov    $0x4006ab,%esi

  400585:       48 83 ec 08             sub    $0x8,%rsp

  400589:       31 c9                   xor    %ecx,%ecx

  40058b:       ba a8 06 40 00          mov    $0x4006a8,%edx

  400590:       48 89 f7                mov    %rsi,%rdi

  400593:       31 c0                   xor    %eax,%eax

  400595:       e8 ce fe ff ff          callq  400468 <execl@plt>

  40059a:       31 c0                   xor    %eax,%eax

  40059c:       48 83 c4 08             add    $0x8,%rsp

  4005a0:       c3                      retq  

  4005a1:       90                      nop   

  4005a2:       90                      nop   

  4005a3:       90                      nop   

  4005a4:       90                      nop   

  4005a5:       90                      nop   

  4005a6:       90                      nop   

  4005a7:       90                      nop   

  4005a8:       90                      nop   

  4005a9:       90                      nop   

  4005aa:       90                      nop   

  4005ab:       90                      nop   

  4005ac:       90                      nop   

  4005ad:       90                      nop   

  4005ae:       90                      nop   

  4005af:       90                      nop   

 

00000000004005b0 <__libc_csu_fini>:

  4005b0:       f3 c3                   repz retq

  4005b2:       0f 1f 80 00 00 00 00    nopl   0x0(%rax)

  4005b9:       0f 1f 80 00 00 00 00    nopl   0x0(%rax)

 

00000000004005c0 <__libc_csu_init>:

  4005c0:       4c 89 64 24 e0          mov    %r12,0xffffffffffffffe0(%rsp)

  4005c5:       4c 89 6c 24 e8          mov    %r13,0xffffffffffffffe8(%rsp)

  4005ca:       4c 8d 25 9b 01 20 00    lea    2097563(%rip),%r12        # 60076c <__fini_array_end>

  4005d1:       4c 89 74 24 f0          mov    %r14,0xfffffffffffffff0(%rsp)

  4005d6:       4c 89 7c 24 f8          mov    %r15,0xfffffffffffffff8(%rsp)

  4005db:       49 89 f6                mov    %rsi,%r14

  4005de:       48 89 5c 24 d0          mov    %rbx,0xffffffffffffffd0(%rsp)

  4005e3:       48 89 6c 24 d8          mov    %rbp,0xffffffffffffffd8(%rsp)

  4005e8:       48 83 ec 38             sub    $0x38,%rsp

  4005ec:       41 89 ff                mov    %edi,%r15d

  4005ef:       49 89 d5                mov    %rdx,%r13

  4005f2:       e8 49 fe ff ff          callq  400440 <_init>

  4005f7:       48 8d 05 6e 01 20 00    lea    2097518(%rip),%rax        # 60076c <__fini_array_end>

  4005fe:       49 29 c4                sub    %rax,%r12

  400601:       49 c1 fc 03             sar    $0x3,%r12

  400605:       4d 85 e4                test   %r12,%r12

  400608:       74 1e                   je     400628 <__libc_csu_init+0x68>

  40060a:       31 ed                   xor    %ebp,%ebp

  40060c:       48 89 c3                mov    %rax,%rbx

  40060f:       90                      nop   

  400610:       48 83 c5 01             add    $0x1,%rbp

  400614:       4c 89 ea                mov    %r13,%rdx

  400617:       4c 89 f6                mov    %r14,%rsi

  40061a:       44 89 ff                mov    %r15d,%edi

  40061d:       ff 13                   callq  *(%rbx)

  40061f:       48 83 c3 08             add    $0x8,%rbx

  400623:       49 39 ec                cmp    %rbp,%r12

  400626:       75 e8                   jne    400610 <__libc_csu_init+0x50>

  400628:       48 8b 5c 24 08          mov    0x8(%rsp),%rbx

  40062d:       48 8b 6c 24 10          mov    0x10(%rsp),%rbp

  400632:       4c 8b 64 24 18          mov    0x18(%rsp),%r12

  400637:       4c 8b 6c 24 20          mov    0x20(%rsp),%r13

  40063c:       4c 8b 74 24 28          mov    0x28(%rsp),%r14

  400641:       4c 8b 7c 24 30          mov    0x30(%rsp),%r15

  400646:       48 83 c4 38             add    $0x38,%rsp

  40064a:       c3                      retq  

  40064b:       90                      nop   

  40064c:       90                      nop   

  40064d:       90                      nop   

  40064e:       90                      nop   

  40064f:       90                      nop   

 

0000000000400650 <__do_global_ctors_aux>:

  400650:       55                      push   %rbp

  400651:       48 89 e5                mov    %rsp,%rbp

  400654:       53                      push   %rbx

  400655:       bb 70 07 60 00          mov    $0x600770,%ebx

  40065a:       48 83 ec 08             sub    $0x8,%rsp

  40065e:       48 8b 05 0b 01 20 00    mov    2097419(%rip),%rax        # 600770 <__CTOR_LIST__>

  400665:       48 83 f8 ff             cmp    $0xffffffffffffffff,%rax

  400669:       74 14                   je     40067f <__do_global_ctors_aux+0x2f>

  40066b:       0f 1f 44 00 00          nopl   0x0(%rax,%rax,1)

  400670:       48 83 eb 08             sub    $0x8,%rbx

  400674:       ff d0                   callq  *%rax

  400676:       48 8b 03                mov    (%rbx),%rax

  400679:       48 83 f8 ff             cmp    $0xffffffffffffffff,%rax

  40067d:       75 f1                   jne    400670 <__do_global_ctors_aux+0x20>

  40067f:       48 83 c4 08             add    $0x8,%rsp

  400683:       5b                      pop    %rbx

  400684:       c9                      leaveq

  400685:       c3                      retq  

  400686:       90                      nop   

  400687:       90                      nop   

[root@Betty Cpp]#

增加 -l 参数没有多出任何有用信息。 

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

[root@Betty Cpp]# objdump -j .text -Sl objtest

 

objtest:     file format elf64-x86-64

 

Disassembly of section .text:

 

00000000004004a0 <_start>:

_start():

  4004a0:       31 ed                   xor    %ebp,%ebp

  4004a2:       49 89 d1                mov    %rdx,%r9

  4004a5:       5e                      pop    %rsi

  4004a6:       48 89 e2                mov    %rsp,%rdx

  4004a9:       48 83 e4 f0             and    $0xfffffffffffffff0,%rsp

  4004ad:       50                      push   %rax

  4004ae:       54                      push   %rsp

  4004af:       49 c7 c0 b0 05 40 00    mov    $0x4005b0,%r8

  4004b6:       48 c7 c1 c0 05 40 00    mov    $0x4005c0,%rcx

  4004bd:       48 c7 c7 80 05 40 00    mov    $0x400580,%rdi

  4004c4:       e8 af ff ff ff          callq  400478 <__libc_start_main@plt>

  4004c9:       f4                      hlt   

  4004ca:       90                      nop   

  4004cb:       90                      nop   

 

00000000004004cc <call_gmon_start>:

call_gmon_start():

  4004cc:       48 83 ec 08             sub    $0x8,%rsp

  4004d0:       48 8b 05 81 04 20 00    mov    2098305(%rip),%rax        # 600958 <_DYNAMIC+0x1c0>

  4004d7:       48 85 c0                test   %rax,%rax

  4004da:       74 02                   je     4004de <call_gmon_start+0x12>

  4004dc:       ff d0                   callq  *%rax

  4004de:       48 83 c4 08             add    $0x8,%rsp

  4004e2:       c3                      retq  

  4004e3:       90                      nop   

  4004e4:       90                      nop   

  4004e5:       90                      nop   

  4004e6:       90                      nop   

  4004e7:       90                      nop   

  4004e8:       90                      nop   

  4004e9:       90                      nop   

  4004ea:       90                      nop   

  4004eb:       90                      nop   

  4004ec:       90                      nop   

  4004ed:       90                      nop   

  4004ee:       90                      nop   

  4004ef:       90                      nop   

 

00000000004004f0 <__do_global_dtors_aux>:

__do_global_dtors_aux():

  4004f0:       55                      push   %rbp

  4004f1:       48 89 e5                mov    %rsp,%rbp

  4004f4:       53                      push   %rbx

  4004f5:       48 83 ec 08             sub    $0x8,%rsp

  4004f9:       80 3d a0 04 20 00 00    cmpb   $0x0,2098336(%rip)        # 6009a0 <completed.6145>

  400500:       75 44                   jne    400546 <__do_global_dtors_aux+0x56>

  400502:       b8 88 07 60 00          mov    $0x600788,%eax

  400507:       48 2d 80 07 60 00       sub    $0x600780,%rax

  40050d:       48 c1 f8 03             sar    $0x3,%rax

  400511:       48 8d 58 ff             lea    0xffffffffffffffff(%rax),%rbx

  400515:       48 8b 05 7c 04 20 00    mov    2098300(%rip),%rax        # 600998 <dtor_idx.6147>

  40051c:       48 39 c3                cmp    %rax,%rbx

  40051f:       76 1e                   jbe    40053f <__do_global_dtors_aux+0x4f>

  400521:       48 83 c0 01             add    $0x1,%rax

  400525:       48 89 05 6c 04 20 00    mov    %rax,2098284(%rip)        # 600998 <dtor_idx.6147>

  40052c:       ff 14 c5 80 07 60 00    callq  *0x600780(,%rax,8)

  400533:       48 8b 05 5e 04 20 00    mov    2098270(%rip),%rax        # 600998 <dtor_idx.6147>

  40053a:       48 39 c3                cmp    %rax,%rbx

  40053d:       77 e2                   ja     400521 <__do_global_dtors_aux+0x31>

  40053f:       c6 05 5a 04 20 00 01    movb   $0x1,2098266(%rip)        # 6009a0 <completed.6145>

  400546:       48 83 c4 08             add    $0x8,%rsp

  40054a:       5b                      pop    %rbx

  40054b:       c9                      leaveq

  40054c:       c3                      retq  

  40054d:       0f 1f 00                nopl   (%rax)

 

0000000000400550 <frame_dummy>:

frame_dummy():

  400550:       55                      push   %rbp

  400551:       48 83 3d 37 02 20 00    cmpq   $0x0,2097719(%rip)        # 600790 <__JCR_END__>

  400558:       00

  400559:       48 89 e5                mov    %rsp,%rbp

  40055c:       74 16                   je     400574 <frame_dummy+0x24>

  40055e:       b8 00 00 00 00          mov    $0x0,%eax

  400563:       48 85 c0                test   %rax,%rax

  400566:       74 0c                   je     400574 <frame_dummy+0x24>

  400568:       bf 90 07 60 00          mov    $0x600790,%edi

  40056d:       49 89 c3                mov    %rax,%r11

  400570:       c9                      leaveq

  400571:       41 ff e3                jmpq   *%r11

  400574:       c9                      leaveq

  400575:       c3                      retq  

  400576:       90                      nop   

  400577:       90                      nop   

  400578:       90                      nop   

  400579:       90                      nop   

  40057a:       90                      nop   

  40057b:       90                      nop   

  40057c:       90                      nop   

  40057d:       90                      nop   

  40057e:       90                      nop   

  40057f:       90                      nop   

 

0000000000400580 <main>:

main():

  400580:       be ab 06 40 00          mov    $0x4006ab,%esi

  400585:       48 83 ec 08             sub    $0x8,%rsp

  400589:       31 c9                   xor    %ecx,%ecx

  40058b:       ba a8 06 40 00          mov    $0x4006a8,%edx

  400590:       48 89 f7                mov    %rsi,%rdi

  400593:       31 c0                   xor    %eax,%eax

  400595:       e8 ce fe ff ff          callq  400468 <execl@plt>

  40059a:       31 c0                   xor    %eax,%eax

  40059c:       48 83 c4 08             add    $0x8,%rsp

  4005a0:       c3                      retq  

  4005a1:       90                      nop   

  4005a2:       90                      nop   

  4005a3:       90                      nop   

  4005a4:       90                      nop   

  4005a5:       90                      nop   

  4005a6:       90                      nop   

  4005a7:       90                      nop   

  4005a8:       90                      nop   

  4005a9:       90                      nop   

  4005aa:       90                      nop   

  4005ab:       90                      nop   

  4005ac:       90                      nop   

  4005ad:       90                      nop   

  4005ae:       90                      nop   

  4005af:       90                      nop   

 

00000000004005b0 <__libc_csu_fini>:

__libc_csu_fini():

  4005b0:       f3 c3                   repz retq

  4005b2:       0f 1f 80 00 00 00 00    nopl   0x0(%rax)

  4005b9:       0f 1f 80 00 00 00 00    nopl   0x0(%rax)

 

00000000004005c0 <__libc_csu_init>:

__libc_csu_init():

  4005c0:       4c 89 64 24 e0          mov    %r12,0xffffffffffffffe0(%rsp)

  4005c5:       4c 89 6c 24 e8          mov    %r13,0xffffffffffffffe8(%rsp)

  4005ca:       4c 8d 25 9b 01 20 00    lea    2097563(%rip),%r12        # 60076c <__fini_array_end>

  4005d1:       4c 89 74 24 f0          mov    %r14,0xfffffffffffffff0(%rsp)

  4005d6:       4c 89 7c 24 f8          mov    %r15,0xfffffffffffffff8(%rsp)

  4005db:       49 89 f6                mov    %rsi,%r14

  4005de:       48 89 5c 24 d0          mov    %rbx,0xffffffffffffffd0(%rsp)

  4005e3:       48 89 6c 24 d8          mov    %rbp,0xffffffffffffffd8(%rsp)

  4005e8:       48 83 ec 38             sub    $0x38,%rsp

  4005ec:       41 89 ff                mov    %edi,%r15d

  4005ef:       49 89 d5                mov    %rdx,%r13

  4005f2:       e8 49 fe ff ff          callq  400440 <_init>

  4005f7:       48 8d 05 6e 01 20 00    lea    2097518(%rip),%rax        # 60076c <__fini_array_end>

  4005fe:       49 29 c4                sub    %rax,%r12

  400601:       49 c1 fc 03             sar    $0x3,%r12

  400605:       4d 85 e4                test   %r12,%r12

  400608:       74 1e                   je     400628 <__libc_csu_init+0x68>

  40060a:       31 ed                   xor    %ebp,%ebp

  40060c:       48 89 c3                mov    %rax,%rbx

  40060f:       90                      nop   

  400610:       48 83 c5 01             add    $0x1,%rbp

  400614:       4c 89 ea                mov    %r13,%rdx

  400617:       4c 89 f6                mov    %r14,%rsi

  40061a:       44 89 ff                mov    %r15d,%edi

  40061d:       ff 13                   callq  *(%rbx)

  40061f:       48 83 c3 08             add    $0x8,%rbx

  400623:       49 39 ec                cmp    %rbp,%r12

  400626:       75 e8                   jne    400610 <__libc_csu_init+0x50>

  400628:       48 8b 5c 24 08          mov    0x8(%rsp),%rbx

  40062d:       48 8b 6c 24 10          mov    0x10(%rsp),%rbp

  400632:       4c 8b 64 24 18          mov    0x18(%rsp),%r12

  400637:       4c 8b 6c 24 20          mov    0x20(%rsp),%r13

  40063c:       4c 8b 74 24 28          mov    0x28(%rsp),%r14

  400641:       4c 8b 7c 24 30          mov    0x30(%rsp),%r15

  400646:       48 83 c4 38             add    $0x38,%rsp

  40064a:       c3                      retq  

  40064b:       90                      nop   

  40064c:       90                      nop   

  40064d:       90                      nop   

  40064e:       90                      nop   

  40064f:       90                      nop   

 

0000000000400650 <__do_global_ctors_aux>:

__do_global_ctors_aux():

  400650:       55                      push   %rbp

  400651:       48 89 e5                mov    %rsp,%rbp

  400654:       53                      push   %rbx

  400655:       bb 70 07 60 00          mov    $0x600770,%ebx

  40065a:       48 83 ec 08             sub    $0x8,%rsp

  40065e:       48 8b 05 0b 01 20 00    mov    2097419(%rip),%rax        # 600770 <__CTOR_LIST__>

  400665:       48 83 f8 ff             cmp    $0xffffffffffffffff,%rax

  400669:       74 14                   je     40067f <__do_global_ctors_aux+0x2f>

  40066b:       0f 1f 44 00 00          nopl   0x0(%rax,%rax,1)

  400670:       48 83 eb 08             sub    $0x8,%rbx

  400674:       ff d0                   callq  *%rax

  400676:       48 8b 03                mov    (%rbx),%rax

  400679:       48 83 f8 ff             cmp    $0xffffffffffffffff,%rax

  40067d:       75 f1                   jne    400670 <__do_global_ctors_aux+0x20>

  40067f:       48 83 c4 08             add    $0x8,%rsp

  400683:       5b                      pop    %rbx

  400684:       c9                      leaveq

  400685:       c3                      retq  

  400686:       90                      nop   

  400687:       90                      nop   

[root@Betty Cpp]#

最后,附加几张反汇编内容的对比图片。 
 

 

 

 

时间: 2024-08-31 08:10:04

【原创】objdump 的使用的相关文章

kset学习demo以及Oops反汇编objdump调试例子【原创】

写一个main.c gcc -c -g main.c objdump -S main.o > b.txt arm-none-linux-gnueabi-gcc -c -g a.c arm-none-linux-gnueabi-objdump -S a.o > c.txt 这样就可以查看到c和汇编同时产生   demo1: obj-m := kmod-demo1.oMAKEOPT := ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-#CFLAGS :

arm-linux-gcc/ld/objcopy/objdump参数总结【转】

arm-linux-gcc/ld/objcopy/objdump参数总结 转自:http://blog.csdn.net/muyuyuzhong/article/details/7755291 arm-linux-gcc -wall -O2 -c -o $@ $< -o 只激活预处理,编译,和汇编,也就是他只把程序做成obj文件 -Wall 指定产生全部的警告信息 -O2 编译器对程序提供的编译优化选项,在编译的时候使用该选项,可以使生成的执行文件的执行效率提高 -c 表示只要求编译器进行编译,

The Hybrid Response(原创)

The Hybrid Response When requirements call for changed data to result in both type 1 and type 2 behavior, the solution is disarmingly simple: provide for both. This cannot be achieved with a single attribute, but it can be achieved by providing a pai

浅解逻辑分区LPAR与DLPAR(原创)

作为一个DBA,对操作系统及底层硬件的了解也许不是那么至关重要,但是越好的了解数据库所运行的环境就能越好的了解数据库.这里笔者简单介绍下LPAR与DLPAR 为什么服务器需要分区  近来,UNIX服务器的分区技术成为一个热点.分区技术在某些应用领域的确能带来实际的好处,但也不能一概而论.这些年分区技术的作用有被逐渐夸大的趋势,在有些时候还被描述成无所不能的技术,目前主流的分区技术可以分为物理分区.逻辑分区和动态逻辑分区. 分区的优点 服务器集中 服务器的集中管理和应用模式的集中可以减少总拥有成本

ETL概述(原创)

ETL概述ETL,Extraction- Transformation-Loading的缩写,即数据抽取(Extract).转换(Transform).装载(Load)的过程,它是构建数 据仓库的重要环节.ETL是将业务系统的数据经过抽取.清洗转换之后加载到数据仓库的过程,目的是将企业中的分散.零乱.标准不统一的数据整合到一起,为 企业的决策提供分析依据.ETL是BI项目重要的一个环节.通过ETL,我们可以基于源系统中的数据来生成数据仓库.ETL为我们搭建了OLTP系统和 OLAP系统之间的桥梁

制作网站原创内容的五大技巧

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 昨天写了一篇文章"原创内容才是维持网站排名不竭的动力",分析了原创内容对于网站排名的重要性,告诉大家尽可能给网站创造大量的原创内容.其实道理大家都懂,关键是对很多站长来说,天天原创不是一般的难,可能今天写了一篇原创,但明天又不知道写什么了,好比吃了上顿没下顿,总觉得自己肚子墨水太少了.其实,所谓的原创标准是对搜索引擎而言的

Linux备份全攻略(原创)

系统备份是系统管理工作中十分重要的一个环切,本文详细介绍了各种Linux系统的备份方法,相信对大家的日常管理工作有所帮助.  备份是一项重要的工作,但是很多人没有去做.一旦由于使用不当造成数据丢失,备份就成了真正的救命者.本文将讨论设置备份的策略和如何选择备份介质,并介绍用于备份的tar和cpio工具.  设置备份策略  设置备份策略和计划可以增加进行备份的可能性.备份开始前,要确定备份哪些数据.备份的频率和使用什么样的介质进行备份.备份的时候,应该进行完全备份.  备份通常安排在空闲时间进行.

站长必备的七大不一样的伪原创素材来源

中介交易 SEO诊断 淘宝客 云主机 技术大厅 最近百度收录大波动.很多站长收录一夜之间从上千掉的几十,站长们日夜辛辛苦苦的更新文章就换来如此结果?很多站长变得愤怒,狂躁!但站长朋友们有没有仔细想想自己的网站问题到底出在哪里?鄙人参考多个收录波动较大的网站潜心分析研究,得出结论:网站内容的原创问题!下面我再来谈谈网站如何做到百度友好的伪原创!本次单讲文章伪原创文章素材来源. 一.素材来源:从源头改变 很多站长做伪原创文章,直接到baidu.google.soso 搜索几篇文章来修改拼凑.这是目前

[原创]抢先DriverStudio夺取机器控制权

    [原创]抢先DriverStudio夺取机器控制权               废话不谈,言归正传!       大家都知道,装了DriverStudio软件(我使用的是v3.2版)的系统在启动时会显示其配置画面,(如图0所示)                                    图 0   这时操作系统的其他部件还没有运行.那么显示的原理是什么?能不能早于DriverStudio而先执行其他代码呢?答案是肯定的.下面先谈谈原理吧.       原理比较简单,详细的大家