...

Source file src/debug/elf/symbols_test.go

Documentation: debug/elf

		 1  // Copyright 2014 The Go Authors. All rights reserved.
		 2  // Use of this source code is governed by a BSD-style
		 3  // license that can be found in the LICENSE file.
		 4  
		 5  package elf
		 6  
		 7  import (
		 8  	"io"
		 9  	"path"
		10  	"reflect"
		11  	"testing"
		12  )
		13  
		14  // TODO: remove duplicate code
		15  func TestSymbols(t *testing.T) {
		16  	do := func(file string, ts []Symbol, getfunc func(*File) ([]Symbol, error)) {
		17  		var f *File
		18  		var err error
		19  		if path.Ext(file) == ".gz" {
		20  			var r io.ReaderAt
		21  			if r, err = decompress(file); err == nil {
		22  				f, err = NewFile(r)
		23  			}
		24  		} else {
		25  			f, err = Open(file)
		26  		}
		27  		if err != nil {
		28  			t.Errorf("TestSymbols: cannot open file %s: %v", file, err)
		29  			return
		30  		}
		31  		defer f.Close()
		32  		fs, err := getfunc(f)
		33  		if err != nil && err != ErrNoSymbols {
		34  			t.Error(err)
		35  			return
		36  		} else if err == ErrNoSymbols {
		37  			fs = []Symbol{}
		38  		}
		39  		if !reflect.DeepEqual(ts, fs) {
		40  			t.Errorf("%s: Symbols = %v, want %v", file, ts, fs)
		41  		}
		42  	}
		43  	for file, ts := range symbolsGolden {
		44  		do(file, ts, (*File).Symbols)
		45  	}
		46  	for file, ts := range dynamicSymbolsGolden {
		47  		do(file, ts, (*File).DynamicSymbols)
		48  	}
		49  }
		50  
		51  // golden symbol table data generated by testdata/getgoldsym.c
		52  
		53  var symbolsGolden = map[string][]Symbol{
		54  	"testdata/gcc-amd64-linux-exec": {
		55  		Symbol{
		56  			Name:		"",
		57  			Info:		0x3,
		58  			Other:	 0x0,
		59  			Section: 0x1,
		60  			Value:	 0x400200,
		61  			Size:		0x0,
		62  		},
		63  		Symbol{
		64  			Name:		"",
		65  			Info:		0x3,
		66  			Other:	 0x0,
		67  			Section: 0x2,
		68  			Value:	 0x40021C,
		69  			Size:		0x0,
		70  		},
		71  		Symbol{
		72  			Name:		"",
		73  			Info:		0x3,
		74  			Other:	 0x0,
		75  			Section: 0x3,
		76  			Value:	 0x400240,
		77  			Size:		0x0,
		78  		},
		79  		Symbol{
		80  			Name:		"",
		81  			Info:		0x3,
		82  			Other:	 0x0,
		83  			Section: 0x4,
		84  			Value:	 0x400268,
		85  			Size:		0x0,
		86  		},
		87  		Symbol{
		88  			Name:		"",
		89  			Info:		0x3,
		90  			Other:	 0x0,
		91  			Section: 0x5,
		92  			Value:	 0x400288,
		93  			Size:		0x0,
		94  		},
		95  		Symbol{
		96  			Name:		"",
		97  			Info:		0x3,
		98  			Other:	 0x0,
		99  			Section: 0x6,
	 100  			Value:	 0x4002E8,
	 101  			Size:		0x0,
	 102  		},
	 103  		Symbol{
	 104  			Name:		"",
	 105  			Info:		0x3,
	 106  			Other:	 0x0,
	 107  			Section: 0x7,
	 108  			Value:	 0x400326,
	 109  			Size:		0x0,
	 110  		},
	 111  		Symbol{
	 112  			Name:		"",
	 113  			Info:		0x3,
	 114  			Other:	 0x0,
	 115  			Section: 0x8,
	 116  			Value:	 0x400330,
	 117  			Size:		0x0,
	 118  		},
	 119  		Symbol{
	 120  			Name:		"",
	 121  			Info:		0x3,
	 122  			Other:	 0x0,
	 123  			Section: 0x9,
	 124  			Value:	 0x400350,
	 125  			Size:		0x0,
	 126  		},
	 127  		Symbol{
	 128  			Name:		"",
	 129  			Info:		0x3,
	 130  			Other:	 0x0,
	 131  			Section: 0xA,
	 132  			Value:	 0x400368,
	 133  			Size:		0x0,
	 134  		},
	 135  		Symbol{
	 136  			Name:		"",
	 137  			Info:		0x3,
	 138  			Other:	 0x0,
	 139  			Section: 0xB,
	 140  			Value:	 0x400398,
	 141  			Size:		0x0,
	 142  		},
	 143  		Symbol{
	 144  			Name:		"",
	 145  			Info:		0x3,
	 146  			Other:	 0x0,
	 147  			Section: 0xC,
	 148  			Value:	 0x4003B0,
	 149  			Size:		0x0,
	 150  		},
	 151  		Symbol{
	 152  			Name:		"",
	 153  			Info:		0x3,
	 154  			Other:	 0x0,
	 155  			Section: 0xD,
	 156  			Value:	 0x4003E0,
	 157  			Size:		0x0,
	 158  		},
	 159  		Symbol{
	 160  			Name:		"",
	 161  			Info:		0x3,
	 162  			Other:	 0x0,
	 163  			Section: 0xE,
	 164  			Value:	 0x400594,
	 165  			Size:		0x0,
	 166  		},
	 167  		Symbol{
	 168  			Name:		"",
	 169  			Info:		0x3,
	 170  			Other:	 0x0,
	 171  			Section: 0xF,
	 172  			Value:	 0x4005A4,
	 173  			Size:		0x0,
	 174  		},
	 175  		Symbol{
	 176  			Name:		"",
	 177  			Info:		0x3,
	 178  			Other:	 0x0,
	 179  			Section: 0x10,
	 180  			Value:	 0x4005B8,
	 181  			Size:		0x0,
	 182  		},
	 183  		Symbol{
	 184  			Name:		"",
	 185  			Info:		0x3,
	 186  			Other:	 0x0,
	 187  			Section: 0x11,
	 188  			Value:	 0x4005E0,
	 189  			Size:		0x0,
	 190  		},
	 191  		Symbol{
	 192  			Name:		"",
	 193  			Info:		0x3,
	 194  			Other:	 0x0,
	 195  			Section: 0x12,
	 196  			Value:	 0x600688,
	 197  			Size:		0x0,
	 198  		},
	 199  		Symbol{
	 200  			Name:		"",
	 201  			Info:		0x3,
	 202  			Other:	 0x0,
	 203  			Section: 0x13,
	 204  			Value:	 0x600698,
	 205  			Size:		0x0,
	 206  		},
	 207  		Symbol{
	 208  			Name:		"",
	 209  			Info:		0x3,
	 210  			Other:	 0x0,
	 211  			Section: 0x14,
	 212  			Value:	 0x6006A8,
	 213  			Size:		0x0,
	 214  		},
	 215  		Symbol{
	 216  			Name:		"",
	 217  			Info:		0x3,
	 218  			Other:	 0x0,
	 219  			Section: 0x15,
	 220  			Value:	 0x6006B0,
	 221  			Size:		0x0,
	 222  		},
	 223  		Symbol{
	 224  			Name:		"",
	 225  			Info:		0x3,
	 226  			Other:	 0x0,
	 227  			Section: 0x16,
	 228  			Value:	 0x600850,
	 229  			Size:		0x0,
	 230  		},
	 231  		Symbol{
	 232  			Name:		"",
	 233  			Info:		0x3,
	 234  			Other:	 0x0,
	 235  			Section: 0x17,
	 236  			Value:	 0x600858,
	 237  			Size:		0x0,
	 238  		},
	 239  		Symbol{
	 240  			Name:		"",
	 241  			Info:		0x3,
	 242  			Other:	 0x0,
	 243  			Section: 0x18,
	 244  			Value:	 0x600880,
	 245  			Size:		0x0,
	 246  		},
	 247  		Symbol{
	 248  			Name:		"",
	 249  			Info:		0x3,
	 250  			Other:	 0x0,
	 251  			Section: 0x19,
	 252  			Value:	 0x600898,
	 253  			Size:		0x0,
	 254  		},
	 255  		Symbol{
	 256  			Name:		"",
	 257  			Info:		0x3,
	 258  			Other:	 0x0,
	 259  			Section: 0x1A,
	 260  			Value:	 0x0,
	 261  			Size:		0x0,
	 262  		},
	 263  		Symbol{
	 264  			Name:		"",
	 265  			Info:		0x3,
	 266  			Other:	 0x0,
	 267  			Section: 0x1B,
	 268  			Value:	 0x0,
	 269  			Size:		0x0,
	 270  		},
	 271  		Symbol{
	 272  			Name:		"",
	 273  			Info:		0x3,
	 274  			Other:	 0x0,
	 275  			Section: 0x1C,
	 276  			Value:	 0x0,
	 277  			Size:		0x0,
	 278  		},
	 279  		Symbol{
	 280  			Name:		"",
	 281  			Info:		0x3,
	 282  			Other:	 0x0,
	 283  			Section: 0x1D,
	 284  			Value:	 0x0,
	 285  			Size:		0x0,
	 286  		},
	 287  		Symbol{
	 288  			Name:		"",
	 289  			Info:		0x3,
	 290  			Other:	 0x0,
	 291  			Section: 0x1E,
	 292  			Value:	 0x0,
	 293  			Size:		0x0,
	 294  		},
	 295  		Symbol{
	 296  			Name:		"",
	 297  			Info:		0x3,
	 298  			Other:	 0x0,
	 299  			Section: 0x1F,
	 300  			Value:	 0x0,
	 301  			Size:		0x0,
	 302  		},
	 303  		Symbol{
	 304  			Name:		"",
	 305  			Info:		0x3,
	 306  			Other:	 0x0,
	 307  			Section: 0x20,
	 308  			Value:	 0x0,
	 309  			Size:		0x0,
	 310  		},
	 311  		Symbol{
	 312  			Name:		"",
	 313  			Info:		0x3,
	 314  			Other:	 0x0,
	 315  			Section: 0x21,
	 316  			Value:	 0x0,
	 317  			Size:		0x0,
	 318  		},
	 319  		Symbol{
	 320  			Name:		"init.c",
	 321  			Info:		0x4,
	 322  			Other:	 0x0,
	 323  			Section: 0xFFF1,
	 324  			Value:	 0x0,
	 325  			Size:		0x0,
	 326  		},
	 327  		Symbol{
	 328  			Name:		"initfini.c",
	 329  			Info:		0x4,
	 330  			Other:	 0x0,
	 331  			Section: 0xFFF1,
	 332  			Value:	 0x0,
	 333  			Size:		0x0,
	 334  		},
	 335  		Symbol{
	 336  			Name:		"call_gmon_start",
	 337  			Info:		0x2,
	 338  			Other:	 0x0,
	 339  			Section: 0xD,
	 340  			Value:	 0x40040C,
	 341  			Size:		0x0,
	 342  		},
	 343  		Symbol{
	 344  			Name:		"crtstuff.c",
	 345  			Info:		0x4,
	 346  			Other:	 0x0,
	 347  			Section: 0xFFF1,
	 348  			Value:	 0x0,
	 349  			Size:		0x0,
	 350  		},
	 351  		Symbol{
	 352  			Name:		"__CTOR_LIST__",
	 353  			Info:		0x1,
	 354  			Other:	 0x0,
	 355  			Section: 0x12,
	 356  			Value:	 0x600688,
	 357  			Size:		0x0,
	 358  		},
	 359  		Symbol{
	 360  			Name:		"__DTOR_LIST__",
	 361  			Info:		0x1,
	 362  			Other:	 0x0,
	 363  			Section: 0x13,
	 364  			Value:	 0x600698,
	 365  			Size:		0x0,
	 366  		},
	 367  		Symbol{
	 368  			Name:		"__JCR_LIST__",
	 369  			Info:		0x1,
	 370  			Other:	 0x0,
	 371  			Section: 0x14,
	 372  			Value:	 0x6006A8,
	 373  			Size:		0x0,
	 374  		},
	 375  		Symbol{
	 376  			Name:		"__do_global_dtors_aux",
	 377  			Info:		0x2,
	 378  			Other:	 0x0,
	 379  			Section: 0xD,
	 380  			Value:	 0x400430,
	 381  			Size:		0x0,
	 382  		},
	 383  		Symbol{
	 384  			Name:		"completed.6183",
	 385  			Info:		0x1,
	 386  			Other:	 0x0,
	 387  			Section: 0x19,
	 388  			Value:	 0x600898,
	 389  			Size:		0x1,
	 390  		},
	 391  		Symbol{
	 392  			Name:		"p.6181",
	 393  			Info:		0x1,
	 394  			Other:	 0x0,
	 395  			Section: 0x18,
	 396  			Value:	 0x600890,
	 397  			Size:		0x0,
	 398  		},
	 399  		Symbol{
	 400  			Name:		"frame_dummy",
	 401  			Info:		0x2,
	 402  			Other:	 0x0,
	 403  			Section: 0xD,
	 404  			Value:	 0x400470,
	 405  			Size:		0x0,
	 406  		},
	 407  		Symbol{
	 408  			Name:		"crtstuff.c",
	 409  			Info:		0x4,
	 410  			Other:	 0x0,
	 411  			Section: 0xFFF1,
	 412  			Value:	 0x0,
	 413  			Size:		0x0,
	 414  		},
	 415  		Symbol{
	 416  			Name:		"__CTOR_END__",
	 417  			Info:		0x1,
	 418  			Other:	 0x0,
	 419  			Section: 0x12,
	 420  			Value:	 0x600690,
	 421  			Size:		0x0,
	 422  		},
	 423  		Symbol{
	 424  			Name:		"__DTOR_END__",
	 425  			Info:		0x1,
	 426  			Other:	 0x0,
	 427  			Section: 0x13,
	 428  			Value:	 0x6006A0,
	 429  			Size:		0x0,
	 430  		},
	 431  		Symbol{
	 432  			Name:		"__FRAME_END__",
	 433  			Info:		0x1,
	 434  			Other:	 0x0,
	 435  			Section: 0x11,
	 436  			Value:	 0x400680,
	 437  			Size:		0x0,
	 438  		},
	 439  		Symbol{
	 440  			Name:		"__JCR_END__",
	 441  			Info:		0x1,
	 442  			Other:	 0x0,
	 443  			Section: 0x14,
	 444  			Value:	 0x6006A8,
	 445  			Size:		0x0,
	 446  		},
	 447  		Symbol{
	 448  			Name:		"__do_global_ctors_aux",
	 449  			Info:		0x2,
	 450  			Other:	 0x0,
	 451  			Section: 0xD,
	 452  			Value:	 0x400560,
	 453  			Size:		0x0,
	 454  		},
	 455  		Symbol{
	 456  			Name:		"initfini.c",
	 457  			Info:		0x4,
	 458  			Other:	 0x0,
	 459  			Section: 0xFFF1,
	 460  			Value:	 0x0,
	 461  			Size:		0x0,
	 462  		},
	 463  		Symbol{
	 464  			Name:		"hello.c",
	 465  			Info:		0x4,
	 466  			Other:	 0x0,
	 467  			Section: 0xFFF1,
	 468  			Value:	 0x0,
	 469  			Size:		0x0,
	 470  		},
	 471  		Symbol{
	 472  			Name:		"_GLOBAL_OFFSET_TABLE_",
	 473  			Info:		0x1,
	 474  			Other:	 0x2,
	 475  			Section: 0x17,
	 476  			Value:	 0x600858,
	 477  			Size:		0x0,
	 478  		},
	 479  		Symbol{
	 480  			Name:		"__init_array_end",
	 481  			Info:		0x0,
	 482  			Other:	 0x2,
	 483  			Section: 0x12,
	 484  			Value:	 0x600684,
	 485  			Size:		0x0,
	 486  		},
	 487  		Symbol{
	 488  			Name:		"__init_array_start",
	 489  			Info:		0x0,
	 490  			Other:	 0x2,
	 491  			Section: 0x12,
	 492  			Value:	 0x600684,
	 493  			Size:		0x0,
	 494  		},
	 495  		Symbol{
	 496  			Name:		"_DYNAMIC",
	 497  			Info:		0x1,
	 498  			Other:	 0x2,
	 499  			Section: 0x15,
	 500  			Value:	 0x6006B0,
	 501  			Size:		0x0,
	 502  		},
	 503  		Symbol{
	 504  			Name:		"data_start",
	 505  			Info:		0x20,
	 506  			Other:	 0x0,
	 507  			Section: 0x18,
	 508  			Value:	 0x600880,
	 509  			Size:		0x0,
	 510  		},
	 511  		Symbol{
	 512  			Name:		"__libc_csu_fini",
	 513  			Info:		0x12,
	 514  			Other:	 0x0,
	 515  			Section: 0xD,
	 516  			Value:	 0x4004C0,
	 517  			Size:		0x2,
	 518  		},
	 519  		Symbol{
	 520  			Name:		"_start",
	 521  			Info:		0x12,
	 522  			Other:	 0x0,
	 523  			Section: 0xD,
	 524  			Value:	 0x4003E0,
	 525  			Size:		0x0,
	 526  		},
	 527  		Symbol{
	 528  			Name:		"__gmon_start__",
	 529  			Info:		0x20,
	 530  			Other:	 0x0,
	 531  			Section: 0x0,
	 532  			Value:	 0x0,
	 533  			Size:		0x0,
	 534  		},
	 535  		Symbol{
	 536  			Name:		"_Jv_RegisterClasses",
	 537  			Info:		0x20,
	 538  			Other:	 0x0,
	 539  			Section: 0x0,
	 540  			Value:	 0x0,
	 541  			Size:		0x0,
	 542  		},
	 543  		Symbol{
	 544  			Name:		"puts@@GLIBC_2.2.5",
	 545  			Info:		0x12,
	 546  			Other:	 0x0,
	 547  			Section: 0x0,
	 548  			Value:	 0x0,
	 549  			Size:		0x18C,
	 550  		},
	 551  		Symbol{
	 552  			Name:		"_fini",
	 553  			Info:		0x12,
	 554  			Other:	 0x0,
	 555  			Section: 0xE,
	 556  			Value:	 0x400594,
	 557  			Size:		0x0,
	 558  		},
	 559  		Symbol{
	 560  			Name:		"__libc_start_main@@GLIBC_2.2.5",
	 561  			Info:		0x12,
	 562  			Other:	 0x0,
	 563  			Section: 0x0,
	 564  			Value:	 0x0,
	 565  			Size:		0x1C2,
	 566  		},
	 567  		Symbol{
	 568  			Name:		"_IO_stdin_used",
	 569  			Info:		0x11,
	 570  			Other:	 0x0,
	 571  			Section: 0xF,
	 572  			Value:	 0x4005A4,
	 573  			Size:		0x4,
	 574  		},
	 575  		Symbol{
	 576  			Name:		"__data_start",
	 577  			Info:		0x10,
	 578  			Other:	 0x0,
	 579  			Section: 0x18,
	 580  			Value:	 0x600880,
	 581  			Size:		0x0,
	 582  		},
	 583  		Symbol{
	 584  			Name:		"__dso_handle",
	 585  			Info:		0x11,
	 586  			Other:	 0x2,
	 587  			Section: 0x18,
	 588  			Value:	 0x600888,
	 589  			Size:		0x0,
	 590  		},
	 591  		Symbol{
	 592  			Name:		"__libc_csu_init",
	 593  			Info:		0x12,
	 594  			Other:	 0x0,
	 595  			Section: 0xD,
	 596  			Value:	 0x4004D0,
	 597  			Size:		0x89,
	 598  		},
	 599  		Symbol{
	 600  			Name:		"__bss_start",
	 601  			Info:		0x10,
	 602  			Other:	 0x0,
	 603  			Section: 0xFFF1,
	 604  			Value:	 0x600898,
	 605  			Size:		0x0,
	 606  		},
	 607  		Symbol{
	 608  			Name:		"_end",
	 609  			Info:		0x10,
	 610  			Other:	 0x0,
	 611  			Section: 0xFFF1,
	 612  			Value:	 0x6008A0,
	 613  			Size:		0x0,
	 614  		},
	 615  		Symbol{
	 616  			Name:		"_edata",
	 617  			Info:		0x10,
	 618  			Other:	 0x0,
	 619  			Section: 0xFFF1,
	 620  			Value:	 0x600898,
	 621  			Size:		0x0,
	 622  		},
	 623  		Symbol{
	 624  			Name:		"main",
	 625  			Info:		0x12,
	 626  			Other:	 0x0,
	 627  			Section: 0xD,
	 628  			Value:	 0x400498,
	 629  			Size:		0x1B,
	 630  		},
	 631  		Symbol{
	 632  			Name:		"_init",
	 633  			Info:		0x12,
	 634  			Other:	 0x0,
	 635  			Section: 0xB,
	 636  			Value:	 0x400398,
	 637  			Size:		0x0,
	 638  		},
	 639  	},
	 640  	"testdata/go-relocation-test-clang-x86.obj": {
	 641  		Symbol{
	 642  			Name:		"go-relocation-test-clang.c",
	 643  			Info:		0x4,
	 644  			Other:	 0x0,
	 645  			Section: 0xFFF1,
	 646  			Value:	 0x0,
	 647  			Size:		0x0,
	 648  		},
	 649  		Symbol{
	 650  			Name:		".Linfo_string0",
	 651  			Info:		0x0,
	 652  			Other:	 0x0,
	 653  			Section: 0xC,
	 654  			Value:	 0x0,
	 655  			Size:		0x0,
	 656  		},
	 657  		Symbol{
	 658  			Name:		".Linfo_string1",
	 659  			Info:		0x0,
	 660  			Other:	 0x0,
	 661  			Section: 0xC,
	 662  			Value:	 0x2C,
	 663  			Size:		0x0,
	 664  		},
	 665  		Symbol{
	 666  			Name:		".Linfo_string2",
	 667  			Info:		0x0,
	 668  			Other:	 0x0,
	 669  			Section: 0xC,
	 670  			Value:	 0x47,
	 671  			Size:		0x0,
	 672  		},
	 673  		Symbol{
	 674  			Name:		".Linfo_string3",
	 675  			Info:		0x0,
	 676  			Other:	 0x0,
	 677  			Section: 0xC,
	 678  			Value:	 0x4C,
	 679  			Size:		0x0,
	 680  		},
	 681  		Symbol{
	 682  			Name:		".Linfo_string4",
	 683  			Info:		0x0,
	 684  			Other:	 0x0,
	 685  			Section: 0xC,
	 686  			Value:	 0x4E,
	 687  			Size:		0x0,
	 688  		},
	 689  		Symbol{
	 690  			Name:		"",
	 691  			Info:		0x3,
	 692  			Other:	 0x0,
	 693  			Section: 0x1,
	 694  			Value:	 0x0,
	 695  			Size:		0x0,
	 696  		},
	 697  		Symbol{
	 698  			Name:		"",
	 699  			Info:		0x3,
	 700  			Other:	 0x0,
	 701  			Section: 0x2,
	 702  			Value:	 0x0,
	 703  			Size:		0x0,
	 704  		},
	 705  		Symbol{
	 706  			Name:		"",
	 707  			Info:		0x3,
	 708  			Other:	 0x0,
	 709  			Section: 0x3,
	 710  			Value:	 0x0,
	 711  			Size:		0x0,
	 712  		},
	 713  		Symbol{
	 714  			Name:		"",
	 715  			Info:		0x3,
	 716  			Other:	 0x0,
	 717  			Section: 0x4,
	 718  			Value:	 0x0,
	 719  			Size:		0x0,
	 720  		},
	 721  		Symbol{
	 722  			Name:		"",
	 723  			Info:		0x3,
	 724  			Other:	 0x0,
	 725  			Section: 0x6,
	 726  			Value:	 0x0,
	 727  			Size:		0x0,
	 728  		},
	 729  		Symbol{
	 730  			Name:		"",
	 731  			Info:		0x3,
	 732  			Other:	 0x0,
	 733  			Section: 0x7,
	 734  			Value:	 0x0,
	 735  			Size:		0x0,
	 736  		},
	 737  		Symbol{
	 738  			Name:		"",
	 739  			Info:		0x3,
	 740  			Other:	 0x0,
	 741  			Section: 0x8,
	 742  			Value:	 0x0,
	 743  			Size:		0x0,
	 744  		},
	 745  		Symbol{
	 746  			Name:		"",
	 747  			Info:		0x3,
	 748  			Other:	 0x0,
	 749  			Section: 0xA,
	 750  			Value:	 0x0,
	 751  			Size:		0x0,
	 752  		},
	 753  		Symbol{
	 754  			Name:		"",
	 755  			Info:		0x3,
	 756  			Other:	 0x0,
	 757  			Section: 0xC,
	 758  			Value:	 0x0,
	 759  			Size:		0x0,
	 760  		},
	 761  		Symbol{
	 762  			Name:		"",
	 763  			Info:		0x3,
	 764  			Other:	 0x0,
	 765  			Section: 0xD,
	 766  			Value:	 0x0,
	 767  			Size:		0x0,
	 768  		},
	 769  		Symbol{
	 770  			Name:		"",
	 771  			Info:		0x3,
	 772  			Other:	 0x0,
	 773  			Section: 0xE,
	 774  			Value:	 0x0,
	 775  			Size:		0x0,
	 776  		},
	 777  		Symbol{
	 778  			Name:		"",
	 779  			Info:		0x3,
	 780  			Other:	 0x0,
	 781  			Section: 0xF,
	 782  			Value:	 0x0,
	 783  			Size:		0x0,
	 784  		},
	 785  		Symbol{
	 786  			Name:		"",
	 787  			Info:		0x3,
	 788  			Other:	 0x0,
	 789  			Section: 0x10,
	 790  			Value:	 0x0,
	 791  			Size:		0x0,
	 792  		},
	 793  		Symbol{
	 794  			Name:		"v",
	 795  			Info:		0x11,
	 796  			Other:	 0x0,
	 797  			Section: 0xFFF2,
	 798  			Value:	 0x4,
	 799  			Size:		0x4,
	 800  		},
	 801  	},
	 802  	"testdata/hello-world-core.gz": {},
	 803  }
	 804  
	 805  var dynamicSymbolsGolden = map[string][]Symbol{
	 806  	"testdata/gcc-amd64-linux-exec": {
	 807  		Symbol{
	 808  			Name:		"__gmon_start__",
	 809  			Info:		0x20,
	 810  			Other:	 0x0,
	 811  			Section: 0x0,
	 812  			Value:	 0x0,
	 813  			Size:		0x0,
	 814  		},
	 815  		Symbol{
	 816  			Name:		"puts",
	 817  			Info:		0x12,
	 818  			Other:	 0x0,
	 819  			Section: 0x0,
	 820  			Value:	 0x0,
	 821  			Size:		0x18C,
	 822  			Version: "GLIBC_2.2.5",
	 823  			Library: "libc.so.6",
	 824  		},
	 825  		Symbol{
	 826  			Name:		"__libc_start_main",
	 827  			Info:		0x12,
	 828  			Other:	 0x0,
	 829  			Section: 0x0,
	 830  			Value:	 0x0,
	 831  			Size:		0x1C2,
	 832  			Version: "GLIBC_2.2.5",
	 833  			Library: "libc.so.6",
	 834  		},
	 835  	},
	 836  	"testdata/go-relocation-test-clang-x86.obj": {},
	 837  	"testdata/hello-world-core.gz":							{},
	 838  }
	 839  

View as plain text