Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

   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
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
2010-12-31  Robert Millan  <rmh@gnu.org>

	* config.bfd: Recognize mips-freebsd and mips-kfreebsd-gnu.
	* configure.host: Likewise.
	* configure.in: Support for `bfd_elf32_ntradbigmips_freebsd_vec',
	`bfd_elf32_ntradlittlemips_freebsd_vec',
	`bfd_elf32_tradbigmips_freebsd_vec',
	`bfd_elf32_tradlittlemips_freebsd_vec',
	`bfd_elf64_tradbigmips_freebsd_vec' and
	`bfd_elf64_tradlittlemips_freebsd_vec'.
	* configure: Regenerate.
	* elf32-mips.c: New target for FreeBSD support
	(same as traditional MIPS but overrides ELF_OSABI
	with ELFOSABI_FREEBSD).
	* elf64-mips.c: Likewise.
	* elfn32-mips.c: Likewise.
	* targets.c (_bfd_target_vector): Add
	`bfd_elf32_ntradbigmips_freebsd_vec',
	`bfd_elf32_ntradlittlemips_freebsd_vec',
	`bfd_elf32_tradbigmips_freebsd_vec',
	`bfd_elf32_tradlittlemips_freebsd_vec',
	`bfd_elf64_tradbigmips_freebsd_vec' and
	`bfd_elf64_tradlittlemips_freebsd_vec'.

2010-12-30  H.J. Lu  <hongjiu.lu@intel.com>

	* elfcode.h (NAME(elf,r_info)): New.
	(NAME(elf,r_sym)): Likewise.

	* elflink.c (elf64_r_info): Removed.
	(elf32_r_info): Likewise.
	(elf64_r_sym): Likewise.
	(elf32_r_sym): Likewise.

2010-12-30  H.J. Lu  <hongjiu.lu@intel.com>

	* elf64-x86-64.c (elf_x86_64_relocs_compatible): New.
	(elf_backend_relocs_compatible): Defined to
	elf_x86_64_relocs_compatible.

2010-12-30  H.J. Lu  <hongjiu.lu@intel.com>

	* archures.c (bfd_mach_x64_32): New.
	(bfd_mach_x64_32_intel_syntax): Likewise.
	* bfd-in2.h: Regenerated.

	* config.bfd (targ64_selvecs): Add bfd_elf32_x86_64_vec for
	i[3-7]86-*-linux-*.
	(targ_selvecs): Add bfd_elf32_x86_64_vec for x86_64-*-linux-*.

	* configure.in: Support bfd_elf32_x86_64_vec.
	* configure: Regenerated.

	* cpu-i386.c (bfd_x64_32_arch_intel_syntax): New.
	(bfd_x64_32_arch): Likewise.

	* elf-bfd.h (elf_append_rela): New prototype.
	(elf_append_rel): Likewise.
	(elf64_r_info): Likewise.
	(elf32_r_info): Likewise.
	(elf64_r_sym): Likewise.
	(elf32_r_sym): Likewise.

	* elf64-x86-64.c (ABI_64_P): New.
	(elf_x86_64_info_to_howto): Replace ELF64_R_TYPE with
	ELF32_R_TYPE.  Replace ELF64_ST_TYPE with ELF_ST_TYPE.
	(elf_x86_64_check_tls_transition):Likewise.
	(elf_x86_64_check_relocs): Likewise.
	(elf_x86_64_gc_mark_hook):Likewise.
	(elf_x86_64_gc_sweep_hook): Likewise.
	(elf_x86_64_relocate_section): Likewise.
	(elf_x86_64_reloc_type_class): Likewise.
	(ELF_DYNAMIC_INTERPRETER): Renamed to ...
	(ELF64_DYNAMIC_INTERPRETER): This.
	(ELF32_DYNAMIC_INTERPRETER): New.
	(elf_x86_64_link_hash_table): Add r_info, r_sym, swap_reloca_out,
	dynamic_interpreter and dynamic_interpreter_size.
	(elf_x86_64_get_local_sym_hash): Replace ELF64_R_SYM with
	htab->r_sym.  Replace ELF64_R_INFO with htab->r_info.
	(elf_x86_64_get_local_sym_hash): Likewise.
	(elf_x86_64_check_tls_transition):Likewise.
	(elf_x86_64_check_relocs): Likewise.
	(elf_x86_64_gc_mark_hook):Likewise.
	(elf_x86_64_gc_sweep_hook): Likewise.
	(elf_x86_64_relocate_section): Likewise.
	(elf_x86_64_finish_dynamic_symbol): Likewise.
	(elf_x86_64_finish_local_dynamic_symbol): Likewise.
	(elf_x86_64_link_hash_table_create): Initialize r_info, r_sym,
	swap_reloca_out, dynamic_interpreter and dynamic_interpreter_size.
	(elf_x86_64_check_relocs): Check ABI_64_P when requesting for
	PIC.
	(elf_x86_64_relocate_section): Likewise.
	(elf64_x86_64_adjust_dynamic_symbol): Replace sizeof
	(Elf64_External_Rela) with bed->s->sizeof_rela.
	(elf64_x86_64_allocate_dynrelocs): Likewise.
	(elf64_x86_64_size_dynamic_sections): Likewise.
	(elf64_x86_64_finish_dynamic_symbol): Likewise.
	(elf64_x86_64_append_rela): Removed.
	(elf32_x86_64_elf_object_p): New.
	Add bfd_elf32_x86_64_vec.

	* elf64-x86-64.c (elf64_x86_64_xxx): Renamed to ...
	(elf_x86_64_xxx): This.

	* elflink.c (bfd_elf_final_link): Check ELF file class on error.
	(elf_append_rela): New.
	(elf_append_rel): Likewise.
	(elf64_r_info): Likewise.
	(elf32_r_info): Likewise.
	(elf64_r_sym): Likewise.
	(elf32_r_sym): Likewise.

	* targets.c (bfd_elf32_x86_64_vec): New.
	(_bfd_target_vector): Add bfd_elf32_x86_64_vec.

2010-12-24  Alan Modra  <amodra@gmail.com>

	* compress.c (decompress_contents): Style.
	(bfd_get_full_section_contents): Do not decompress directly into
	caller buffer or directly return cached section contents.
	Check malloc return for compressed_buffer.

2010-12-21  Kai Tietz  <kai.tietz@onevision.com>

	* peXXigen.c (_bfd_XXi_final_link_postscript): Use
	bfd_get_symbol_leading_char to determine "_tls_used" name.

2010-12-21  Pierre Muller  <muller@ics.u-strasbg.fr>

	* peXXigen.c (_bfd_XXi_final_link_postscript): Use correct size
	for windows 64-bit TLS table size.

2010-12-16  DJ Delorie  <dj@redhat.com>

	* reloc.c (BFD_RELOC_RX_ABS16_REV): Add.
	(BFD_RELOC_RX_ABS32_REV): Add.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.
	* elf32-rx.c (rx_reloc_map): Add them.

2010-12-15  H.J. Lu  <hongjiu.lu@intel.com>

	* elf.c (_bfd_elf_new_section_hook): Special handling for
	.init_array/.fini_array output sections.

2010-12-13  Alan Modra  <amodra@gmail.com>

	* aoutx.h (aout_link_check_ar_symbols): Formatting.
	* cofflink.c (coff_link_check_ar_symbols): Likewise.
	* elflink.c (elf_link_add_archive_symbols): Likewise.
	* pdp11.c (aout_link_check_ar_symbols): Likewise.
	* xcofflink.c (xcoff_link_check_dynamic_ar_symbols,
	xcoff_link_check_dynamic_ar_symbols): Likewise.

	* aoutx.h (aout_link_check_archive_element): Simplify code dealing
	with add_archive_element substitute BFD.
	* cofflink.c (coff_link_check_archive_element): Likewise.
	* ecoff.c (ecoff_link_check_archive_element): Likewise.
	(ecoff_link_add_archive_symbols): Likewise.
	* linker.c (generic_link_check_archive_element): Likewise.
	* pdp11.c (aout_link_check_archive_element): Likewise.
	* vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise.
	* xcofflink.c (xcoff_link_check_archive_element): Likewise.

	* aoutx.h (aout_link_check_archive_element): Free symbols from old
	bfd if !keep_memory.
	* cofflink.c (coff_link_check_archive_element): Likewise.
	* pdp11.c (aout_link_check_archive_element): Likewise.
	* xcofflink.c (xcoff_link_check_archive_element): Likewise.

2010-12-13  Alan Modra  <amodra@gmail.com>

	* plugin.c (bfd_plugin_mkobject): Delete.
	(plugin_vec): Use bfd_false instead.

2010-12-12  H.J. Lu  <hongjiu.lu@intel.com>

	* elflink.c (elf_link_add_archive_symbols): Remove subsbfd.

2010-12-12  H.J. Lu  <hongjiu.lu@intel.com>

	* elf.c (special_sections_g): Add ".gnu.lto_".

2010-12-10  Alan Modra  <amodra@gmail.com>

	* config.bfd: Configure rs6000-*-aix* as for powerpc-*-aix*.
	Add aix5coff64_vec to powerpc ELF entries.

2010-12-09  Mike Frysinger  <vapier@gentoo.org>

	* .gitignore: New file.

2010-12-06  Dmitry Gorbachev  <d.g.gorbachev@gmail.com>

	PR ld/12288
	* plugin.c (message): Add putchar for the trailing `\n'.

2010-12-04  Mike Frysinger  <vapier@gentoo.org>

	* Makefile.am (!INSTALL_LIBBFD/bfdinclude_HEADERS): Set to nothing.
	(PLUGINS/bfdinclude_HEADERS): Append plugin-api.h.
	* Makefile.in: Regenerated.

2010-12-04  Alan Modra  <amodra@gmail.com>

	PR ld/12277
	* elflink.c (elf_link_output_extsym): Set bfd_error on symbol
	and section errors.  Allow better translation of error messages.

2010-12-02  Richard Sandiford  <richard.sandiford@linaro.org>

	* elf32-arm.c (elf32_arm_link_hash_table): Remove sgot, sgotplt,
	srelgot, splt, srelplt.
	(create_got_section, elf32_arm_link_hash_table_create): Don't set them.
	(elf32_arm_create_dynamic_sections): Likewise.  Use htab->root
	fields instead.
	(arm_type_of_stub): Use the root fields instead of the removed ones.
	(cortex_a8_erratum_scan, elf32_arm_size_stubs): Likewise.
	(bfd_elf32_arm_process_before_allocation): Likewise.
	(elf32_arm_check_relocs, allocate_dynrelocs): Likewise.
	(elf32_arm_size_dynamic_sections): Likewise.
	(elf32_arm_output_arch_local_syms): Likewise.
	(elf32_arm_final_link_relocate): Set sgot, splt and srelgot from the
	htab fields instead of looking them up by name.  Consistently use
	these local variables instead of htab fields.
	(elf32_arm_finish_dynamic_symbol): Likewise sgot, splt and srel.
	Use srelbss instead of looking it up by name.
	(elf32_arm_finish_dynamic_sections): Use sgotplt, splt and srelplt
	instead of looking up the symbols by name.  Use the root fields
	instead of the removed ones.

2010-12-02  Richard Sandiford  <richard.sandiford@linaro.org>

	* elf32-arm.c (elf32_arm_relocs_copied): Delete.
	(elf32_arm_link_hash_entry): Replace relocs_copied with dyn_relocs.
	(elf32_arm_link_hash_newfunc): Update accordingly.
	(elf32_arm_copy_indirect_symbol, elf32_arm_gc_sweep_hook): Likewise.
	(elf32_arm_check_relocs, allocate_dynrelocs): Likewise.
	(elf32_arm_readonly_dynrelocs): Likewise.
	(elf32_arm_size_dynamic_sections): Likewise.

2010-12-02  Paul Koning  <ni1d@arrl.net>

	* pdp11.c (aout_link_add_symbols): Ignore debug symbols.

2010-11-30  Joel Sherrill  <joel.sherrill@oarcorp.com>

	* config.bfd: Add sparc64-rtems.

2010-11-25  Alan Modra  <amodra@gmail.com>

	* po/es.po: Update.
	* po/fi.po: Update.
	* po/fr.po: Update.
	* po/ja.po: Update.
	* po/zh_CN.po: Update.

2010-11-24  Joel Brobecker  <brobecker@adacore.com>

	* Makefile.am (OPTIONAL_BACKENDS): Add rs6000-core.lo.
	(OPTIONAL_BACKENDS_CFILES): Add rs6000-core.c.
	* Makefile.in: Regenerate.

2010-11-24  Alan Modra  <amodra@gmail.com>

	PR ld/12253
	* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct
	DW_EH_PE_datarel handling.  Truncate .eh_frame_hdr address to
	ptr_size.

2010-11-23  Mingming Sun  <mingm.sun@gmail.com>

	* elfxx-mips.c (mips_set_isa_flags): Move bfd_mach_loongson_3a
	after bfd_mach_mips_sb1.

2010-11-17  Tristan Gingold  <gingold@adacore.com>

	* vms-lib.c (vms_write_index): Add comments.
	Partially revert previous patch.  Free blocks later.

2010-11-17  Nick Clifton  <nickc@redhat.com>

	PR ld/12161
	* elf32-avr.c (elf32_avr_check_relocs): Delete.
	(elf_backend_check_relocs): Delete.

2010-11-16  Jie Zhang  <jie.zhang@analog.com>

	* elf32-bfin.c (elf32_bfin_code_in_l1): New variable.
	(elf32_bfin_data_in_l1): New variable.
	(elf32_bfin_final_write_processing): New.
	(elf_backend_final_write_processing): Define.

2010-11-15  Mike Frysinger  <vapier@gentoo.org>

	PR binutils/12177
	* elf32-bfin.c (_bfin_create_got_section): Drop unused flags code.

2010-11-12  H.J. Lu  <hongjiu.lu@intel.com>

	* archive.c (_bfd_get_elt_at_filepos): Copy BFD_COMPRESS and
	BFD_DECOMPRESS.
	(bfd_openr_next_archived_file): Revert the last change.

2010-11-11  Mingming Sun  <mingm.sun@gmail.com>

	* archures.c (bfd_mach_mips_loongson_3a): Defined.
	* bfd-in2.h (bfd_mach_mips_loongson_3a): Defined.
	* cpu-mips.c (I_loongson_3a): New add.
	(arch_info_struct): Add loongson_3a.
	* elfxx-mips.c (_bfd_elf_mips_mach): Add loongson_3a.
	(mips_set_isa_flags): Add loongson_3a.
	(mips_mach_extensions): Add loongson_3a in MIPS64 extensions.

2010-11-10  Richard Sandiford  <richard.sandiford@linaro.org>

	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Remove unused
	variables.

2010-11-10  Nick Clifton  <nickc@redhat.com>

	* po/ja.po: Updated Japanese translation.
	* po/ru.po: Updated Russian translation.

2010-11-08  Nick Clifton  <nickc@redhat.com>

	* po/ja.po: Updated Japanese translation.

2010-11-08  Alan Modra  <amodra@gmail.com>

	* hash.c (bfd_hash_hash): Extract from..
	(bfd_hash_lookup): ..here.
	(bfd_hash_rename): New function.
	* section.c (bfd_rename_section): New function.
	* bfd-in.h (bfd_hash_rename): Declare.
	* bfd-in2.h: Regenerate.
	* elf.c (_bfd_elf_make_section_from_shdr): Rename input sections
	when compressing or decompressing.  Don't assert name match.
	* elf64-hppa.c (get_reloc_section): Don't assert name match.
	* elfxx-ia64.c (get_reloc_section): Likewise.

2010-11-05  Joseph Myers  <joseph@codesourcery.com>

	* elf32-tic6x.c (elf32_tic6x_obj_attrs_handle_unknown): New.
	(elf32_tic6x_merge_attributes): Use
	_bfd_elf_merge_unknown_attribute_low and
	_bfd_elf_merge_unknown_attribute_list.
	(elf_backend_obj_attrs_handle_unknown): Define.

2010-11-05  Joseph Myers  <joseph@codesourcery.com>

	* elf-attrs.c (_bfd_elf_merge_unknown_attribute_low,
	_bfd_elf_merge_unknown_attribute_list): Correct test for matching
	string attributes.

2010-11-05  Tristan Gingold  <gingold@adacore.com>

	* po/bfd.pot: Regenerate

2010-11-05  Tristan Gingold  <gingold@adacore.com>

	* configure.in: Bump version to 2.21.51
	* configure: Regenerate.

2010-11-04  Maciej W. Rozycki  <macro@codesourcery.com>

	PR ld/10144
	* elfxx-mips.c (_bfd_mips_elf_check_relocs)
	[R_MIPS_32, R_MIPS_REL32, R_MIPS_64]: Ignore relocs from
	SEC_DEBUGGING sections.

2010-11-04  Tristan Gingold  <gingold@adacore.com>

	* vms-lib.c (vms_write_index): Fix thinko: reverse the loop.
	Use bfd_zmalloc instead of bfd_malloc.  Fix comment.

2010-11-04  Kai Tietz  <kai.tietz@onevision.com>

	* coffcode.h (GNU_LINKONCE_WT): New.
	(sec_to_styp_flags): Add handling of new debug
	section.
	(styp_to_sec_flags): Likewise.

2010-11-04  Tristan Gingold  <gingold@adacore.com>

	* makefile.vms (CFLAGS): Make badalias warnings informational.
	* vms-lib.c (vms_lib_bread): Avoid arithmetic on void pointer.

2010-11-04  Joseph Myers  <joseph@codesourcery.com>

	* elf-attrs.c (_bfd_elf_merge_unknown_attribute_low,
	_bfd_elf_merge_unknown_attribute_list): New.
	* elf-bfd.h (struct elf_backend_data): Add
	obj_attrs_handle_unknown.
	(_bfd_elf_merge_unknown_attribute_low,
	_bfd_elf_merge_unknown_attribute_list): Declare.
	* elf32-arm.c (elf32_arm_obj_attrs_handle_unknown): New.  Split
	out from elf32_arm_merge_eabi_attributes.
	(elf32_arm_merge_eabi_attributes): Use
	_bfd_elf_merge_unknown_attribute_low and
	_bfd_elf_merge_unknown_attribute_list.
	(elf_backend_obj_attrs_handle_unknown): Define.
	* elfxx-target.h (elf_backend_obj_attrs_handle_unknown): Define.
	(elfNN_bed): Update initializer.

2010-11-02  H.J. Lu  <hongjiu.lu@intel.com>

	* bfd.c (BFD_FLAGS_FOR_BFD_USE_MASK): New.
	* bfd-in2.h: Regenerated.

2010-11-02  Joseph Myers  <joseph@codesourcery.com>

	* elf32-tic6x.c (elf32_tic6x_obj_attrs_arg_type): Except for
	Tag_ABI_compatibility, treat odd tags as strings and even ones as
	integers.
	(elf32_tic6x_obj_attrs_order, elf32_tic6x_tag_to_array_alignment,
	elf32_tic6x_array_alignment_to_tag): New.
	(elf32_tic6x_merge_attributes): Handle more attributes.  Set type
	for merged attributes.
	(elf_backend_obj_attrs_order): Define.

2010-10-29  Maciej W. Rozycki  <macro@codesourcery.com>

	* elfxx-mips.c (mips_elf_calculate_relocation): Fix a typo.

2010-10-29  Pawel Sikora  <pluto@pld-linux.org>

	PR binutils/12075
	* compress.c (bfd_compress_section_contents): Use uLong on
	compressed_size.

2010-10-29  Joseph Myers  <joseph@codesourcery.com>

	* elf32-tic6x.c (elf32_tic6x_obj_attrs_arg_type): Check
	Tag_ABI_compatibility not Tag_compatibility.
	(elf32_tic6x_merge_attributes): Update compatibility attribute
	name in comment.  Return FALSE if merging common attributes fails.

2010-10-29  Nick Clifton  <nickc@redhat.com>

	PR bintils/6962
	* coffcode.h (handle_COMDAT): Only check the base type when
	looking for a section symbol.

2010-10-29  H.J. Lu  <hongjiu.lu@intel.com>
	    Cary Coutant  <ccoutant@google.com>

	* archive.c (bfd_openr_next_archived_file): Copy BFD_COMPRESS
	and BFD_DECOMPRESS.

	* bfd.c (BFD_COMPRESS): New.
	(BFD_DECOMPRESS): Likewise.
	(BFD_FLAGS_SAVED): Likewise.
	(bfd_preserve_save): Replace BFD_IN_MEMORY with BFD_FLAGS_SAVED.

	* compress.c (bfd_uncompress_section_contents): Removed.
	(get_uncompressed_size): New.
	(decompress_contents): Likewise.
	(bfd_compress_section_contents): Likewise.
	(bfd_get_full_section_contents): Likewise.
	(bfd_is_section_compressed): Likewise.
	(bfd_init_section_decompress_status): Likewise.
	(bfd_init_section_compress_status): Likewise.

	* dwarf2.c (dwarf_debug_sections): New.
	(dwarf_debug_section_enum): Likewise.
	(read_section): Remove section_name and compressed_section_name.
	Add dwarf_debug_section_enum.  Try compressed debug section.
	(read_indirect_string): Updated.
	(read_abbrevs): Likewise.
	(decode_line_info): Likewise.
	(read_debug_ranges): Likewise.
	(find_line): Updated.

	* ecoff.c (bfd_debug_section): Add compress_status and
	compressed_size.

	* elf.c (_bfd_elf_make_section_from_shdr): Call
	bfd_is_section_compressed to check if a DWARF debug section is
	compressed.  Call bfd_init_section_compress_status or
	bfd_init_section_decompress_status if needed.

	* elflink.c (elf_link_input_bfd): Replace bfd_get_section_contents
	with bfd_get_full_section_contents.
	* merge.c (_bfd_add_merge_section): Likewise.
	* reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
	* simple.c (bfd_simple_get_relocated_section_contents): Likewise.

	* elfxx-target.h (TARGET_BIG_SYM): Allow BFD_COMPRESS and
	BFD_DECOMPRESS.
	(TARGET_LITTLE_SYM): Likewise.

	* libbfd-in.h (dwarf_debug_section): New.
	(dwarf_debug_sections): Likewise.

	* libbfd.c (_bfd_generic_get_section_contents): Issue an error
	when getting contents on compressed/decompressed section.

	* section.c (COMPRESS_SECTION_NONE): New.
	(COMPRESS_SECTION_DONE): Likewise.
	(DECOMPRESS_SECTION_SIZED): Likewise.
	(BFD_FAKE_SECTION): Add compress_status and compressed_size.
	(bfd_malloc_and_get_section): Replace bfd_get_section_contents
	with bfd_get_full_section_contents.

	* bfd-in2.h: Regenerated.
	* libbfd.h: Likewise.

2010-10-29  Bernd Schmidt  <bernds@codesourcery.com>
	    Joseph Myers  <joseph@codesourcery.com>

	* elf32-tic6x.c (elf32_tic6x_merge_attributes): Check for mismatch
	of DSBT attributes.

2010-10-25  Daniel Jacobowitz  <dan@codesourcery.com>

	* elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Always call
	_bfd_clear_contents.  Pass it the input section.
	* libbfd-in.h (_bfd_clear_contents): Add input_section argument.
	* libbfd.h: Regenerate.
	* reloc.c (_bfd_clear_contents): Take input_section argument.
	Use non-zero for .debug_ranges.
	(bfd_generic_get_relocated_section_conten): Update _bfd_clear_contents
	call.

	* elf32-arm.c (elf32_arm_relocate_section): Use
	RELOC_AGAINST_DISCARDED_SECTION.
	* elf-m10200.c (mn10200_elf_relocate_section): Likewise.
	* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
	* elf32-arm.c (elf32_arm_relocate_section): Likewise.
	* elf32-avr.c (elf32_avr_relocate_section): Likewise.
	* elf32-bfin.c (bfin_relocate_section): Likewise.
	(bfinfdpic_relocate_section): Likewise.
	* elf32-cr16.c (elf32_cr16_relocate_section): Likewise.
	* elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
	* elf32-cris.c (cris_elf_relocate_section): Likewise.
	* elf32-crx.c (elf32_crx_relocate_section): Likewise.
	* elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
	* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
	* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
	* elf32-i370.c (i370_elf_relocate_section): Likewise.
	* elf32-i860.c (elf32_i860_relocate_section): Likewise.
	* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
	* elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
	* elf32-lm32.c (lm32_elf_relocate_section): Likewise.
	* elf32-m32c.c (m32c_elf_relocate_section): Likewise.
	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
	* elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
	* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
	* elf32-mep.c (mep_elf_relocate_section): Likewise.
	* elf32-moxie.c (moxie_elf_relocate_section): Likewise.
	* elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
	* elf32-mt.c (mt_elf_relocate_section): Likewise.
	* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
	* elf32-rx.c (rx_elf_relocate_section): Likewise.
	* elf32-s390.c (elf_s390_relocate_section): Likewise.
	* elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
	* elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
	* elf32-sh.c (sh_elf_relocate_section): Likewise.
	* elf32-spu.c (spu_elf_relocate_section): Likewise.
	* elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
	* elf32-v850.c (v850_elf_relocate_section): Likewise.
	* elf32-vax.c (elf_vax_relocate_section): Likewise.
	* elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
	* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
	* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
	* elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise.
	(elf64_alpha_relocate_section): Likewise.
	* elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
	* elf64-mmix.c (mmix_elf_relocate_section): Likewise.
	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
	* elf64-s390.c (elf_s390_relocate_section): Likewise.
	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
	* elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
	* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.

2010-10-25  Nathan Sidwell  <nathan@codesourcery.com>

	* elf32-tic6x.c: Add attribution.

2010-10-25  Alan Modra  <amodra@gmail.com>

	* elf32-arm.c (find_stub_size_and_template): Avoid uninitialized
	var warning at -O3.

2010-10-25  Alan Modra  <amodra@gmail.com>

	* opncls.c (bfd_alloc, bfd_zalloc): Don't mark internal.
	* libbfd-in.h (bfd_alloc, bfd_zalloc): Don't declare here.
	* libbfd.h: Regenerate
	* bfd-in2.h: Regenerate.

2010-10-25  Alan Modra  <amodra@gmail.com>

	* opncls.c (_bfd_id_counter): Rename to bfd_id_counter.
	(bfd_reserved_id_counter, bfd_use_reserved_id): New vars.
	(_bfd_new_bfd): Use negative id when bfd_use_reserved_id.
	(bfd_create): Doc fix.
	* bfd-in2.h: Regenerate.

2010-10-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* elfxx-sparc.c (tpoff): Define bed, static_tls_size.
	Consider static_tls_alignment.

	* elf32-sparc.c (TARGET_BIG_SYM): Redefine to
	bfd_elf32_sparc_sol2_vec.
	(TARGET_BIG_NAME): Redefine to elf32-sparc-sol2.
	(elf32_bed): Redefine to elf32_sparc_sol2_bed.
	(elf_backend_static_tls_alignment): Redefine to 8.
	Include elf32-target.h.
	(elf_backend_static_tls_alignment): Undef again for VxWorks.

	* elf64-sparc.c (TARGET_BIG_SYM): Redefine to
	bfd_elf64_sparc_sol2_vec.
	(TARGET_BIG_NAME): Redefine to elf64-sparc-sol2.
	(ELF_OSABI): Undef.
	(elf64_bed): Redefine to elf64_sparc_sol2_bed.
	(elf_backend_static_tls_alignment): Redefine to 16.
	Include elf64-target.h.

	* config.bfd (sparc-*-solaris2.[0-6]): Split from sparc-*-elf*.
	Set targ_defvec to bfd_elf32_sparc_sol2_vec.
	[BFD64] (sparc-*-solaris2*): Set targ_defvec to
	bfd_elf32_sparc_sol2_vec.
	Replace bfd_elf64_sparc_vec by bfd_elf64_sparc_sol2_vec in
	targ_selvecs.

	* configure.in: Handle bfd_elf32_sparc_sol2_vec,
	bfd_elf64_sparc_sol2_vec.
	* configure: Regenerate.

	* targets.c (bfd_elf32_sparc_sol2_vec): Declare.
	(bfd_elf64_sparc_sol2_vec): Declare.
	(_bfd_target_vector): Add bfd_elf32_sparc_sol2_vec,
	bfd_elf64_sparc_sol2_vec.

2010-10-21  Joseph Myers  <joseph@codesourcery.com>

	* elf32-tic6x.c (elf32_tic6x_merge_arch_attributes): Update for
	attribute renaming.
	(elf_backend_obj_attrs_section): Change to ".c6xabi.attributes".

2010-10-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* elf-bfd.h (struct elf_backend_data): New member
	static_tls_alignment.
	* elfxx-target.h (elf_backend_static_tls_alignment): Provide
	default.
	(elfNN_bed): Initialize static_tls_alignment.
	* elflink.c (bfd_elf_final_link): Don't round end of TLS section
	if static TLS has special alignment requirements.
	* elf32-i386.c (elf_i386_tpoff): Define bed, static_tls_size.
	Consider static_tls_alignment.
	(elf_backend_static_tls_alignment): Redefine for Solaris 2.
	Undef again for VxWorks.
	* elf64-x86-64.c (elf64_x86_64_tpoff):  Define bed,
	static_tls_size.
	Consider static_tls_alignment.
	(elf_backend_static_tls_alignment): Redefine for Solaris 2.
	Undef again for Intel L1OM.

2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com>

	Apply LD plugin patch series (part 6/6).
	* aoutx.h (aout_link_check_ar_symbols): Take new "subsbfd" reference
	parameter and pass it when invoking add_archive_element callback.
	(aout_link_check_archive_element): Handle substitute bfd if it
	was set during add_archive_element callback in the above.
	* cofflink.c (coff_link_check_ar_symbols): Take new "subsbfd" reference
	parameter and pass it when invoking add_archive_element callback.
	(coff_link_check_archive_element): Handle substitute bfd if it
	was set during add_archive_element callback in the above.
	* ecoff.c (read_ext_syms_and_strs): New function holds symbol-reading
	code factored-out from ecoff_link_check_archive_element.
	(reread_ext_syms_and_strs): Clear old symbols and call it.
	(ecoff_link_check_archive_element):  Use the above.  Handle substitute
	BFD if one is set by add_archive_element callback.
	(ecoff_link_add_archive_symbols): Likewise allow bfd substitution.
	* elflink.c (elf_link_add_archive_symbols): Likewise.
	* linker.c (generic_link_check_archive_element): Likewise.
	* pdp11.c (aout_link_check_ar_symbols): Take new "subsbfd" reference
	parameter and pass it when invoking add_archive_element callback.
	(aout_link_check_archive_element): Handle substitute bfd if it was
	set during add_archive_element callback in the above.
	* vms-alpha.c (alpha_vms_link_add_archive_symbols): Handle substitute
	BFD if one is set by add_archive_element callback.
	* xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Take new "subsbfd"
	reference parameter and pass it when invoking add_archive_element
	callback.
	(xcoff_link_check_ar_symbols): Likewise.
	(xcoff_link_check_archive_element): Handle bfd substitution if it was
	set by callback in the above.

2010-10-11  Alan Modra  <amodra@gmail.com>

	* elf32-frv.c (elf32_frv_relocate_section): Set "name" for global syms.
	(elf32_frvfdpic_finish_dynamic_sections): Don't crash on
	__ROFIXUP_END__ defined in shared lib.

2010-10-11  Thomas Schwinge  <thomas@codesourcery.com>

	* elf32-arm.c (elf32_arm_final_link_relocate)
	(elf32_arm_relocate_section): Handle relocations against STN_UNDEF.

2010-10-11  Dave Korn  <dave.korn.cygwin@gmail.com>

	* elflink.c (_bfd_elf_link_output_relocs): Delete unused variable
	"output_rel_hdr".

2010-10-09  John Tytgat  <john@bass-software.com>

	* reloc.c (BFD_RELOC_ARM_HVC): Add.
	* libbfd.h: Regenerate.

2010-10-08  Kai Tietz  <kai.tietz@onevision.com>

	* pei-x86_64.c (find_next_xdata_or_end): Removed.
	(pex64_dump_xdata): Remove arguments stop, onaline,
	and pdata. New argument endx.  Print term "none"
	instead of misleading "CFA".
	(sort_xdata_arr): New function.
	(pex64_bfd_print_pdata): Use binary search/sort for unwind-RVAs
	instead of searching quadratic.

2010-10-08  Pierre Muller  <muller@ics.u-strasbg.fr>
	    Alan Modra  <amodra@gmail.com>

	Fix build with -DDEBUG=7
	* elf.c (_bfd_elf_symbol_from_bfd_symbol): Remove call
	to deleted function elf_symbol_flags.  Add typecast to avoid warning.
	* elf32-rx.c (dump_symbol) : Rename to..
	(rx_dump_symbol): ..this to avoid link errors.
	* elflink.c (elf_link_input_bfd): Add typecast to avoid warnings.
	(bfd_elf_perform_complex_relocation): Likewise.
	* elf32-xtensa.c (print_action_list): Likewise.

2010-10-06  Nathan Sidwell  <nathan@codesourcery.com>

	* elf32-arm.c (elf32_arm_stub_long_branch_any_arm_pic,
	elf32_arm_stub_long_branch_any_arm_pic): Use a consistent name for
	ip/r12.
	(arm_type_of_stub): Remove superfluous braces.

2010-10-04  Bernd Schmidt  <bernds@codesourcery.com>

	* elf-bfd.h (struct bfd_elf_section_reloc_data): New structure.
	(struct bfd_elf_section_data): New members REL and RELA; delete
	members REL_HDR, REL_HDR2, REL_COUNT, REL_COUNT2, REL_IDX,
	REL_IDX2, REL_HASHES.
	(_bfd_elf_init_reloc_shdr): Adjust declaration.
	(_bfd_elf_single_rel_hdr): Declare.
	(RELOC_AGAINST_DISCARDED_SECTION): Use it.
	* elf.c (bfd_section_from_shdr): Adjusted to match changes in
	data structures.
	(_bfd_elf_init_reloc_shdr): New arg RELDATA.  Remove arg REL_HDR.
	All callers changed.  Allocate memory for the Elf_Internal_Shdr
	structure.
	(_bfd_elf_single_rel_hdr): New function.
	(struct fake_section_arg): New structure.
	(elf_fake_section): Expect to see a pointer to it in the third
	argument.  If doing a relocatable link, allocate both REL and RELA
	sections as needed.
	(assign_section_numbers): Adjusted to match changes in
	data structures.
	(_bfd_elf_compute_section_file_positions): Call elf_fake_sections
	with a struct fake_section_args argument.
	* elfcode.h (elf_write_relocs): Adjusted to match changes in
	data structures.
	(elf_slurp_reloc_table): Likewise.
	* elflink.c (_bfd_elf_link_read_relocs): Likewise.
	(_bfd_elf_link_size_reloc_section): Remove arg REL_HDR, replace with
	RELDATA.  Remove argument O.  All callers changed.  Remove code to
	discover the right rel_hdr and count.
	(_bfd_elf_link_output_relocs): Adjusted to match changes in
	data structures.
	(elf_link_adjust_relocs): Remove args REL_HDR, COUNT and REL_HASH;
	replace with RELDATA.  All callers changed.
	(elf_link_input_bfd): Correctly generate rel_hash data when both
	REL and RELA sections are present.
	(elf_reloc_link_order): Adjusted to match changes in
	data structures.
	(bfd_elf_final_link): Simplify code to count relocs.  Free the
	hashes array for both REL and RELA.
	(get_dynamic_reloc_section_name): Use _bfd_elf_single_reloc_hdr
	* elf32-m32r.c (m32r_elf_fake_sections, elf_backend_fake_sections):
	Delete.
	* elf32-tic6x.c (elf32_tic6x_fake_sections, elf_backend_fake_sections):
	Delete.
	(elf32_tic6x_rel_relocation_p): Adjusted to match changes in
	data structures.
	* elf32-microblaze.c (microblaze_elf_check_relocs): Use
	_bfd_elf_single_rel_hdr.
	* elf32-ppc.c (ppc_elf_relax_section): Likewise.
	* elf32-spu.c (spu_elf_relocate_section): Likewise.
	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
	* elf64-hppa.c (get_reloc_section): Likewise.
	* elf64-mips.c (mips_elf64_slurp_reloc_table): Adjusted to match
	changes in data structures.
	(mips_elf64_write_relocs): Use _bfd_elf_single_rel_hdr.
	* elf64-ppc.c (ppc64_elf_edit_opd): Likewise.
	(ppc64_elf_edit_toc): Likewise.
	(get_relocs): Adjusted to match changes in data structures.
	Allocate an Elf_Internal_Shdr structure if necessary.
	(ppc64_elf_finish_dynamic_sections): Use _bfd_elf_single_rel_hdr.
	* elf64-sparc.c (elf64_sparc_slurp_reloc_table): Adjusted to match
	changes in data structures.
	* elfxx-ia64.c (get_reloc_section): Use _bfd_elf_single_rel_hdr.
	* elfxx-mips.c (MIPS_RELOC_RELA_P): Remove macro.
	(mips_elf_rel_relocation_p): Adjusted to match changes in data
	structures.
	(_bfd_mips_elf_relocate_section): Use mips_elf_rel_relocation_p rather
	than MIPS_RELOC_RELOCA_P.
	* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Use
	_bfd_elf_single_rel_hdr.
	(_bfd_sparc_elf_relocate_section): Likewise.

2010-10-01  Thomas Schwinge  <thomas@codesourcery.com>

	* elf32-arm.c (elf32_arm_size_stubs): Don't choke on local symbols in
	SHN_UNDEF, SHN_ABS, SHN_COMMON.

2010-09-30  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11812
	* elf32-i386.c (elf_i386_size_dynamic_sections): Don't
	 allocate .got.plt section if there are no GOT nor PLT
	 entries and there is no refeence to _GLOBAL_OFFSET_TABLE_.
	 * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections): Li.kewise.

	* elflink.c (_bfd_elf_define_linkage_sym): Clear non_elf.

2010-09-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure: Regenerate.

2010-09-24  Thomas Schwinge  <thomas@codesourcery.com>

	* elf32-arm.c, elf32-cris.c, elf32-hppa.c, elf32-i370.c, elf32-m32r.c,
	elf32-m68k.c, elf32-microblaze.c, elf32-ppc.c, elf32-score.c,
	elf32-score7.c, elf32-sh.c, elf32-vax.c, elf32-xtensa.c, elf64-alpha.c,
	elf64-hppa.c, elf64-mips.c, elf64-ppc.c, elf64-sparc.c, elfcode.h,
	elflink.c, elfxx-ia64.c, elfxx-mips.c: Use STN_UNDEF when referring to
	the zero symbol index.

	* elflink.c (bfd_elf_reloc_symbol_deleted_p): Compare the symbol index
	to STN_UNDEF, not SHN_UNDEF.

2010-09-23  Bernd Schmidt  <bernds@codesourcery.com>

	* elf32-tic6x.c (elf32_tic6x_fake_sections): New function.
	(elf_backend_fake_sections): Define.

2010-09-23  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* bfd-in2.h (BFD_RELOC_ARM_HVC): New enum value.

2010-09-23  Alan Modra  <amodra@gmail.com>

	* cpu-d10v.c: Make bits_per_address 18 for all arch_info entries.

2010-09-23  Alan Modra  <amodra@gmail.com>

	* elf.c (_bfd_elf_init_private_section_data): Allow for SEC_RELOC
	difference between input and output section.

2010-09-22  Kai Tietz  <kai.tietz@onevision.com>

	* coffcode.h (sec_to_styp_flags): Adjust debug
	sections to be conform to pe-coff specification
	and avoid marking them as excluded.
	(styp_to_sec_flags): Doing reverse mapping.

	* peXXigen.c (_bfd_XXi_final_link_postscript): Add handling for
	setting IAT directory entry.

2010-09-20  Richard Henderson  <rth@redhat.com>

	* elf64-alpha.c (elf64_alpha_howto_table): Use bfd_elf_generic_reloc.

2010-09-19  Richard Sandiford  <rdsandiford@googlemail.com>

	* elfxx-mips.c (mips_elf_link_hash_entry): Add got_only_for_calls.
	(mips_elf_link_hash_newfunc): Initialize it.
	(mips_elf_record_global_got_symbol): Add a for_call parameter.
	(mips_elf_count_got_symbols): Check SYMBOL_CALLS_LOCAL rather
	than SYMBOL_REFERENCES_LOCAL if the GOT entry is only used for calls.
	Try to remove .got entries in favour of .got.plt entries on VxWorks.
	(_bfd_mips_elf_check_relocs): Do not try to avoid allocating
	a global GOT entry for VxWorks calls.  Update uses of
	mips_elf_record_global_got_symbol.
	(allocate_dynrelocs): Set got_only_for_calls to false if the GOT
	entry is used for dynamic relocations.

2010-09-19  Richard Sandiford  <rdsandiford@googlemail.com>

	* elfxx-mips.c (mips_got_entry): Adjust commentary.
	(mips_elf_create_local_got_entry): If given a symbol, check that it
	has been assigned to the local part of the GOT.
	(mips_elf_count_got_symbols): Take the bfd_link_info as argument
	instead of the master GOT.  Put all locally-binding symbols in
	the local area.
	(mips_elf_make_got_per_bfd): Use global_got_area to decide whether
	a symbol lives in the local or global area.
	(mips_elf_local_relocation_p): Remove check_forced argument and
	retain only the !check_forced behavior.
	(mips_elf_calculate_relocation): Adjust call accordingly.
	Use global_got_area to decide whether an output relocation
	should be local or global.  Explicitly decay R_MIPS_GOT_PAGE
	into R_MIPS_GOT_DISP where appropriate.  Fix selection of
	local vs. global semantics for R_MIPS*_26.  Remove redundant
	reevaluation of what is stored in was_local_p.
	(mips_elf_create_dynamic_relocation): Use global_got_area to decide
	whether the relocation should be against a global or local symbol.
	(mips_elf_lay_out_got): Update the GOT traversal after the above
	change to mips_elf_count_got_symbols.
	(mips_elf_adjust_addend): Adjust call to mips_elf_local_relocation_p.
	(_bfd_mips_elf_relocate_section): Likewise.
	(_bfd_mips_elf_finish_dynamic_symbol): Use global_got_area to decide
	whether the symbol has a global got entry.
	(_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.

2010-09-19  Richard Sandiford  <rdsandiford@googlemail.com>

	* elfxx-mips.c (allocate_dynrelocs): Don't add relocation symbols
	to the global GOT on VxWorks.

2010-09-19  Richard Sandiford  <rdsandiford@googlemail.com>

	* elfxx-mips.c (_bfd_mips_elf_check_relocs): On VxWorks,
	exclude __GOTT_BASE__ and __GOTT_INDEX__ from the warning
	about HI/LO relocations in shared objects.

2010-09-16  Alan Modra  <amodra@gmail.com>

	* elf32-spu.c (spu_elf_size_sections): Omit fixups for non-alloc
	sections.
	(spu_elf_create_sections): Mark .fixup with SEC_LINKER_CREATED and
	set dynobj.
	(spu_elf_finish_dynamic_sections): New function.
	(elf_backend_finish_dynamic_sections): Define.

2010-09-16  Alan Modra  <amodra@gmail.com>

	* elf.c (bfd_elf_get_default_section_type): Don't test SEC_NEVER_LOAD.
	* elflink.c (elf_link_input_bfd): Likewise.

2010-09-15  Kai Tietz  <kai.tietz@onevision.com>

	* pei-x86_64.c (pex64_get_unwind_info): Reorgnized.
	(pex64_get_scope_entry): Removed.
	(find_next_xdata_or_end): New helper.
	(pex64_dump_xdata): Reworked.
	(pex64_bfd_print_pdata): Add checking for
	valid pdata sorting and values. Reworked
	output.

2010-09-15  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/12004
	* plugin.c (bfd_plugin_object_p): Handle NULL iostream.

2010-09-14  Kai Tietz  <kai.tietz@onevision.com>

	* pe-x86_64.c (COFF_SECTION_ALIGNMENT_ENTRIES): Make
	.rdata, .data, and .text partial matched section names.
	* pei-x86_64.c: Likewise.

	* peXXigen.c (sort_x64_pdata): New helper.
	(_bfd_XXi_final_link_postscript): Do pdata sorting.

2010-09-09  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11998
	* elf.c (assign_file_positions_for_load_sections): Don't warn
	zero LMA adjustment.

2010-09-09  Bernd Schmidt  <bernds@codesourcery.com>

	* elflink.c (bfd_elf_final_link): Correct calculation of
	max_external_reloc_size.

2010-09-07  Alan Modra  <amodra@gmail.com>
	    Marcus Brinkmann  <marcus.brinkmann@ruhr-uni-bochum.de>

	* peXXigen.c: Whitespace.
	(pe_print_idata): Correct section limit calculations.  Tidy array
	indexing.
	(_bfd_XX_print_ce_compressed_pdata): Don't leak memory.

2010-09-02  Richard Henderson  <rth@redhat.com>

	* config.bfd (x86_64-*-mingw*): Select 32-bit pei vectors too.

2010-09-01  Pedro Alves  <pedro@codesourcery.com>

	* netbsd-core.c (netbsd_core_core_file_pid): Renamed to ...
	(netbsd_core_file_pid): ... this.

2010-09-01  Tristan Gingold  <gingold@adacore.com>

	* coffcode.h (coff_slurp_line_table): Add a cast.
	(coff_slurp_reloc_table): Ditto.

2010-08-30  Gunther Nikl  <gnikl@users.sourceforge.net>

	* cisco-core.c (cisco_core_file_pid): Define.

2010-08-30  Alan Modra  <amodra@gmail.com>

	PR binutils/11953
	* elf.c (copy_elf_program_header): Calculate map->header_size
	from lowest_section, not first_section.  Validate program
	header p_paddr against section lma.  Find lowest_section in
	second loop over headers.

2010-08-28  Alan Modra  <amodra@gmail.com>

	* elflink.c (_bfd_elf_dynamic_symbol_p): Rename param.  Make
	common syms local.
	(_bfd_elf_symbol_refs_local_p): Expand comment.
	(elf_link_output_extsym): Fix style nit.

2010-08-26  Nathan Sidwell  <nathan@codesourcery.com>

	* elf32-arm.c (elf32_arm_final_link): Process stub sections
	exactly once.

2010-08-25  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11939
	* elflink.c (elf_link_add_object_symbols): Don't set
	unique_global for non-ELF hash link table.

2010-08-25  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11944
	* elf-bfd.h (elf_backend_data): Add target_id.
	(bfd_elf_make_generic_object): Renamed to ...
	(bfd_elf_make_object): This.

	* elf.c (bfd_elf_make_generic_object): Removed.
	(bfd_elf_make_object): New.
	(bfd_elf_mkcorefile): Really treat it as an object file.

	* elf-m10300.c (ELF_TARGET_ID): New.
	* elf32-arm.c (ELF_TARGET_ID): Likewise.
	* elf32-bfin.c (ELF_TARGET_ID): Likewise.
	* elf32-cris.c (ELF_TARGET_ID): Likewise.
	* elf32-frv.c (ELF_TARGET_ID): Likewise.
	* elf32-i386.c (ELF_TARGET_ID): Likewise.
	* elf32-lm32.c (ELF_TARGET_ID): Likewise.
	* elf32-m32r.c (ELF_TARGET_ID): Likewise.
	* elf32-m68hc11.c (ELF_TARGET_ID): Likewise.
	* elf32-m68hc12.c (ELF_TARGET_ID): Likewise.
	* elf32-m68k.c (ELF_TARGET_ID): Likewise.
	* elf32-microblaze.c (ELF_TARGET_ID): Likewise.
	* elf32-ppc.c (ELF_TARGET_ID): Likewise.
	* elf32-s390.c (ELF_TARGET_ID): Likewise.
	* elf32-sh.c (ELF_TARGET_ID): Likewise.
	* elf32-sparc.c (ELF_TARGET_ID): Likewise.
	* elf32-spu.c (ELF_TARGET_ID): Likewise.
	* elf32-tic6x.c (ELF_TARGET_ID): Likewise.
	* elf32-xtensa.c (ELF_TARGET_ID): Likewise.
	* elf64-alpha.c (ELF_TARGET_ID): Likewise.
	* elf64-hppa.c (ELF_TARGET_ID): Likewise.
	* elf64-ppc.c (ELF_TARGET_ID): Likewise.
	* elf64-s390.c (ELF_TARGET_ID): Likewise.
	* elf64-x86-64.c (ELF_TARGET_ID): Likewise.
	* elfxx-ia64.c (ELF_TARGET_ID): Likewise.

	* elf32-hppa.c (elf32_hppa_mkobject): Removed.
	(bfd_elf32_mkobject): Likewise.
	(ELF_TARGET_ID): New.

	* elf32-mips.c (ELF_TARGET_ID): New.
	(bfd_elf32_mkobject): Removed.

	* elf64-mips.c (ELF_TARGET_ID): New.
	(bfd_elf64_mkobject): Removed.

	* elfn32-mips.c (ELF_TARGET_ID): New.
	(bfd_elf32_mkobject): Removed.

	* elfxx-mips.c (_bfd_mips_elf_mkobject): Removed.
	* elfxx-mips.h (_bfd_mips_elf_mkobject): Likewise.

	* elfxx-target.h (bfd_elfNN_mkobject): Default to
	bfd_elf_make_object.
	(ELF_TARGET_ID): New.  Default to GENERIC_ELF_DATA.
	(elfNN_bed): Initialize target_id.

2010-08-25  Julian Brown  <julian@codesourcery.com>

	* elf32-arm.c (arm_stub_required_alignment): New.
	(arm_build_one_stub): Use above to partition stubs.
	(make_branch_to_a8_stub): Use arm_stub_a8_veneer_lwm not
	arm_stub_a8_veneer_b_cond.

2010-08-25  Alan Modra  <amodra@gmail.com>

	* aout-arm.c (MY(bfd_reloc_type_lookup)): Use bfd_arch_bits_per_address.
	* aout-ns32k.c (MY(bfd_reloc_type_lookup)): Likewise.
	* aoutx.h (NAME(aout,reloc_type_lookup)): Likewise.
	* coff-arm.c (coff_arm_reloc_type_lookup): Likewise.
	* elf-hppa.h (elf_hppa_reloc_final_type): Likewise.
	* reloc.c (bfd_default_reloc_type_lookup): Likewise.
	* riscix.c (riscix_reloc_type_lookup): Likewise.

2010-08-25  Alan Modra  <amodra@gmail.com>

	* elf.c (_bfd_elf_map_sections_to_segments): Don't load program
	headers if any loaded section wraps the address space.  Simplify
	~(m-1) to -m.  Use lma rather than vma when determining whether
	note sections are adjacent.

2010-08-22  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11933
	* elflink.c (elf_link_add_object_symbols): Don't check relocation
	if input ELF object ID doesn't match output.

2010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure: Regenerate.

2010-08-20  H.J. Lu  <hongjiu.lu@intel.com>

	* merge.c (sec_merge_emit): Revert the last checkin.

2010-08-20  Maciej W. Rozycki  <macro@codesourcery.com>

	* elf32-sh.c (sh_elf_relocate_section): Handle non-ELF output
	BFD.

2010-08-20  Maciej W. Rozycki  <macro@codesourcery.com>

	* elf32-m68k.c (bfd_elf_m68k_set_target_options): Don't set GOT
	options unless an m68k hash table has been found.

2010-08-20  Nick Clifton  <nickc@redhat.com>

	* merge.c (sec_merge_emit): Do not zero pad sections that do not
	have an alignment.

2010-08-18  Pedro Alves  <pedro@codesourcery.com>

	PR corefile/8210

	* bfd-in2.h: Regenerate.
	* corefile.c (bfd_core_file_pid): New.

	* targets.c (BFD_JUMP_TABLE_CORE): Add NAME##_core_file_pid.
	(struct bfd_target) <_core_file_pid>: New.

	* libbfd-in.h (_bfd_nocore_core_file_pid): Declare.
	* libbfd.c (_bfd_nocore_core_file_pid): New.

	* elf-bfd.h (bfd_elf32_core_file_pid, bfd_elf64_core_file_pid):
	Declare.
	* elfcode.h (elf_core_file_pid): New define.
	* elfcore.h (elf_core_file_pid): New function.

	* elf.c (elfcore_make_pid): Rewrite.
	(elfcore_grok_prstatus): Only set core_pid if not set yet.
	(elfcore_grok_prstatus) [!HAVE_PRSTATUS_T_PR_WHO]: Fallback to
	getting the lwpid from prstat.pr_pid.

	* elf64-x86-64.c (elf64_x86_64_grok_prstatus): Write the LWPID to
	elf_tdata's core_lwpid instead of to core_pid.
	(elf64_x86_64_grok_psinfo): Extract the main process's PID,
	and store it in elf_tdata's core_pid field.
	* elf32-i386.c (elf_i386_grok_prstatus): Write the LWPID to
	elf_tdata's core_lwpid instead of to core_pid.
	(elf_i386_grok_psinfo): Extract the main process's PID, and
	store it in elf_tdata's core_pid field.

	* elf32-am33lin.c (elf32_am33lin_grok_prstatus): Write the LWPID
	to elf_tdata's core_lwpid instead of to core_pid.
	* elf32-arm.c (elf32_arm_nabi_grok_prstatus): Write the LWPID to
	elf_tdata's core_lwpid instead of to core_pid.
	* elf32-cris.c (cris_elf_grok_prstatus): Write the LWPID to
	elf_tdata's core_lwpid instead of to core_pid.
	* elf32-frv.c (elf32_frv_grok_prstatus): Write the LWPID to
	elf_tdata's core_lwpid instead of to core_pid.
	* elf32-hppa.c (elf32_hppa_grok_prstatus): Write the LWPID to
	elf_tdata's core_lwpid instead of to core_pid.
	* elf32-mips.c (elf32_mips_grok_prstatus): Write the LWPID to
	elf_tdata's core_lwpid instead of to core_pid.
	* elf32-ppc.c (ppc_elf_grok_prstatus): Write the LWPID to
	elf_tdata's core_lwpid instead of to core_pid.
	* elf32-s390.c (elf_s390_grok_prstatus): Write the LWPID to
	elf_tdata's core_lwpid instead of to core_pid.
	* elf32-score.c (s3_bfd_score_elf_grok_prstatus): Write the LWPID
	to elf_tdata's core_lwpid instead of to core_pid.
	* elf32-score7.c (s7_bfd_score_elf_grok_prstatus): Write the LWPID
	to elf_tdata's core_lwpid instead of to core_pid.
	* elf32-sh.c (elf32_shlin_grok_prstatus): Write the LWPID to
	elf_tdata's core_lwpid instead of to core_pid.
	* elf32-xtensa.c (elf_xtensa_grok_prstatus): Write the LWPID to
	elf_tdata's core_lwpid instead of to core_pid.
	* elf64-hppa.c (elf64_hppa_grok_prstatus): Write the LWPID to
	elf_tdata's core_lwpid instead of to core_pid.
	* elf64-mips.c (elf64_mips_grok_prstatus): Write the LWPID to
	elf_tdata's core_lwpid instead of to core_pid.
	* elf64-ppc.c (ppc64_elf_grok_prstatus): Write the LWPID to
	elf_tdata's core_lwpid instead of to core_pid.
	* elfn32-mips.c (elf32_mips_grok_prstatus): Write the LWPID to
	elf_tdata's core_lwpid instead of to core_pid.

	* plugin.c (bfd_plugin_core_file_pid): New function.
	* aout-target.h (MY_core_file_pid): Define.
	* aout-tic30.c (MY_core_file_pid, MY_core_file_p): New defines.
	* coff-rs6000.c (coff_core_file_pid): New define.
	(rs6000coff_vec, pmac_xcoff_vec): Use BFD_JUMP_TABLE_CORE.
	* coff64-rs6000.c (coff_core_file_pid): New define.
	(rs6000coff64_vec): Use BFD_JUMP_TABLE_CORE.
	(xcoff64_core_file_pid): New define.
	(aix5coff64_vec): Use BFD_JUMP_TABLE_CORE.
	* mach-o-target.c (bfd_mach_o_core_file_pid): New define.
	* aix386-core.c (aix386_core_file_pid): New define.
	* hppabsd-core.c (hppabsd_core_core_file_pid): New define.
	* hpux-core.c (hpux_core_core_file_pid): New define.
	* irix-core.c (irix_core_core_file_pid): New define.
	* lynx-core.c (lynx_core_file_pid): New define.
	* osf-core.c (osf_core_core_file_pid): New define.
	* ptrace-core.c (ptrace_unix_core_file_pid): New define.
	* sco5-core.c (sco5_core_file_pid): New define.
	* xcoff-target.h (coff_core_file_pid): New define.
	* netbsd-core.c (netbsd_core_core_file_pid): New define.

2010-08-13  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11913
	* elf32-i386.c (elf_i386_finish_dynamic_sections): Check if
	 .got.plt section is discarded.
	 * elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Likewise.

2010-08-13  Nathan Sidwell  <nathan@codesourcery.com>

	* elf32-m69k.c (elf32_m68k_print_private_bfd_data): Detect EMAC_B
	variant.

2010-08-12  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/11909
	* Makefile.am (coff-tic4x.lo): New.  Disable -Werror.
	(coff-tic54x.lo): Likewise.
	* Makefile.in: Regenerated.

2010-08-12  Todd Veldhuizen  <todd.veldhuizen@logicblox.com>

	PR ld/11843
	* elflink.c (compute_bucket_count): Avoid futile long searches for
	the best bucket size.

2010-08-09  Richard Henderson  <rth@redhat.com>

	PR ld/11891
	* elf64-alpha.c (elf64_alpha_relax_tls_get_addr): Disallow relaxing
	to tlshi/lo until pos0 and pos1 are adjacent.  Use the destination
	register from the tldgd insn.

2010-08-09  Catherine Moore  <clm@codesourcery.com>

	* elfxx-mips.c (mips_elf_perform_relocation): Improve
	interlinking error message.

2010-08-06  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (ha_reloc_match): Allow matches to other than r2.
	(ppc64_elf_relocate_section): Nop out high part insn of large toc
	code sequence when the high part of offset is zero.

2010-08-04  Tristan Gingold  <gingold@adacore.com>

	* vms-alpha.c (alpha_vms_build_fixups): Write the EICP.
	(alpha_vms_bfd_final_link): Explicitly forbid relocatable links.
	Clear the SEC_RELOC flag.

2010-08-04  Tristan Gingold  <gingold@adacore.com>

	* vms-alpha.c (alpha_vms_create_eisd_for_section): Make writable
	sections with relocs.
	(alpha_vms_add_fixup_lp): Set SEC_RELOC flag.
	(alpha_vms_add_fixup_ca): Ditto.
	(alpha_vms_add_fixup_qr): Ditto.
	Add comments.

2010-08-04  Tristan Gingold  <gingold@adacore.com>

	* vms-alpha.c (alpha_vms_create_eisd_for_section): Do not make
	CODE sections writable.

2010-08-04  Tristan Gingold  <gingold@adacore.com>

	* vms-alpha.c (alpha_vms_add_lw_fixup): Renamed to ...
	(alpha_vms_add_fixup_lr): ... this for consistency.
	(alpha_vms_add_qw_fixup): Removed.
	Fix some comments.
	(vms_get_symbol_info): Adjust type for unknown sections.

2010-08-04  Tristan Gingold  <gingold@adacore.com>

	* vms-alpha.c (_bfd_vms_slurp_egsd): Use the canonical absolute
	section for any absolute section.  Remove some debugging code.

2010-08-03  DJ Delorie  <dj@redhat.com>

	* elf32-m32c.c (ELF_MAXPAGESIZE): Change page size to 256 bytes.

2010-08-03  Tristan Gingold  <gingold@adacore.com>

	* vms-misc.c (vms_convert_to_var): Make it static.
	(_bfd_vms_convert_to_var_unix_filename): Make it public.

2010-08-03  Tristan Gingold  <gingold@adacore.com>

	* makefile.vms (OBJS): Update list.

2010-08-03  Tristan Gingold  <gingold@adacore.com>

	* vms-alpha.c (_bfd_vms_slurp_egsd): Do not set SEC_HAS_CONTENTS
	nor SEC_RELOC for empty sections.

2010-08-03  Tristan Gingold  <gingold@adacore.com>

	* vms-alpha.c (evax_section_flags): Fix flags for absolute
	section.  Remove useless parenthesis.

2010-08-03  Tristan Gingold  <gingold@adacore.com>

	* vms-lib.c (vms_lib_bread_raw): Change type of BUF argument.
	(vms_lib_bread, vms_lib_bopen): Adjust.

2010-08-02  Alan Modra  <amodra@gmail.com>

	PR 11866
	* elf.c (assign_file_positions_for_load_sections): Use p_vaddr to
	calculate off_adjust rather than first section vma.

2010-07-30  H.J. Lu  <hongjiu.lu@intel.com>

	* elflink.c (compute_bucket_count): Add ATTRIBUTE_UNUSED to info.

2010-07-30  Anthony Green  <green@moxielogic.com>

	* config.bfd (targ_cpu): Add moxie-*-rtems support.

2010-07-29  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (ppc64_elf_edit_toc): Always adjust local syms in
	.toc section, even when none are used in relocs.

2010-07-27  Maciej W. Rozycki  <macro@codesourcery.com>

	* elfxx-mips.h: Include "elf/mips.h".
	(gprel16_reloc_p): New static inline function.
	* elfxx-mips.c (_bfd_mips_elf_check_relocs)
	[R_MIPS16_GOT16, R_MIPS_GOT16, R_MIPS_GOT_HI16, R_MIPS_GOT_LO16]:
	Use got16_reloc_p.
	(_bfd_mips_elf_relocate_section)[bfd_reloc_overflow]: Use
	gprel16_reloc_p.
	* elf32-mips.c (mips_info_to_howto_rel): Likewise.
	* elfn32-mips.c (mips_info_to_howto_rel): Likewise.

2010-07-27  Maciej W. Rozycki  <macro@codesourcery.com>

	* elf64-mips.c (mips_elf64_howto_table_rela)
	[R_MIPS_TLS_DTPMOD64]: Clear partial_inplace.
	[R_MIPS_TLS_DTPREL64, R_MIPS_TLS_GD, R_MIPS_TLS_LDM]: Likewise.
	[R_MIPS_TLS_DTPREL_HI16, R_MIPS_TLS_DTPREL_LO16]: Likewise.
	[R_MIPS_TLS_GOTTPREL, R_MIPS_TLS_TPREL64]: Likewise.
	[R_MIPS_TLS_TPREL_HI16, R_MIPS_TLS_TPREL_LO16]: Likewise.
	* elfn32-mips.c (elf_mips_howto_table_rela)
	[R_MIPS_TLS_DTPMOD32]: Likewise.
	[R_MIPS_TLS_DTPREL32, R_MIPS_TLS_GD, R_MIPS_TLS_LDM]: Likewise.
	[R_MIPS_TLS_DTPREL_HI16, R_MIPS_TLS_DTPREL_LO16]: Likewise.
	[R_MIPS_TLS_GOTTPREL, R_MIPS_TLS_TPREL32]: Likewise.
	[R_MIPS_TLS_TPREL_HI16, R_MIPS_TLS_TPREL_LO16]: Likewise.

2010-07-23  Naveen.H.S  <naveen.S@kpitcummins.com>
	    Ina Pandit  <ina.pandit@kpitcummins.com>

	* archures.c (DESCRIPTION): Define bfd_mach_v850e2 and
	bfd_mach_v850e2v3.
	* reloc.c (bfd_architecture): Define bfd_mach_v850e2 and
	bfd_mach_v850e2v3.
	(BFD_RELOC_V850_16_PCREL, BFD_RELOC_V850_17_PCREL,
	BFD_RELOC_V850_22_PCREL, BFD_RELOC_V850_23,
	BFD_RELOC_V850_32_PCREL, BFD_RELOC_V850_32_ABS,
	BFD_RELOC_V850_16_SPLIT_OFFSET, BFD_RELOC_V850_16_S1,
	BFD_RELOC_V850_LO16_SPLIT_OFFSET, BFD_RELOC_V850_SDA_15_16_OFFSET,
	BFD_RELOC_V850_ZDA_16_16_OFFSET, BFD_RELOC_V850_CALLT_15_16_OFFSET,
	BFD_RELOC_V850_32_GOTPCREL, BFD_RELOC_V850_16_GOT,
	BFD_RELOC_V850_32_GOT, BFD_RELOC_V850_22_PLT_PCREL,
	BFD_RELOC_V850_32_PLT_PCREL, BFD_RELOC_V850_COPY,
	BFD_RELOC_V850_GLOB_DAT, BFD_RELOC_V850_JMP_SLOT,
	BFD_RELOC_V850_RELATIVE, BFD_RELOC_V850_16_GOTOFF,
	BFD_RELOC_V850_32_GOTOFF, BFD_RELOC_V850_CODE,
	BFD_RELOC_V850_DATA): New relocations for V850 target.
	* config.bfd: Match all v850 targets.
	* cpu-v850.c (arch_info_struct): Define V850e2 and V850e2v3.
	* elf32-v850.c (v850_elf_check_relocs): Check the newly added
	relocations.
	(v850_elf_perform_relocation ): Update the newly added
	relocations.
	(v850_elf_howto_t): Update the specifications of added
	relocations.
	(v850_elf_reloc_map): Update the relocation mappings.
	(v850_elf_final_link_relocate): Maps added relocation into the
	appropriate howto structure.
	(v850_elf_object_p): Add support for V850E2 and V850E2V3.
	(v850_elf_final_write_processing): Likewise.
	(v850_elf_merge_private_bfd_data): Likewise.
	(v850_elf_print_private_bfd_data): Likewise.
	* libbfd.h: Regenerate.
	* bfd-in2.h: Regenerate.

2010-07-23  Alan Modra  <amodra@gmail.com>

	* archive.c (_bfd_archive_bsd44_construct_extended_name_table):
	Correct format specifier.

2010-07-22  Alan Modra  <amodra@gmail.com>

	* ecoff.c: Don't include aout/ranlib.h.
	(_bfd_ecoff_slurp_armap): Use correct struct for ardata->symdefs.
	(_bfd_ecoff_write_armap): Output ar_date and ar_size using
	_bfd_ar_spacepad.

2010-07-22  Alan Modra  <amodra@gmail.com>

	* aoutx.h (some_aout_object_p): Don't set EXEC_P for files with
	relocs.

2010-07-20  Alan Modra  <amodra@gmail.com>

	* elf.c (assign_file_positions_for_load_sections): Check that
	zero size sections are allocated in segments too.
	(assign_file_positions_for_non_load_sections): Warn if zero
	size alloc sections are found here.
	(copy_elf_program_header): Don't drop zero size sections from
	segment map.
	(copy_private_bfd_data): Check for changes in zero size sections.

2010-07-17  Alan Modra  <amodra@gmail.com>

	* elf.c (_bfd_elf_map_sections_to_segments): Force new segment
	for sections with overlapping LMAs.
	(assign_file_positions_for_load_sections): Catch overlap for
	sections that wrap around the address space.  Replace a
	warning that duplicates ld's --check-sections error with a
	warning that lma has been adjusted for overlapping sections.

2010-07-14  Cary Coutant  <ccoutant@google.com>

	PR ld/11817
	* dwarf2.c (read_section): Revert patch for compressed debug sections.
	(find_line): Likewise.
	(read_and_uncompress_section): Remove.

2010-07-13  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11812
	* elf32-i386.c (elf_i386_size_dynamic_sections): Don't
	 allocate .got.plt section if there are no GOT nor PLT
	 entries.
	 * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections): Likewise.

2010-07-13  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11791
	* elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Support
	garbage collection against STT_GNU_IFUNC symbols.

	* elf32-i386.c (elf_i386_get_local_sym_hash): Don't set
	elf.plt.offset/elf.got.offset to -1.
	(elf_i386_tls_transition): Skip TLS transition for functions.
	(elf_i386_gc_sweep_hook): Support STT_GNU_IFUNC symbols.

	* elf64-x86-64.c (elf64_x86_64_get_local_sym_hash): Don't set
	elf.plt.offset/elf.got.offset to -1.
	(elf64_x86_64_tls_transition): Skip TLS transition for functions.
	(elf64_x86_64_gc_sweep_hook): Support STT_GNU_IFUNC symbols.

2010-07-12  H.J. Lu  <hongjiu.lu@intel.com>

	* elf32-i386.c (elf_i386_check_relocs): Re-indent.
	(elf_i386_relocate_section): Likewise.

2010-07-06  H.J. Lu  <hongjiu.lu@intel.com>

	* dwarf2.c (add_line_info): Initialize prev_line.

2010-07-06  Alan Modra  <amodra@gmail.com>

	* elf32-ppc.c (ppc_elf_relax_section): Insert branch around
	trampolines only for .init and .fini sections.

2010-07-05  Alan Modra  <amodra@gmail.com>

	* elf32-ppc.c: Formatting.
	(ppc_elf_finish_dynamic_sections): Don't make plt_entry var static.

2010-07-03  Cary Coutant  <ccoutant@google.com>

	* compress.c (bfd_uncompress_section_contents): Add ATTRIBUTE_UNUSED.
	* dwarf2.c (read_and_uncompress_section): New function.
	(read_section): Call it.
	(find_line): Likewise.

2010-07-01  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (ppc64_elf_edit_toc): Use SYMBOL_CALLS_LOCAL rather
	than SYMBOL_REFERENCES_LOCAL.
	(ppc64_elf_relocate_section): Likewise.

2010-07-01  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (ppc64_elf_edit_toc): Keep toc entries for ifuncs.

2010-06-29  Alan Modra  <amodra@gmail.com>

	* cpu-maxq.c: Delete file.
	* coff-maxq.c: Delete file.
	* Makefile.am: Remove references to maxq.
	* archures.c: Likewise.
	* coffcode.h: Likewise.
	* configure.in: Likewise.
	* targets.c: Likewise.
	* config.bfd: Move maxq from obsolete to removed.
	* Makefile.in: Regenerate.
	* bfd-in2.h: Regenerate.
	* configure: Regenerate.
	* libbfd.h: Regenerate.
	* po/SRC-POTFILES.in: Regenerate.

2010-06-28  Alan Modra  <amodra@gmail.com>

	* compress.c (bfd_uncompress_section_contents): Use ATTRIBUTE_UNUSED
	to silence gcc warning.

2010-06-27  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (get_tls_mask): Don't segfault on NULL elf_section_data.
	(group_sections): Likewise.

2010-06-27  Alan Modra  <amodra@gmail.com>

	* bout.c (aligncode): Delete set but unused variables.
	* coff-mcore.c (coff_mcore_relocate_section): Likewise.
	* coff-ppc.c (ppc_record_toc_entry): Likewise.
	(coff_ppc_relocate_section): Likewise.
	* coff-rs6000.c (xcoff_complain_overflow_bitfield_func): Likewise.
	* elf-m10200.c (mn10200_elf_relax_delete_bytes): Likewise.
	* elf-m10300.c (mn10300_elf_final_link_relocate): Likewise.
	(mn10300_elf_relax_section): Likewise.
	* elf32-arm.c (arm_build_one_stub, arm_size_one_stub): Likewise.
	(record_vfp11_erratum_veneer): Likewise.
	(bfd_elf32_arm_vfp11_erratum_scan): Likewise.
	(elf32_arm_final_link_relocate): Likewise.
	(elf32_arm_check_relocs, arm_map_one_stub): Likewise.
	* elf32-avr.c (elf32_avr_relax_delete_bytes): Likewise.
	(elf32_avr_relax_section): Likewise.
	(avr_mark_stub_not_to_be_necessary): Likewise.
	* elf32-bfin.c (_bfin_create_got_section): Likewise.
	* elf32-cr16.c (cr16_elf_final_link_relocate): Likewise.
	(elf32_cr16_relax_delete_bytes): Likewise.
	* elf32-cr16c.c (cr16c_elf_final_link_relocate): Likewise.
	* elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise.
	* elf32-crx.c (elf32_crx_relax_delete_bytes): Likewise.
	* elf32-h8300.c (elf32_h8_relax_section): Likewise.
	(elf32_h8_relax_delete_bytes): Likewise.
	* elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
	* elf32-i370.c (i370_elf_check_relocs): Likewise.
	(elf_relocate_section): Likewise.
	* elf32-ip2k.c (adjust_all_relocations): Likewise.
	(ip2k_elf_relax_section): Likewise.
	* elf32-lm32.c (lm32_elf_relocate_section): Likewise.
	(lm32_elf_check_relocs): Likewise.
	(lm32_elf_finish_dynamic_sections): Likewise.
	(lm32_elf_finish_dynamic_symbol): Likewise.
	* elf32-m32c.c (m32c_offset_for_reloc): Likewise.
	(m32c_elf_relax_delete_bytes): Likewise.
	* elf32-m32r.c (m32r_elf_finish_dynamic_symbol): Likewise.
	(m32r_elf_finish_dynamic_sections): Likewise.
	(m32r_elf_check_relocs, m32r_elf_fake_sections): Likewise.
	* elf32-m68hc11.c (m68hc11_elf_relax_section): Likewise.
	* elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
	* elf32-m68k.c (elf_m68k_gc_sweep_hook): Likewise.
	* elf32-microblaze.c (microblaze_elf_relocate_section): Likewise.
	(microblaze_elf_check_relocs): Likewise.
	(microblaze_elf_finish_dynamic_symbol): Likewise.
	* elf32-msp430.c (msp430_elf_relax_delete_bytes): Likewise.
	* elf32-ppc.c (ppc_elf_tls_optimize): Likewise.
	* elf32-rx.c (rx_elf_relocate_section): Likewise.
	(elf32_rx_relax_delete_bytes, rx_offset_for_reloc): Likewise.
	(elf32_rx_relax_section): Likewise.
	* elf32-score.c (score_elf_got_offset_from_index): Likewise.
	(score_elf_final_link_relocate): Likewise.
	(s3_bfd_score_elf_relocate_section): Likewise.
	* elf32-score7.c (score_elf_got_offset_from_index): Likewise.
	(s7_bfd_score_elf_relocate_section): Likewise.
	* elf32-sh.c (sh_elf_check_relocs): Likewise.
	* elf32-spu.c (spu_elf_relocate_section): Likewise.
	* elf32-v850.c (v850_elf_check_relocs): Likewise.
	(find_remembered_hi16s_reloc): Likewise.
	* elf32-vax.c (elf32_vax_merge_private_bfd_data): Likewise.
	(elf_vax_relocate_section): Likewise.
	* elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
	* elf32-xtensa.c (xlate_offset_with_removed_text): Likewise.
	(move_literal): Likewise.
	* elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
	(elf64_hppa_check_relocs): Likewise.
	(elf64_hppa_finish_dynamic_symbol): Likewise.
	(elf64_hppa_relocate_section): Likewise.
	* elf64-mmix.c (mmix_elf_reloc, mmix_elf_relax_section): Likewise.
	* elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
	(ppc64_elf_edit_opd, ppc64_elf_edit_toc): Likewise.
	* elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
	(elfNN_vms_section_from_shdr): Likewise.
	* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
	(_bfd_sparc_elf_relocate_section): Likewise.
	* hp300hpux.c (slurp_symbol_table): Likewise.
	* i386lynx.c (swap_std_reloc_out, swap_std_reloc_in): Likewise.
	* mach-o.c (bfd_mach_o_write_thread): Likewise.
	* mmo.c (mmo_scan, mmo_write_symbols_and_terminator): Likewise.
	* nlm32-sparc.c (nlm_sparc_read_reloc): Likewise.
	* pdp11.c (pdp11_aout_link_input_section): Likewise.
	(aout_link_input_section, aout_link_input_bfd): Likewise.
	* pe-mips.c (mips_swap_reloc_out): Likewise.
	(coff_pe_mips_relocate_section): Likewise.
	* som.c (som_bfd_ar_write_symbol_stuff): Likewise.
	* vms-alpha.c (_bfd_vms_slurp_egsd): Likewise.
	* xsym.c (bfd_sym_fetch_type_information_table_ent): Likewise.

	* coff-i860.c (i860_reloc_processing): Avoid set but unused warning.
	* coffcode.h (coff_compute_section_file_positions): Likewise.
	(coff_slurp_reloc_table): Likewise.
	* cpu-arm.c (arm_check_note): Likewise.
	* elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Likewise.
	* elf32-avr.c (elf32_avr_relocate_section): Likewise.
	* elf32-bfin.c (elf32_bfin_merge_private_bfd_data): Likewise.
	* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
	* elf32-moxie.c (moxie_elf_relocate_section): Likewise.
	* elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
	* elf32-sh64.c (_bfd_sh_align_load_span): Likewise.
	* ieee.c (parse_expression): Likewise.
	(ieee_slurp_external_symbols, drop_int): Likewise.
	* peXXigen.c (pe_print_pdata): Likewise.
	* versados.c (process_esd): Likewise.

2010-06-25  Tristan Gingold  <gingold@adacore.com>

	* vms-alpha.c (_bfd_vms_write_egsd): Check absolute section with
	its flags.  Create an absolute section if needed.

2010-06-25  Tristan Gingold  <gingold@adacore.com>

	* vms-alpha.c (_bfd_vms_write_egsd): Set target_index field of
	sections.  Mark .vmsdebug section as SEC_DEBUGGING.  Do not create
	dummy psect anymore.  Adjust.
	(_bfd_vms_write_eeom): Adjust (use target_index instead of index)
	(_bfd_vms_write_etir): Ditto.
	(start_etir_or_etbt_record): Test for SEC_DEBUGGING instead of
	section name.  Adjust.

2010-06-25  Tristan Gingold  <gingold@adacore.com>

	* vms-alpha.c (alpha_vms_write_exec): Set linktime field.

2010-06-25  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (toc_skip_enum): Define.
	(ppc64_elf_edit_toc): Use two low bits of skip array as markers.
	Optimize largetoc sequences.
	(adjust_toc_syms): Update for skip array change.
	(ppc64_elf_relocate_section): Handle R_PPC64_LO_DS_OPT.

2010-06-25  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (is_static_defined): New function.
	(get_tls_mask, ppc_type_of_stub): Use it here.
	(ppc64_elf_edit_opd): Ensure we only attempt to edit ppc64 input.
	(ppc64_elf_tls_setup): Typo fix.
	(adjust_toc_syms): Correctly handle symbols defined past the end
	of the toc.  Move syms on removed entries to next entry rather
	than to start of toc.
	(ppc64_elf_edit_toc): Likewise.  Ensure we only attempt to
	edit ppc64 input.  Allocate one extra word in skip array.
	Honour info->keep_memory when reading relocs if we can.
	Adjust toc relocs after adjusting symbols.

2010-06-23  Nathan Sidwell  <nathan@codesourcery.com>

	* archive64.c (bfd_elf64_archive_write_armap): Fix buffer overrun
	when scaning map.

2010-06-17  Tristan Gingold  <gingold@adacore.com>

	* Makefile.am (BFD32_BACKENDS_CFILES): Move vms-alpha.c to ...
	(BFD64_BACKENDS_CFILES): ... here.
	(BFD32_BACKENDS): Move vms-alpha.lo to ...
	(BFD64_BACKENDS): ... here.
	* Makefile.in: Regenerate.

2010-06-15  Joseph Myers  <joseph@codesourcery.com>

	* elf-bfd.h (LEAST_KNOWN_OBJ_ATTRIBUTE): Decrease to 2.
	* elf32-tic6x.c (elf32_tic6x_obj_attrs_arg_type,
	elf32_tic6x_merge_arch_attributes, elf32_tic6x_merge_attributes,
	elf32_tic6x_merge_private_bfd_data): New.
	(bfd_elf32_bfd_merge_private_bfd_data,
	elf_backend_obj_attrs_arg_type, elf_backend_obj_attrs_section,
	elf_backend_obj_attrs_section_type, elf_backend_obj_attrs_vendor):
	Define.
	* elf32-tic6x.h (elf32_tic6x_merge_arch_attributes): Declare.

2010-06-15  Joseph Myers  <joseph@codesourcery.com>

	* elf-bfd.h (LEAST_KNOWN_OBJ_ATTRIBUTE): Define.
	(struct elf_backend_data): Update comment on obj_attrs_order.
	* elf-attrs.c (vendor_obj_attr_size, vendor_set_obj_attr_contents,
	_bfd_elf_copy_obj_attributes): Use LEAST_KNOWN_OBJ_ATTRIBUTE
	instead of hardcoded 4.
	* elf32-arm.c (elf32_arm_obj_attrs_order): Use
	LEAST_KNOWN_OBJ_ATTRIBUTE and LEAST_KNOWN_OBJ_ATTRIBUTE + 1
	instead of hardcoded 4 and 5.
	(elf32_arm_merge_eabi_attributes): Use LEAST_KNOWN_OBJ_ATTRIBUTE
	instead of hardcoded 4.

2010-06-14  Kevin Buettner  <kevinb@redhat.com>

	* elf32-h8300.c (elf_symbol_leading_char): Define.

2010-06-11  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* vms-alpha.c (_bfd_vms_write_egsd): Make sname const.

2010-06-11  Tristan Gingold  <gingold@adacore.com>

	* vms-alpha.c (_bfd_vms_slurp_egsd): Always set vma of absolute
	sections to 0.

2010-06-11  Tristan Gingold  <gingold@adacore.com>

	* vms-alpha.c (evax_bfd_print_etir): Handle ETIR__C_STO_GBL_LW.

2010-06-11  Tristan Gingold  <gingold@adacore.com>

	* vms-misc.c (_bfd_vms_output_counted): Make VALUE argument const.
	Adjust cast.
	(_bfd_vms_output_dump): Make DATA argument const, adjust cast.
	* vms.h (_bfd_vms_output_counted, _bfd_vms_output_dump): Adjust.
	* vms-alpha.c (evax_section_flags): Make it const.
	(vms_secflag_by_name): Remove unused ABFD argument.
	Make SECTION_FLAGS and NAME arguments const. Clarify comment.
	(vms_esecflag_by_name): Make SECTION_FLAGS and NAME arguments const.
	(_bfd_vms_slurp_egsd): Adjust call to vms_secflag_by_name.
	(_bfd_vms_write_egsd): Remove useless cast.

2010-06-10  Tristan Gingold  <gingold@adacore.com>

	* config.bfd: Remove #if/#endif so that som can be compiled on any
	host.
	* targets.c (_bfd_target_vector): Remove #if/#endif so that som
	can be used on any host.

2010-06-10  Tristan Gingold  <gingold@adacore.com>

	* som.c: Can now be compiled on any host.
	Include bfd headers instead of system one.
	(som_compute_checksum): Parameter is now a pointer to a
	som_external_header structure.  Adjust.
	(struct section_to_type): Field section is now const.
	(R_DLT_REL, R_AUX_UNWIND, R_SEC_STMT): Removed conditional
	definition.
	(R_LONG_PCREL_MODE, R_N0SEL, R_N1SEL, R_LINETAB): Ditto.
	(R_LINETAB_ESC, R_LTP_OVERRIDE, R_COMMENT): Ditto.
	(som_swap_clock_in, som_swap_clock_out): New functions.
	(som_swap_header_in, som_swap_header_out): Likewise.
	(som_swap_space_dictionary_in): Likewise.
	(som_swap_space_dictionary_out): Likewise.
	(som_swap_subspace_dictionary_in): Likewise.
	(som_swap_subspace_dictionary_record_out): Likewise.
	(som_swap_aux_id_in, som_swap_aux_id_out): Likewise.
	(som_swap_string_auxhdr_out): Likewise.
	(som_swap_compilation_unit_out): Likewise.
	(som_swap_exec_auxhdr_in): Likewise.
	(som_swap_exec_auxhdr_out): Likewise.
	(som_swap_lst_header_in): Likewise.
	(som_object_setup): Adjust parameter type using bfd types.
	(setup_sections): Likewise.  Ditto for object file types.
	Use intermediate variables for external representation and use the
	swap functions to convert.
	(som_object_p): Ditto.  Remove #ifdef/#endif on always defined
	macros.
	(som_prep_headers): Likewise.
	(som_write_symbol_strings): Likewise.
	(som_begin_writing): Likewise.
	(som_finish_writing): Likewise.
	(som_build_and_write_symbol_table): Likewise.
	(bfd_section_from_som_symbol): Likewise.
	(som_slurp_symbol_table): Likewise.
	(som_bfd_print_private_bfd_data): Likewise.
	(bfd_som_attach_aux_hdr): Likewise.  Clear the padding.
	(bfd_som_attach_compilation_unit): Likewise.
	(som_bfd_count_ar_symbols): Likewise.
	(som_bfd_fill_in_ar_symbols): Likewise.
	(som_slurp_armap): Likewise.
	(som_bfd_ar_write_symbol_stuff): Likewise.
	(som_write_armap): Likewise.  Use _bfd_ar_spacepad instead of
	sprintf to write header fields.
	* som.h: Include bfd headers instead of system one.
	(FILE_HDR_SIZE, AUX_HDR_SIZE): Removed.
	(struct somdata): Use bfd structures instead of system ones.
	(struct som_section_data_struct): Likewise.
	(struct som_subspace_dictionary_record): Removed (now in
	include/som/internal.h)

2010-06-10  Tristan Gingold  <gingold@adacore.com>

	* targets.c (bfd_target_list): Remove hp/ux compiler work-around
	as bfd requires an ANSI-C compiler.

2010-06-09 Tristan Gingold  <gingold@adacore.com>

	* bfdio.c (bfd_bread): Fix the code to prevent reading past the
	end of archive members.

2010-06-08  Tristan Gingold  <gingold@adacore.com>

	* som.c (som_bfd_free_cached_info): Do not free relocations as
	they were allocated with bfd_zalloc.

2010-06-08  Tristan Gingold  <gingold@adacore.com>

	* vms-lib.c (_bfd_vms_lib_write_archive_contents): Increment
	for the first block.

2010-06-08  Tristan Gingold  <gingold@adacore.com>

	* vms-lib.c (_bfd_vms_lib_ia64_mkarchive): New function.
	* libbfd-in.h (_bfd_vms_lib_ia64_mkarchive): Declare.
	* libbfd.h: Regenerate.
	* elfxx-ia64.c (bfd_elfNN_write_archive_contents): Redefine for VMS.
	(bfd_elfNN_mkarchive): Ditto.

2010-06-02  Tristan Gingold  <gingold@adacore.com>

	* vms-alpha.c (alpha_vms_bfd_final_link): Fix 64bit constant.

2010-06-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure: Regenerate.

2010-06-01  Tristan Gingold  <gingold@adacore.com>

	* vms-alpha.c (struct vms_private_data_struct): Add
	transfer_address field.  Remove unused dst_info field.
	(alpha_vms_write_exec): Use transfer_address.
	(_bfd_vms_write_egsd): Add a comment about LIB$INITIALIZE.
	(alpha_vms_bfd_final_link): Set transfer_address.

2010-05-31  Tristan Gingold  <gingold@adacore.com>

	* vms-lib.c (credat_lo, credat_hi): New fields.
	(vms_read_block): Adjust comments.
	(vms_write_block): New function.
	(_bfd_vms_lib_archive_p): Decode majorid once.  Replace some
	hard-coded values with constants.  Set credat_lo and credat_hi.
	(_bfd_vms_lib_mkarchive): Add argument kind.
	Set ver, mhd_size and type according to kind.
	(_bfd_vms_lib_alpha_mkarchive): New function.
	(struct lib_index): Renamed from struct vms_index
	(lib_index_cmp): Renamed from vms_index_cmp.  Adjusted.
	(get_idxlen): Type of idx argument adjusted.  Add is_elfidx
	argument and handle it.
	(vms_write_index): Adjust argument idx.  Handle elf indexes.
	(_bfd_vms_lib_build_map): Adjust type of arguments modules and res.
	(_bfd_vms_lib_write_archive_contents): Add is_elfidx variable and
	use it.  Handle elf indexes.  Set credat.
	* libbfd-in.h (_bfd_vms_lib_mkarchive): Renamed to ...
	(_bfd_vms_lib_alpha_mkarchive): ... this.
	* libbfd.h: Regenerated.
	* vms-alpha.c (vms_alpha_vec): Adjust after previous renaming.

2010-05-28  Sterling Augustine  <sterling@tensilica.com>

	* elf32-xtensa.c (elf_xtensa_relocate_section): Add a large amount
	of code to change the bits in the instructions to match the changes
	in the relocations.  Declare dest_addr and sym_sec to help.

2010-05-28  Jan Kratochvil  <jan.kratochvil@redhat.com>

	Workaround GCC PR middle-end/4210.
	* vms-misc.c (vms_time_t_to_vms_time): Use ternary operator for val[2]
	and val[3].

2010-05-27  Tristan Gingold  <gingold@adacore.com>

	* vms-misc.c: Define __NEW_STARLET.  Remove trailing spaces.
	(VMS_TIME_FACTOR, VMS_TIME_OFFSET): New macros.
	(vms_time_to_time_t): Use them instead of local const.
	(vms_time_t_to_vms_time): New function.
	(vms_get_time): Likewise.
	(vms_raw_get_time): Likewise.
	* vms.h	(vms_time_t_to_vms_time): New declaration.
	(vms_get_time): Likewise.
	(vms_raw_get_time): Likewise.

2010-05-26  Tristan Gingold  <gingold@adacore.com>

	* vms-alpha.c: Update comments.
	(alpha_vms_write_exec): Set lnkflags.  Write the GST.
	(alpha_vms_link_output_symbol): New function.
	(alpha_vms_bfd_final_link): Generate the VMS symbol table.
	Set dst_section private field.
	(alpha_vms_bfd_final_link): Remove code that set dst_section.

2010-05-26  Tristan Gingold  <gingold@adacore.com>

	* bfdio.c: Declare and define _bfd_memory_iovec.
	(bfd_bread): Move code for BFD_IN_MEMORY...
	(bfd_bwrite): ... Ditto ...
	(bfd_tell): ... Ditto ...
	(bfd_flush): ... Ditto ...
	(bfd_stat): ... Ditto ...
	(bfd_seek): ... Ditto ...
	(bfd_get_size): ... Ditto ...
	(bfd_mmap): ... Ditto ...
	(memory_bread): ... to these new functions.
	(memory_bwrite): Ditto.
	(memory_btell): Ditto.
	(memory_bseek): Ditto.
	(memory_bflush): Ditto.
	(memory_bstat): Ditto.
	(memory_bmmap): Ditto.
	(memory_bclose): New function.
	* peicode.h (pe_ILF_build_a_bfd): Use BFD_IN_MEMORY.
	* xcofflink.c (bfd_xcoff_link_generate_rtinit): Ditto.
	* opncls.c (bfd_close): Do not handle BFD_IN_MEMORY case.
	(bfd_make_writable): Use _bfd_memory_iovec.
	* elfcode.h (bfd_from_remote_memory): Use _bfd_memory_iovec.
	* coff-alpha.c (alpha_ecoff_get_elt_at_filepos): Use
	_bfd_memory_iovec.
	(alpha_ecoff_openr_next_archived_file): Use proxy_origin
	instead of origin.
	* libbfd.h: Regenerate.

2010-05-25  Daniel Jacobowitz  <dan@codesourcery.com>
	    Joseph Myers  <joseph@codesourcery.com>
	    Andrew Stubbs  <ams@codesourcery.com>

	* config.bfd (sh-*-uclinux* | sh[12]-*-uclinux*): Add
	bfd_elf32_shl_vec, and FDPIC vectors to targ_selvecs.
	* configure.in: Handle FDPIC vectors.
	* elf32-sh-relocs.h: Add FDPIC and movi20 relocations.
	* elf32-sh.c (DEFAULT_STACK_SIZE): Define.
	(SYMBOL_FUNCDESC_LOCAL): Define.  Use it instead of
	SYMBOL_REFERENCES_LOCAL for function descriptors.
	(fdpic_object_p): New.
	(sh_reloc_map): Add FDPIC and movi20 relocations.
	(sh_elf_info_to_howto, sh_elf_relocate_section): Handle new invalid
	range.
	(struct elf_sh_plt_info): Add got20 and short_plt.  Update all
	definitions.
	(FDPIC_PLT_ENTRY_SIZE, FDPIC_PLT_LAZY_OFFSET): Define.
	(fdpic_sh_plt_entry_be, fdpic_sh_plt_entry_le, fdpic_sh_plts): New.
	(FDPIC_SH2A_PLT_ENTRY_SIZE, FDPIC_SH2A_PLT_LAZY_OFFSET): Define.
	(fdpic_sh2a_plt_entry_be, fdpic_sh2a_plt_entry_le)
	(fdpic_sh2a_short_plt_be, fdpic_sh2a_short_plt_le, fdpic_sh2a_plts):
	New.
	(get_plt_info): Handle FDPIC.
	(MAX_SHORT_PLT): Define.
	(get_plt_index, get_plt_offset): Handle short_plt.
	(union gotref): New.
	(struct elf_sh_link_hash_entry): Add funcdesc, rename tls_type to
	got_type and adjust all uses.  Add GOT_FUNCDESC.
	(struct sh_elf_obj_tdata): Add local_funcdesc.	Rename
	local_got_tls_type to local_got_type.
	(sh_elf_local_got_type): Renamed from sh_elf_local_got_tls_type.  All
	users changed.
	(sh_elf_local_funcdesc): Define.
	(struct elf_sh_link_hash_table): Add sfuncdesc, srelfuncdesc, fdpic_p,
	and srofixup.
	(sh_elf_link_hash_newfunc): Initialize new fields.
	(sh_elf_link_hash_table_create): Set fdpic_p.
	(sh_elf_omit_section_dynsym): New.
	(create_got_section): Create .got.funcdesc, .rela.got.funcdesc
	and .rofixup.
	(allocate_dynrelocs): Allocate local function descriptors and space
	for R_SH_FUNCDESC-related relocations, and for rofixups.
	Handle GOT_FUNCDESC.  Create fixups.  Handle GOT entries which
	require function descriptors.
	(sh_elf_always_size_sections): Handle PT_GNU_STACK and __stacksize.
	(sh_elf_modify_program_headers): New.
	(sh_elf_size_dynamic_sections): Allocate function descriptors for
	local symbols.  Allocate .got.funcdesc contents.  Allocate rofixups.
	Handle local GOT entries of type GOT_FUNCDESC.	Create fixups for
	local GOT entries.  Ensure that FDPIC libraries always have a PLTGOT
	entry in the .dynamic section.
	(sh_elf_add_dyn_reloc, sh_elf_got_offset, sh_elf_initialize_funcdesc)
	(sh_elf_add_rofixup, sh_elf_osec_to_segment)
	(sh_elf_osec_readonly_p, install_movi20_field): New functions.
	(sh_elf_relocate_section): Handle new relocations, R_SH_FUNCDESC,
	R_SH_GOTFUNCDESC and R_SH_GOTOFFFUNCDESC.  Use sh_elf_got_offset
	and .got.plt throughout to find _GLOBAL_OFFSET_TABLE_.	Add rofixup
	read-only section warnings.  Handle undefined weak symbols.  Generate
	fixups for R_SH_DIR32 and GOT entries.	Check for cross-segment
	relocations and clear EF_SH_PIC.  Handle 20-bit relocations.
	Always generate R_SH_DIR32 for FDPIC instead of R_SH_RELATIVE.
	(sh_elf_gc_sweep_hook): Handle R_SH_FUNCDESC, R_SH_GOTOFF20,
	R_SH_GOTFUNCDESC, R_SH_GOTFUNCDESC20, and R_SH_GOTOFFFUNCDESC.
	Handle 20-bit relocations.
	(sh_elf_copy_indirect_symbol): Copy function descriptor reference
	counts.
	(sh_elf_check_relocs): Handle new relocations.  Make symbols
	dynamic for FDPIC relocs.  Account for rofixups.  Error for FDPIC
	symbol mismatches.  Allocate a GOT for R_SH_DIR32. Allocate fixups
	for R_SH_DIR32.
	(sh_elf_copy_private_data): Copy PT_GNU_STACK size.
	(sh_elf_merge_private_data): Copy initial flags.  Do not clobber
	non-mach flags.  Set EF_SH_PIC for FDPIC.  Reject FDPIC mismatches.
	(sh_elf_finish_dynamic_symbol): Do not handle got_funcdesc entries
	here.  Rename sgot to sgotplt and srel to srelplt.  Handle short_plt,
	FDPIC descriptors, and got20.  Create R_SH_FUNCDESC_VALUE for FDPIC.
	Use install_movi20_field.  Rename srel to srelgot.  Always generate
	R_SH_DIR32 for FDPIC instead of R_SH_RELATIVE.
	(sh_elf_finish_dynamic_sections): Fill in the GOT pointer in rofixup.
	Do not fill in reserved GOT entries for FDPIC.	Correct DT_PLTGOT.
	Rename sgot to sgotplt.  Assert that the right number of rofixups
	and dynamic relocations were allocated.
	(sh_elf_use_relative_eh_frame, sh_elf_encode_eh_address): New.
	(elf_backend_omit_section_dynsym): Use sh_elf_omit_section_dynsym.
	(elf_backend_can_make_relative_eh_frame)
	(elf_backend_can_make_lsda_relative_eh_frame)
	(elf_backend_encode_eh_address): Define.
	(TARGET_BIG_SYM, TARGET_BIG_NAME, TARGET_LITTLE_SYM)
	(TARGET_LITTLE_NAME, elf_backend_modify_program_headers, elf32_bed):
	Redefine for FDPIC vector.
	* reloc.c: Add SH FDPIC and movi20 relocations.
	* targets.c (_bfd_target_vector): Add FDPIC vectors.
	* configure, bfd-in2.h, libbfd.h: Regenerated.

2010-05-25  Jay Krell  <jay.krell@cornell.edu>

	PR ld/11624
	* archive.c (_bfd_calloc_wrapper): New function.
	(_bfd_add_bfd_to_archive_cache): Use it.

	* configure.in: Add alpha*-*-*vms* to list of natives.
	* configure: Regenerate.

	* vms-misc.c: Define globalref if necessary.
	(vms_convert_to_var_unix_filename): Rename to
	_bfd_vms_convert_to_var_unix_filename and export.
	* vms.h: Add prototype for _bfd_vms_convert_to_var_unix_filename.
	* vms-alpha.c (vms_close_and_cleanup): Update invocation of
	vms_convert_to_var_unix_filename.

2010-05-24  Tristan Gingold  <gingold@adacore.com>

	* vms-alpha.c (add_symbol_entry): New function extrated from ...
	(add_symbol): ... adjusted.

2010-05-24  Tristan Gingold  <gingold@adacore.com>

	* vms-alpha.c (_bfd_vms_slurp_egsd): Fix indentation.
	(alpha_vms_write_exec): Add a comment.
	(_bfd_vms_write_egsd): Ditto.
	(alpha_vms_convert_symbol): Remove a blank line.

2010-05-21  Tristan Gingold  <gingold@adacore.com>

	* vms-alpha.c (_bfd_vms_slurp_eihs): Do not create a bfd section
	for the GST.

2010-05-21  Tristan Gingold  <gingold@adacore.com>

	* vms-alpha.c (_bfd_vms_slurp_eisd): Set SEC_HAS_CONTENTS and
	SEC_LOAD if isect has data.
	(vms_get_symbol_info): Refine the condition for 'T' type.

2010-05-18  Tristan Gingold  <gingold@adacore.com>

	* vms-alpha.c (_bfd_vms_write_emh): New function.
	(_bfd_vms_write_lmn): New function.
	(_bfd_vms_write_eeom): Moved.
	(hash_string): Likewise.
	(_bfd_vms_length_hash_symbol): Likewise.
	(_bfd_vms_write_ehdr): Code moved to _bfd_vms_write_emh
	and _bfd_vms_write_lmn, and call these functions.

2010-05-18  Tristan Gingold  <gingold@adacore.com>

	* vms-alpha.c (evax_bfd_print_dst): Handle INCR_LINUM_L.
	Add details in the messages.
	(evax_bfd_print_image): Change message.

2010-05-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/11600
	* elf.c (_bfd_elf_make_section_from_shdr): Handle SHF_EXCLUDE
	(elf_fake_sections): Likewise.

	* elf32-i370.c (i370_elf_section_from_shdr): Don't handle
	SHF_EXCLUDE here.
	* elf32-ppc.c (ppc_elf_fake_sections): Likewise.

2010-05-17  Tristan Gingold  <gingold@adacore.com>

	* vms-alpha.c: Include esgps.h and eidc.h.
	(_bfd_vms_slurp_egsd): Ignore SPSC and IDC sub-records.
	(evax_bfd_print_egsd_flags): New function, extracted from ...
	(evax_bfd_print_egsd): ..., calls evax_bfd_print_egsd_flags.  Handles
	EGSD__C_SPSC and EGSD__C_IDC.

2010-05-14  Tristan Gingold  <gingold@adacore.com>

	* vms-alpha.c (alpha_vms_object_p): Accept header size of 0.
	(_bfd_vms_get_object_record): Handle align byte only in the
	foreign case.

2010-05-14  Tristan Gingold  <gingold@adacore.com>

	* vms-lib.c (_bfd_vms_lib_ia64_archive_p): New function.
	* libbfd-in.h (_bfd_vms_lib_ia64_archive_p): Add prototype.
	* libbfd.h: Regenerate.
	* configure.in (havevecs): Define HAVE_all_vecs when
	--enable-targets=all is set.  Use AC_SUBST on it.
	(tdefaults): Do not add havevecs.
	(bfd_elf64_ia64_vms_vec): Add vms-lib.lo and vms-misc.lo
	* configure: Regenerate.
	* Makefile.am (HAVEVECS): New variable.
	(INCLUDES): Add HAVEVECS.
	* Makefile.in: Regenerate.
	* elfxx-ia64.c (INCLUDE_IA64_VMS): New macro, defined if vms
	target is selected.  Add #ifdef/#endif around vms specific code.
	(bfd_elfNN_archive_p, bfd_elfNN_archive_slurp_armap,
	bfd_elfNN_archive_slurp_extended_name_table,
	bfd_elfNN_archive_construct_extended_name_table,
	bfd_elfNN_archive_truncate_arname,
	bfd_elfNN_archive_write_armap,
	bfd_elfNN_archive_read_ar_hdr,
	bfd_elfNN_archive_write_ar_hdr,
	bfd_elfNN_archive_openr_next_archived_file,
	bfd_elfNN_archive_get_elt_at_index,
	bfd_elfNN_archive_generic_stat_arch_elt,
	bfd_elfNN_archive_update_armap_timestamp): Define to use vms archives.

2010-05-11  Jie Zhang  <jie@codesourcery.com>

	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Merge
	Tag_ABI_HardFP_use correctly.

2010-05-11  Alan Modra  <amodra@gmail.com>

	* coffcode.h (coff_write_object_contents): Enclose all occurrences
	of hasdebug and is_reloc_section in #ifdef COFF_IMAGE_WITH_PE.

2010-05-07  Daniel Jacobowitz  <dan@codesourcery.com>

	* elf32-arm.c (struct a8_erratum_reloc): Add hash member.  Move
	sym_name to improve packing.
	(cortex_a8_erratum_scan): Check for PLT entries.
	(elf32_arm_size_stubs): Save the target symbol for a8 relocs.

2010-05-07  Tristan Gingold  <gingold@adacore.com>

	* Makefile.in: Regenerate with automake 1.11.1.
	* aclocal.m4: Ditto.

2010-05-05  Nick Clifton  <nickc@redhat.com>

	* po/es.po: Updated Spanish translation.

2010-05-03  Tristan Gingold  <gingold@adacore.com>

	* vms-lib.c (vms_lib_bopen): Fix the size threshold to read
	selective_search flag.
	Add comments.
	* vms-alpha.c (alpha_vms_bfd_final_link): Create the DMT section
	before output_has_begun is set.

2010-05-03  Tristan Gingold  <gingold@adacore.com>

	* vms-alpha.c: Add comments.
	(struct vms_private_data_struct): Remove image_autoextend field.
	(dst_check_allocation): Removed.
	(image_write): Remove call to dst_check_allocation.
	(vms_slurp_debug): Do not set image_autoextend.  Adjust section
	size.
	(_bfd_vms_slurp_object_records): Remove useless new_type variable.
	(alpha_vms_write_exec): Use dst_section to get the dst section.
	Write the dmt section.
	(evax_bfd_print_image): Also print the dst size in hexa.  Fix typo.
	(alpha_vms_read_sections_content): Do not set image_autoextend.
	(alpha_vms_bfd_final_link): Generate the dst.

2010-05-03  Tristan Gingold  <gingold@adacore.com>

	* vms-lib.c (_bfd_vms_lib_archive_p): Adjust for a possible empty
	next array.
	(vms_lib_dcx): Adjust for the above change.

2010-04-30  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11542
	* elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): New.

	* elf32-i386.c (elf_i386_relocate_section): Use it.
	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.

2010-04-30  Tristan Gingold  <gingold@adacore.com>

	* vms-lib.c (vms_read_block): New function.
	(vms_traverse_index): Use vms_read_block.  Handle long key names.

2010-04-30  Tristan Gingold  <gingold@adacore.com>

	* vms-lib.c (struct lib_tdata): Field artdata added, fields nbr_syms
	and syms removed.
	(struct carsym_mem): New structure.
	(vms_add_index): New function.
	(vms_add_indexes_from_list): New function.
	(vms_traverse_index): Parameter carsym changed to carsym_mem.
	Code adjusted to handle elfidx.
	(vms_lib_read_index): Adjusted for vms_traverse_index changes.
	Parameter NBREL is now a pointer.
	(_bfd_vms_lib_archive_p): Adjust for above change.  Handle ia64
	archives.
	(_bfd_vms_lib_mkarchive): Adjusted for changes in struct lib_tdata.
	(_bfd_vms_lib_find_symbol): Ditto.
	(vms_lib_bopen): Fix two typos: return FALSE in case of error,
	check MHD id.
	(_bfd_vms_lib_get_module): New function.
	(_bfd_vms_lib_get_elt_at_index): Rewritten using the above
	function.
	(_bfd_vms_lib_openr_next_archived_file): Use _bfd_vms_lib_get_module.
	(_bfd_vms_lib_generic_stat_arch_elt): Handle ia64 archives.
	(vms_write_index): Adjust for structure renamed.
	* vms-alpha.c (alpha_vms_link_add_archive_symbols): Adjust for
	changes of _bfd_vms_lib_find_symbol.

2010-04-28  Kai Tietz  <kai.tietz@onevision.com>

	* config.bfd: Correct accidential reverted patch
	about vax*-*-*vms*.

2010-04-27  Kai Tietz  <kai.tietz@onevision.com>

	* pe-x86_64.c (TARGET_UNDERSCORE): Set value dependent
	to USE_MINGW64_LEADING_UNDERSCORES.
	* pei-x86_64.c (TARGET_UNDERSCORE): Likewise.
	* config.bfd: Change underscoring default for x64 mingw
	to false.
	* coffcode.h (coff_write_relocs): Add check that dereferenced
	sym_ptr_ptr isn't NULL.
	* config.in (USE_MINGW64_LEADING_UNDERSCORES): New.
	* configure: Regenerated.
	* configure.in: Add option '--enable-leading-mingw64-underscores'
	and define config.in variable USE_MINGW64_LEADING_UNDERSCORES.

2010-04-27  Nick Clifton  <nickc@redhat.com>

	PR binutils/11512
	* coffgen.c (coff_find_nearest_line): Incldue the section address
	of function name symbols in address comparisons.

2010-04-27  Nick Clifton  <nickc@redhat.com>

	* po/fr.po: Updated French translation.

2010-04-23  Alan Modra  <amodra@gmail.com>

	* elf.c: Replace use of ELF_IS_SECTION_IN_SEGMENT and
	ELF_IS_SECTION_IN_SEGMENT_FILE with ELF_SECTION_IN_SEGMENT
	throughout file.
	(assign_file_positions_for_load_sections): Modify section in
	segment warning to ignore overlay vmas.
	* elf32-spu.c (spu_elf_object_p): Replace use of
	ELF_IS_SECTION_IN_SEGMENT_MEMORY with ELF_SECTION_IN_SEGMENT.

2010-04-22  Nick Clifton  <nickc@redhat.com>

	* po/bfd.pot: Updated by the Translation project.
	* po/vi.po: Updated Vietnamese translation.

2010-04-22  Alan Modra  <amodra@gmail.com>

	* elf.c (assign_file_positions_for_load_sections): Revert 2008-05-29
	change.  Tidy.  Don't error on sections not allocated in segment.

2010-04-15  Andrew Haley  <aph@redhat.com>

	* bfd-in.h (elf32_arm_fix_exidx_coverage): Add new flag:
	merge_exidx_entries.
	* bfd-in2.h: Likewise.
	* elf32-arm.c (elf32_arm_fix_exidx_coverage): Likewise.  Use it to
	control merging of exidx entries.

2010-04-20  Joseph Myers  <joseph@codesourcery.com>

	* elf32-tic6x.h: New.
	* elf-bfd.h (enum elf_target_id): Define TIC6X_ELF_DATA.
	* elf32-tic6x.c (struct elf32_tic6x_obj_tdata, elf32_tic6x_tdata,
	elf32_tic6x_howto_table_rel, elf32_tic6x_info_to_howto_rel,
	elf32_tic6x_set_use_rela_p, elf32_tic6x_mkobject,
	elf32_tic6x_new_section_hook, elf32_tic6x_rel_relocation_p,
	bfd_elf32_mkobject, bfd_elf32_new_section_hook): New.
	(elf32_tic6x_reloc_type_lookup, elf32_tic6x_reloc_name_lookup,
	elf32_tic6x_relocate_section): Handle REL relocations.
	(elf_info_to_howto_rel): Define to elf32_tic6x_info_to_howto_rel.

2010-04-20  Jakub Jelinek  <jakub@redhat.com>

	* dwarf2.c (find_abstract_instance_name, scan_unit_for_symbols): Treat
	DW_AT_linkage_name the same as DW_AT_MIPS_linkage_name.

2010-04-19  Nick Clifton  <nickc@redhat.com>

	* archive64.c (bfd_elf64_archive_slurp_armap): Remove unused
	arhdrpos variable.
	* elf64-x86-64.c (elf64_x86_64_relocate_section): Add unused
	attribute to warned variable.  Remove unused val, type and type2
	variables.

2010-04-16  Andreas Schwab  <schwab@redhat.com>

	* vms-alpha.c (alpha_vms_link_add_object_symbols): Avoid breaking
	strict-aliasing rules.

2010-04-16  Tristan Gingold  <gingold@adacore.com>

	* vms-alpha.c (_bfd_vms_slurp_eihd): Fix typo.
	(_bfd_vms_get_object_record): Always assume there is a pad byte
	for alignment.

	* vms-lib.c: Add a few comments.

2010-04-15  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Support additions to
	attributes in v2.08 of the ABI.

2010-04-15  Alan Modra  <amodra@gmail.com>

	* config.bfd (vax*-*-*vms*): Delete.

2010-04-14  Tristan Gingold  <gingold@adacore.com>

	* Makefile.am (BFD32_BACKENDS): Remove vms-gsd.lo, vms-hdr.lo,
	vms-tir.lo, vms.lo and add vms-alpha.lo
	(BFD32_BACKENDS_CFILES): Remove vms-gsd.c, vms-hdr.c,
	vms-tir.c, vms.c and add vms-alpha.c
	* Makefile.in: Regenerate.
	* configure.in (TDEFINES): Adjust file list for vms_alpha_vec.
	Remove vms_vax_vec.
	* configure: Regenerate.
	* targets.c (vms_vax_vec): Remove the declaration.
	(_bfd_target_vector): Remove vms_vax_vec.
	* vms-alpha.c: New file.
	* vms-gsd.c: Removed, rewritten in vms-alpha.c
	* vms-hdr.c: Ditto.
	* vms-tir.c: Ditto.
	* vms.c: Ditto.
	* vms-misc.c: Fix indentation and comments.  Replace most of
	#if VMS_DEBUG/vms_debug with vms_debug2.
	(_bfd_vms_hash_newfunc): Moved to vms-alpha.c
	(hash_string): Ditto.
	(_bfd_vms_length_hash_symbol): Ditto.
	(maybe_adjust_record_pointer_for_object): Ditto.
	(_bfd_vms_get_object_record): Ditto.
	(vms_get_remaining_object_record): Ditto.
	(_bfd_vms_push): Ditto.
	(_bfd_vms_pop): Ditto.
	(_bfd_vms_get_header_values): Removed.
	(_bfd_vms_get_first_record): Removed.
	(vms_get_remaining_image_record): Removed.
	(new_symbol): Removed.
	(_bfd_vms_enter_symbol): Removed.
	(_bfd_vms_save_sized_string): Use memcpy instead of strncpy.
	(_bfd_vms_output_begin): Remove rechead parameter.  Replace bfd
	parameter with struct vms_rec_wr.
	(_bfd_vms_output_push): Removed and replaced by ...
	(_bfd_vms_output_begin_subrec): ... new function.
	(_bfd_vms_output_alignment): Replace bfd parameter with
	struct vms_rec_wr, and adjust.
	(_bfd_vms_output_check): Ditto
	(_bfd_vms_output_byte): Ditto.
	(_bfd_vms_output_short): Ditto.
	(_bfd_vms_output_long): Ditto.
	(_bfd_vms_output_quad): Ditto.
	(_bfd_vms_output_counted): Ditto.
	(_bfd_vms_output_dump): Ditto.
	(_bfd_vms_output_fill): Ditto.
	(_bfd_vms_output_pop): Removed and replaced by ...
	(_bfd_vms_output_end_subrec): ... new function.
	(_bfd_vms_output_flush): Removed.
	(_bfd_vms_output_align): New function.
	(_bfd_vms_output_end): Add recwr parameter.  Adjust for this new
	parameter.
	(vms_convert_to_var): New function imported from vms.c
	(vms_convert_to_var_1): Ditto.
	(vms_convert_to_var_unix_filename): Ditto.
	(vms_get_module_name): Ditto.
	(get_vms_time_string): Ditto.
	(vms_time_to_time_t): Ditto.
	(vms_rawtime_to_time_t): Ditto.
	* vms.h: All macros for the VMS file format are now in include/vms.
	Prototypes for vms.c, vms-gsd.c, vms-misc.c, vms-hdr.c, vms-tir.c
	have been removed.
	(struct vms_symbol_struct, struct stack_struct): Moved to vms-alpha.c
	(struct fileinfo, struct srecinfo, struct lineinfo): Ditto.
	(struct funcinfo, struct vms_private_data_struct): Ditto.
	(struct vms_section_data_struct): Ditto.
	(struct vms_rec_rd, stryct vms_rec_wr): New declarations.
	(vms_get_module_name, get_vms_time_string): New declarations.
	(vms_time_to_time_t, vms_rawtime_to_time_t): Ditto.
	(_bfd_vms_output_begin_subrec, _bfd_vms_output_end_subrec): Ditto.
	(_bfd_vms_save_sized_string, _bfd_vms_save_counted_string): Adjusted.
	(_bfd_vms_output_begin, _bfd_vms_output_alignment): Ditto.
	(_bfd_vms_output_end,_bfd_vms_output_check): Ditto.
	(_bfd_vms_output_byte, _bfd_vms_output_short): Ditto.
	(_bfd_vms_output_long, _bfd_vms_output_quad): Ditto.
	(_bfd_vms_output_counted, _bfd_vms_output_dump): Ditto.
	(_bfd_vms_output_fill): Ditto.
	(bfd_vms_set_section_flags): Ditto.

2010-04-14  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* elflink.c (_bfd_elf_merge_symbol): Tighten up the test for early
	exit due to merging the same weak symbol to test that the symbols are
	actually weak.

2010-04-13  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (ppc64_elf_relocate_section): Correct NOP location
	when optimizing high got_tlsgd/ld insns.

2010-04-10  H.J. Lu  <hongjiu.lu@intel.com>

	* hosts/x86-64linux.h (HAVE_PRPSINFO32_T): Undefine before
	define.
	(HAVE_PRSTATUS32_T): Likewise.

2010-04-10  H.J. Lu  <hongjiu.lu@intel.com>

	PR corefiles/11467
	* configure.in (CORE_HEADER): New. Set to hosts/x86-64linux.h
	for x86_64-*-linux*.
	* config.in: Regenerated.
	* configure: Likewise.

	* elf.c: Include CORE_HEADER if it is defined.

2010-04-10  H.J. Lu  <hongjiu.lu@intel.com>
	    Jan Kratochvil  <jan.kratochvil@redhat.com>

	* hosts/x86-64linux.h: New.

2010-04-09  Nick Clifton  <nickc@redhat.com>

	* aoutx.h (aout_link_input_bfd): Remove unused variable sym_count.
	* elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Remove unused
	variables htab and hdr_info and mark info parameter as unused.
	* elf.c (prep_headers): Remove unused variable i_phdrp.
	(_bfd_elf_write_object_contents): Remove unused variable i_ehdrp.
	* elf32-i386.c (elf_i386_relocate_section): Mark variabled warned
	as unused.
	* peXXigen.c (pe_print_reloc): Remove unused variable datasize.
	* verilog.c (verilog_write_section): Remove unused variable
	address.

2010-04-07  Alan Modra  <amodra@gmail.com>

	* warning.m4 (GCC_WARN_CFLAGS): Only add -Wshadow for gcc-4 and above.
	* configure: Regenerate.

2010-04-06  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11434
	* elf-bfd.h (SYMBOLIC_BIND): Don't bind unique symbol locally.

2010-04-06  Tristan Gingold  <gingold@adacore.com>

	* vms-lib.c (_bfd_vms_lib_write_archive_contents): Fix idd flags.

2010-04-05  Jakub Jelinek  <jakub@redhat.com>

	* elf-eh-frame.c (_bfd_elf_parse_eh_frame): Handle CIE version 4
	provided that it has the expected address size and zero segment
	length.

	* dwarf2.c (struct line_head): Add maximum_ops_per_insn field.
	(struct line_info): Add op_index field, change end_sequence type to
	unsigned char.
	(new_line_sorts_after): For the same address compare op_index.
	(add_line_info): Add op_index argument, store it into the structure.
	(decode_line_info): Complain about unknown versions of .debug_line.
	Initialize maximum_ops_per_insn.  Add op_index state register and
	track it.

2010-04-01  Nathan Sidwell  <nathan@codesourcery.com>

	* elf32-ppc.c (apuinfo_set): New static var.
	(ppc_elf_begin_write_processing): Set it here, always create an
	APUinfo section if there were any in the inputs.
	(ppc_elf_write_section): Check apuinfo_set.
	(ppc_elf_final_write_processing): Likewise.

2010-04-01  Tristan Gingold  <gingold@adacore.com>

	* vms.h: Include time.h. Add prototypes for vms_get_module_name,
	vms_time_to_time_t and vms_rawtime_to_time_t.
	* vms.c (vms_alpha_vec): Add archives support.
	* vms-misc.c: Include safe-ctype.h
	(vms_get_module_name): New function.
	(vms_time_to_time_t, vms_rawtime_to_time_t): Ditto.
	* vms-hdr.c (_bfd_vms_write_hdr): Put module name creation to the
	vms_get_module_name function.  Use this function.
	* targets.c: Declare vms_lib_txt_vec.  Add it to _bfd_target_vector.
	* libbfd-in.h: Add prototype for _bfd_append_relative_path.
	Add prototypes for vms-lib.c
	* libbfd.h: Regenerate.
	* configure.in (TDEFINES): Add an entry for vms_lib_txt_vec.  Add
	vms-lib.lo to vms_alpha_vec.
	* config.bfd (targ_cpu): Add targ_selvecs for alpha*-*-*vms*.
	* configure: Regenerate.
	* bfd.c: Add selective_search field.
	* bfd-in2.h: Regenerate.
	* archive.c (append_relative_path): Rename to
	_bfd_append_relative_path and make it public.
	(_bfd_get_elt_at_filepos): Adjust for above renaming.
	* Makefile.am (BFD32_BACKENDS): Add vms-lib.lo
	(BFD32_BACKENDS_CFILES): Add vms-lib.c
	* Makefile.in: Regenerate.

2010-04-01  Jakub Jelinek  <jakub@redhat.com>

	* dwarf2.c (read_attribute_value): Handle CU version 4
	for DW_FORM_ref_addr, handle DW_FORM_sec_offset, DW_FORM_exprloc
	and DW_FORM_flag_present.  For unknown form value return NULL.
	(scan_unit_for_symbols): For DW_AT_location handle DW_FORM_exprloc
	like DW_FORM_block.
	(parse_comp_unit): Allow CU version 4.

2010-04-01  Hans-Peter Nilsson  <hp@axis.com>

	* elf32-cris.c (cris_elf_relocate_section): Correct first argument
	to _bfd_elf_get_dynamic_reloc_section.
	(elf_cris_discard_excess_dso_dynamics): Ditto.

2010-03-31  Kai Tietz  <kai.tietz@onevision.com>

	* coff-i386.c (in_reloc_p): Check also for R_SECREL32.
	* coff-x86_64.c (in_reloc_p): Check also for R_AMD64_SECREL.

2010-03-31  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (ppc64_elf_relocate_section): Nop out optimized
	TPREL16_HI and TPREL16_HA insns.

2010-03-31  Hans-Peter Nilsson  <hp@axis.com>

	PR ld/11458
	* elf32-cris.c (elf_cris_copy_indirect_symbol): Remove invalid
	assert of empty pcrel_relocs_copied on the direct symbol.  Instead
	of moving the list from the indirect symbol to the direct symbol,
	merge into any existing list.
	(cris_elf_check_relocs): Store the original section in the
	pcrel_relocs_copied list, not the relocation section.
	(elf_cris_discard_excess_dso_dynamics): Adjust accordingly to find
	the relocation section, for reducing its size.  Change the
	BFD_ASSERT into a check for the section being read-only, and only
	emit warnings and TEXTREL marker when there's an entry for a
	read-only section.

2010-03-29  Daniel Jacobowitz  <dan@codesourcery.com>

	* elf32-arm.c (using_thumb_only): Handle v6-M.

2010-03-26  Alan Modra  <amodra@gmail.com>

	* elf32-ppc.c (ppc_elf_howto_raw <R_PPC_EMB_RELSDA>): Not pc-relative.
	* bfd-in.h (elf_discarded_section): Clarify comment.
	* reloc.c (struct reloc_howto_struct <pc_relative>): Likewise.
	* bfd-in2.h: Regenerate.

2010-03-26  Matt Rice  <ratmice@gmail.com>

	* archive.c (_bfd_compute_and_write_armap): Allow symbols flagged
	as unique in the armap.

2010-03-26  Alan Modra  <amodra@gmail.com>

	PR ld/11375
	* elf64-ppc.c (ppc64_elf_relocate_section): Always look up a
	possible stub on branches.

2010-03-25  Joseph Myers  <joseph@codesourcery.com>

	* Makefile.am (ALL_MACHINES): Add cpu-tic6x.lo.
	(ALL_MACHINES_CFILES): Add cpu-tic6x.c.
	(BFD32_BACKENDS): Add elf32-tic6x.lo.
	(BFD32_BACKENDS_CFILES): Add elf32-tic6x.c.
	* Makefile.in: Regenerate.
	* archures.c (bfd_arch_tic6x, bfd_tic6x_arch): New.
	(bfd_archures_list): Update.
	* config.bfd (tic6x-*-elf): New.
	* configure.in (bfd_elf32_tic6x_be_vec, bfd_elf32_tic6x_le_vec):
	New.
	* configure: Regenerate.
	* cpu-tic6x.c, elf32-tic6x.c: New.
	* reloc.c (BFD_RELOC_C6000_PCR_S21, BFD_RELOC_C6000_PCR_S12,
	BFD_RELOC_C6000_PCR_S10, BFD_RELOC_C6000_PCR_S7,
	BFD_RELOC_C6000_ABS_S16, BFD_RELOC_C6000_ABS_L16,
	BFD_RELOC_C6000_ABS_H16, BFD_RELOC_C6000_SBR_U15_B,
	BFD_RELOC_C6000_SBR_U15_H, BFD_RELOC_C6000_SBR_U15_W,
	BFD_RELOC_C6000_SBR_S16, BFD_RELOC_C6000_SBR_L16_B,
	BFD_RELOC_C6000_SBR_L16_H, BFD_RELOC_C6000_SBR_L16_W,
	BFD_RELOC_C6000_SBR_H16_B, BFD_RELOC_C6000_SBR_H16_H,
	BFD_RELOC_C6000_SBR_H16_W, BFD_RELOC_C6000_SBR_GOT_U15_W,
	BFD_RELOC_C6000_SBR_GOT_L16_W, BFD_RELOC_C6000_SBR_GOT_H16_W,
	BFD_RELOC_C6000_DSBT_INDEX, BFD_RELOC_C6000_PREL31,
	BFD_RELOC_C6000_COPY, BFD_RELOC_C6000_ALIGN,
	BFD_RELOC_C6000_FPHEAD, BFD_RELOC_C6000_NOCMP): New.
	* targets.c (bfd_elf32_tic6x_be_vec, bfd_elf32_tic6x_le_vec): New.
	(_bfd_target_vector): Update.
	* bfd-in2.h, libbfd.h: Regenerate.

2010-03-24  H.J. Lu  <hongjiu.lu@intel.com>

	* aout-target.h: Update copyright year.
	* aout-tic30.c: Likewise.
	* coff-alpha.c: Likewise.
	* coff-rs6000.c: Likewise.
	* coff64-rs6000.c: Likewise.
	* elf64-mips.c: Likewise.
	* ieee.c: Likewise.
	* libecoff.h: Likewise.
	* mach-o-target.c: Likewise.
	* mach-o.c: Likewise.
	* oasys.c: Likewise.
	* targets.c: Likewise.

2010-03-24  H.J. Lu  <hongjiu.lu@intel.com>

	* libbfd-in.h: Update copyright year.

2010-03-21  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11413
	* elflink.c (_bfd_elf_add_default_symbol): Check !executable
	instead of shared.

2010-03-19  Jie Zhang  <jie@codesourcery.com>

	* elf32-arm.c (struct section_list): Remove.
	(section_list): Remove typedef.
	(record_section_with_arm_elf_section_data): Remove.
	(find_arm_elf_section_entry): Remove.
	(get_arm_elf_section_data): Use is_arm_elf.
	(unrecord_section_with_arm_elf_section_data): Remove.
	(elf32_arm_new_section_hook): Don't call
	record_section_with_arm_elf_section_data.
	(elf32_arm_write_section): Set mapcount to -1 when
	the map has been used. Don't call
	unrecord_section_with_arm_elf_section_data.
	(unrecord_section_via_map_over_sections): Remove.
	(elf32_arm_close_and_cleanup): Remove.
	(elf32_arm_bfd_free_cached_info): Remove.
	(bfd_elf32_close_and_cleanup): Don't define.
	(bfd_elf32_bfd_free_cached_info): Don't define.

2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/11396
	* libcoff-in.h (pe_tdata): Add dont_strip_reloc.
	* libcoff.h: Regenerated.

	* peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Clear F_RELFLG
	if dont_strip_reloc is set.
	(_bfd_XX_bfd_copy_private_bfd_data_common): Set
	dont_strip_reloc on output if there is no .reloc and
	IMAGE_FILE_RELOCS_STRIPPED isn't set in input.

2010-03-18  Wei Guozhi  <carrot@google.com>

	PR gas/11323
	* elf32-arm.c (elf32_arm_reloc_map): Map BFD_RELOC_ARM_GOT_PREL to
	R_ARM_GOT_PREL.
	* reloc.c (BFD_RELOC_ARM_GOT_PREL): New ARM relocation.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.

2010-03-17  H.J. Lu  <hongjiu.lu@intel.com>

	* reloc.c (BFD_RELOC_SPU_PIC18): Removed.
	(BFD_RELOC_SPU_STUB): Likewise.

2010-03-17  Jie Zhang  <jie@codesourcery.com>

	* elf.c (assign_file_positions_for_load_sections): Avoid
	overflow.

2010-03-17  Alan Modra  <amodra@gmail.com>

	PR binutils/11382
	* plugin.c (bfd_plugin_object_p): Pass iostream to fileno using
	proper type.

2010-03-17  Alan Modra  <amodra@gmail.com>

	* elf32-arm.c (cortex_a8_erratum_scan): Warning fix.

2010-03-16  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (struct ppc_link_hash_table): Add do_toc_opt.
	(ppc64_elf_edit_toc): Set it here.
	(ha_reloc_match): New function.
	(ppc64_elf_relocate_section): Optimize bigtoc insn sequences.

2010-03-15  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (ppc64_elf_has_small_toc_reloc): New function.
	* elf64-ppc.h (ppc64_elf_has_small_toc_reloc): Declare.

2010-03-14  Alan Modra  <amodra@gmail.com>

	PR ld/11378
	* elf64-ppc.h (ppc64_elf_check_init_fini): Declare.
	* elf64-ppc.c (call_check_done): Define.
	(ppc64_elf_add_symbol_hook): Substitute bfd_get_section_name macro.
	(ppc64_elf_check_relocs, ppc64_elf_size_dynamic_sections): Likewise.
	(ppc64_elf_finish_multitoc_partition): Remove unnecessary check.
	(toc_adjusting_stub_needed): Use call_check_done rather than toc_off.
	Simplify return logic.  Iterate over all .init and .fini fragments
	by recursion.  Set makes_toc_func_call here..
	(ppc64_elf_next_input_section): ..rather than here.
	(check_pasted_section, ppc64_elf_check_init_fini): New functions.

2010-03-13  Alan Modra  <amodra@gmail.com>

	PR ld/11375
	* elf64-ppc.c (ppc_type_of_stub): Always set *hash to the
	function descriptor symbol if there is one, not just for plt stubs.
	(ppc64_elf_relocate_section): Use fdh on all ppc_get_stub_entry calls.

2010-03-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* elflink.c (bfd_elf_size_dynamic_sections): Don't emit base
	version twice.
	Skip it when constructing def.vd_next.

	* elf32-i386.c (TARGET_LITTLE_SYM): Redefine to
	bfd_elf32_i386_sol2_vec.
	(TARGET_LITTLE_NAME): Redefine to elf32-i386-sol2.
	(elf32_bed): Redefine to elf32_i386_sol2_bed.
	(elf_backend_want_plt_sym): Redefine to 1.

	* elf64-x86-64.c (TARGET_LITTLE_SYM): Redefine to
	bfd_elf64_x86_64_sol2_vec.
	(TARGET_LITTLE_NAME): Redefine to elf64-x86-64-sol2.
	(elf64_bed): Redefine to elf64_x86_64_sol2_bed.
	(elf_backend_want_plt_sym): Redefine to 1.

	* config.bfd (i[3-7]86-*-solaris2*): Set targ_defvec to
	bfd_elf32_i386_sol2_vec.
	Replace bfd_elf64_x86_64_vec by bfd_elf64_x86_64_sol2_vec in
	targ64_selvecs.
	(x86_64-*-solaris2*): Set targ_defvec to bfd_elf32_i386_sol2_vec.
	Replace bfd_elf64_x86_64_vec by bfd_elf64_x86_64_sol2_vec in
	targ_selvecs.

	* configure.in: Handle bfd_elf32_i386_sol2_vec,
	bfd_elf64_x86_64_sol2_vec.
	* configure: Regenerate.

	* targets.c (bfd_elf32_i386_sol2_vec): Declare.
	(bfd_elf64_x86_64_sol2_vec): Declare.
	(_bfd_target_vector): Add bfd_elf32_i386_sol2_vec,
	bfd_elf64_x86_64_sol2_vec.

2010-03-04  Daniel Jacobowitz  <dan@codesourcery.com>

	* elf32-arm.c (elf32_arm_output_arch_local_syms): Skip non-program
	sections.

2010-03-04  Alan Modra  <amodra@gmail.com>

	PR 11302
	* dwarf2.c (read_abbrevs): Return NULL on alloc failures.
	(read_attribute_value, decode_line_info): Likewise.
	(add_line_info, read_rangelist): Return FALSE on alloc failures.
	(arange_add, sort_line_sequences): Likewise.
	(find_abstract_instance_name): Handle failures from called funcs.
	(scan_unit_for_symbols, parse_comp_unit, decode_line_info): Likewise.
	(find_line): Realloc to a temp, and handle alloc fail.

2010-03-03  Daniel Jacobowitz  <dan@codesourcery.com>

	* elf32-arm.c (elf32_arm_output_arch_local_syms): Do not add
	a mapping symbol to an empty section.

2010-03-02  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Add a check of the
	return value from the call to _bfd_elf_merge_object_attributes.

2010-03-02  Christophe Lyon  <christophe.lyon@st.com>
	Alan Modra  <amodra@gmail.com>

	* elf32-arm.c (a8_erratum_fix): Add st_type field to record the
	destination mode of the a8 stub.
	(elf32_arm_link_hash_table): Add top_id field.
	(elf32_arm_link_hash_table_create): Initialize top_id.
	(arm_type_of_stub): Update prototype, st_type can now be updated
	by this function. Actual destination address in case of PLT is
	computed here, to help factorizing code.
	(elf32_arm_stub_name): Update prototype, use stub_type additional
	parameter to build stub name.
	(elf32_arm_get_stub_entry): Update prototype, use stub_type
	additional parameter to build stub entry.
	(arm_build_one_stub): Use bfd_put_16/bfd_put_32 instead of
	put_thumb_insn/put_arm_insn as BE8 encoding is now handled later.
	Call elf32_arm_final_link_relocate to process all in-stub
	relocations.
	(elf32_arm_setup_section_lists): Update top_id.
	(cortex_a8_erratum_scan): Record stub destination mode.
	(elf32_arm_size_stubs): Update call to arm_type_of_stub according
	to new prototype.
	(elf32_arm_final_link_relocate): Enable processing of in-stub
	REL32 relocations. Rely on arm_type_of_stub to detect if a stub is
	needed, enabling code factorization.
	(elf32_arm_final_link): Process stub sections.
	(elf32_arm_output_map_sym): Add entry to code/data map.

2010-03-01  David S. Miller  <davem@davemloft.net>

	* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): When STT_GNU_IFUNC and
	h->def_regular, set h->ref_regular.
	(allocate_dynrelocs): Only force output of STT_GNU_IFUNC plt entries
	and dynamic relocations if h->ref_regular.

	* elfxx-sparc.c (struct elf_reloc_map): Delete.
	(sparc_reloc_map): Delete.
	(_bfd_sparc_elf_reloc_type_lookup): Explicitly handle each
	relocation type in switch statements.

2010-02-25  Alan Modra  <amodra@gmail.com>

	PR ld/11304
	* elf.c (_bfd_elf_init_private_section_data): Rename need_group
	to final_link and invert.  For final link allow some flags to
	differ.  Don't specially allow flags to be all zero.

2010-02-24  Alan Modra  <amodra@gmail.com>

	PR binutils/10858
	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Ise
	SYMBOL_REFERENCES_LOCAL to exclude entries from the dynamic symbol
	table.

2010-02-23  Andrew Zabolotny  <anpaza@mail.ru>

	PR binutils/11297
	* elf32-avr.c (elf_avr_howto_table): Add R_AVR_8.
	(avr_reloc_map): Map BFD_RELOC_8 to R_AVR_8.

2010-02-22  Alan Modra  <amodra@gmail.com>

	* reloc.c (bfd_check_overflow): When forming addrmask, shift
	fieldmask left by rightshift.
	(_bfd_relocate_contents): Likewise.  Use rightshift addrmask in all
	overflow checks.

2010-02-20  H.J. Lu  <hongjiu.lu@intel.com>

	* elf64-x86-64.c (elf64_x86_64_add_symbol_hook): Don't check
	STT_GNU_IFUNC on large common symbol.

2010-02-18  H.J. Lu  <hongjiu.lu@intel.com>

	* elf32-i386.c (elf_i386_add_symbol_hook): Don't set
	has_ifunc_symbols if the symbol comes from a shared library.
	* elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
	* elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
	* elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
	* elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
	* elf64-x86-64.c (elf64_x86_64_add_symbol_hook): Likewise.

2010-02-19  Alan Modra  <amodra@gmail.com>

	* elf.c (_bfd_elf_fixup_group_sections): New function, split out from..
	(_bfd_elf_copy_private_header_data): ..here.
	* elflink.c (_bfd_elf_size_group_sections): New function.
	(bfd_elf_size_dynamic_sections): Call it.
	* elf-bfd.h (_bfd_elf_size_group_sections): Declare.
	(_bfd_elf_fixup_group_sections): Declare.

2010-02-18  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Add support for
	merging Tag_DIV_use, Tag_MPextension_use, and
	Tag_MPextension_use_legacy tags.

2010-02-18  Alan Modra  <amodra@gmail.com>

	* elf.c (bfd_elf_set_group_contents): Revert accidental 2009-01-15
	commit.  Don't write zeros for removed group members.
	(_bfd_elf_copy_private_header_data): Adjust size of group section
	when group members are removed by objcopy.

2010-02-15  Dave Korn  <dave.korn.cygwin@gmail.com>

	PR binutils/11280
	* configure.host (*-*-solaris2.11):  Add host define to select
	valid default code page for windres/windmc on solaris.

2010-02-15  Nick Clifton  <nickc@redhat.com>

	* po/vi.po: Updated Vietnamese translation.

2010-02-12  Daniel Gutson  <dgutson@codesourcery.com>

	* elf32-arm.c (elf32_arm_output_arch_local_syms): add
	missing mapping symbol to data only sections.

2010-02-11  David S. Miller  <davem@davemloft.net>

	* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): For R_SPARC_GOTDATA_OP_HIX22
	and R_SPARC_GOTDATA_OP_LOX10, only bump the GOT refcount for global
	symbols.
	(_bfd_sparc_elf_gc_sweep_hook): Likewise only decrement the GOT count for
	these relocs on global symbols.
	(gdopoff): New.
	(_bfd_sparc_elf_relocate_section): Perform GOTDATA optimizations on
	local symbol references which are not STT_GNU_IFUNC.  Handle
	relocation of them like R_SPARC_HIX22 and R_SPARC_LOX10 respectively,
	and deal with negative vs. non-negative values properly.

2010-02-09  Tristan Gingold  <gingold@adacore.com>

	* mach-o.c (bfd_mach_o_canonicalize_one_reloc): Adjust addend for
	non-external relocation.

2010-02-09  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (merge_got_entries): Move earlier in file.
	(allocate_dynrelocs): Merge got entries here if not doing multi-toc.
	(ppc64_elf_size_dynamic_sections): Similarly merge tlsld_got.
	(ppc64_elf_layout_multitoc): Don't resize if we have already
	merged got entries.

2010-02-09  Michael Holzheu  <holzheu@de.ibm.com>

	* elf-bfd.h (elfcore_write_s390_timer, elfcore_write_s390_todcmp,
	elfcore_write_s390_todpreg, elfcore_write_s390_ctrs,
	elfcore_write_s390_prefix): New.
	* elf.c (elfcore_write_s390_timer, elfcore_write_s390_todcmp,
	elfcore_write_s390_todpreg, elfcore_write_s390_ctrs,
	elfcore_write_s390_prefix): New.
	(elfcore_grok_note): Handle NT_S390_TIMER, NT_S390_TODCMP,
	NT_S390_TODPREG, NT_S390_CTRS and NT_S390_PREFIX.
	(elfcore_write_register_note): Handle .reg-s390-timer,
	.reg-s390-todcmp, .reg-s390-todpreg, .reg-s390-ctrs,
	.reg-s390-prefix section.

2010-02-09  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (struct got_entry): Make tls_type and is_indirect
	unsigned char.  Update variables and code using them throughout file.
	(struct ppc_link_hash_entry): Likewise for tls_mask.

	* elf64-ppc.c (ppc64_elf_layout_multitoc): Don't merge local got ents.

	* elf64-ppc.c (has_small_toc_reloc): Don't define.
	(makes_toc_func_call, call_check_in_progress): Shuffle flags.
	(struct ppc64_elf_obj_tdata): Add has_small_toc_reloc.  Update
	code setting the flag.
	(ppc64_elf_next_toc_section): Group big-toc sections in
	0x80008000 chunks.

2010-02-08  David S. Miller  <davem@davemloft.net>

	* elfxx-sparc.h (struct _bfd_sparc_elf_link_hash_table): Remove sgot,
	srelgot, splt, srelplt, and sgotplt members in favor of generic copies.

	* elfxx-sparc.c (create_got_section): Delete.
	(_bfd_sparc_elf_create_dynamic_sections): Don't call, the dynamic
	section creator does that work for us.  Use ->elf.foo instead of
	->foo where applicable.
	(_bfd_sparc_elf_check_relocs): Use ->elf.foo instead of ->foo
	where applicable.
	(allocate_dynrelocs): Likewise.
	(_bfd_sparc_elf_size_dynamic_sections): Likewise.
	(_bfd_sparc_elf_relocate_section): Likewise.
	(sparc_vxworks_build_plt_entry): Likewise.
	(_bfd_sparc_elf_finish_dynamic_symbol): Likewise.
	(sparc_finish_dyn): Likewise.
	(sparc_vxworks_finish_exec_plt): Likewise.
	(sparc_vxworks_finish_shared_plt): Likewise.
	(_bfd_sparc_elf_finish_dynamic_sections): Likewise.

	* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Use the SYMBOL_*
	macros for visibilty and locality checks.
	(_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
	(allocate_dynrelocs): Likewise.
	(_bfd_sparc_elf_relocate_section): Likewise.
	(_bfd_sparc_elf_finish_dynamic_symbol):Likewise.

	* elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Remove set
	but never used local var 'dynobj'.

	* elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Handle
	nocopyreloc.

	* reloc.c (BFD_RELOC_SPARC_JMP_IREL): New.
	(BFD_RELOC_SPARC_IRELATIVE): Likewise.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.

	* elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add loc_hash_table
	and loc_hash_memory.
	(_bfd_sparc_elf_link_hash_table_free): Declare.
	* elf32-sparc.c (elf32_sparc_add_symbol_hook): New.
	(elf_backend_add_symbol_hook, elf_backend_post_process_headers,
	bfd_elf32_bfd_link_hash_table_free): Define.
	* elf64-sparc.c (elf64_sparc_add_symbol_hook): Set
	has_ifunc_symbols if STT_GNU_IFUNC.
	(bfd_elf64_bfd_link_hash_table_free): Define.
	(elf_backend_post_process_headers): Define always.
	* elfxx-sparc.c (sparc_jmp_irel_howto, sparc_irelative_howto): New.
	(sparc_reloc_map): Add entries for new IFUNC relocs.
	(_bfd_sparc_elf_reloc_type_lookup): Handle new IFUNC relocs.
	(_bfd_sparc_elf_info_to_howto_ptr): Likewise.
	(elf_sparc_local_htab_hash, elf_sparc_local_htab_eq,
	elf_sparc_get_local_sym_hash): New.
	(_bfd_sparc_elf_create_dynamic_sections): Move PLT ops initialization
	from here...
	(_bfd_sparc_elf_link_hash_table_create): ... to here.  Allocate
	local hash table.
	(_bfd_sparc_elf_link_hash_table_free): New.
	(create_ifunc_sections): New.
	(_bfd_sparc_elf_check_relocs): Unconditionally assign htab->elf.dynobj
	and call create_ifunc_sections().  For local STT_GNU_IFUNC symbols
	cons up a fake local hash table entry for it.  Unconditionally add
	a PLT refcount for STT_GNU_IFUNC symbols when h->def_regular.  Count
	dyn relocs for ifunc.
	(_bfd_sparc_elf_adjust_dynamic_symbol): Handle ifunc.
	(allocate_dynrelocs):  Unconditionally emit a PLT entry when
	STT_GNU_IFUNC and h->def_regular.  Count GOT dyn relocs for ifunc.
	(allocate_local_dynrelocs): New function.
	(_bfd_sparc_elf_size_dynamic_sections): Invoke it over the local hash
	table.  Emit dynamic relocs to irelplt when not shared.  Treat iplt
	like splt.
	(_bfd_sparc_elf_relocate_section): Handle ifunc relocations by hand.
	(_bfd_sparc_elf_finish_dynamic_symbol): Adjust for non-dynamic ifunc
	plt in iplt/irelplt.

2010-02-08  Richard Sandiford  <r.sandiford@uk.ibm.com>

	* xcofflink.c (_bfd_xcoff_bfd_final_link): When calculating
	max_contents_size, only consider sections whose contents must
	be swapped in.

2010-02-09  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (allocate_dynrelocs): Remove unused got structs here..
	(ppc64_elf_size_dynamic_sections): ..and here..
	(merge_got_entries): ..rather than here.

2010-02-09  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (struct ppc_link_hash_table): Add do_multi_toc.
	(has_small_toc_reloc): Define.
	(ppc64_elf_check_relocs): Set the above flags.
	(ppc64_elf_edit_opd): Delete obfd param.
	(ppc64_elf_tls_optimize): Likewise.
	(ppc64_elf_edit_toc): Likewise.
	(ppc64_elf_tls_setup): Likewise.  Add no_multi_toc param.
	* elf64-ppc.h: Update prototypes.

2010-02-08  Alan Modra  <amodra@gmail.com>

	* section.c (struct bfd_section): Delete has_tls_reloc,
	has_tls_get_addr_call, has_gp_reloc, need_finalize_relax, reloc_done.
	Add sec_flg0 thru sec_flg5.
	(BFD_FAKE_SECTION): Update for changed flags.
	* ecoff.c (bfd_debug_section): Likewise.
	* elf32-ppc.c (has_tls_reloc, has_tls_get_addr_call): Define.
	* elf64-ppc.c (has_tls_reloc, has_tls_get_addr_call): Define.
	(has_toc_reloc, makes_toc_func_call, call_check_in_progress): Update.
	* elf32-xtensa.c (reloc_done): Define.
	* elfxx-ia64.c (skip_relax_pass_0, skip_relax_pass_1): Update.
	* bfd-in2.h: Regenerate.

2010-02-08  Tristan Gingold  <gingold@adacore.com>

	* mach-o.c (bfd_mach_o_canonicalize_one_reloc): Set reloc.r_extern
	for non-scattered relocations.

2010-02-08  Nathan Sidwell  <nathan@codesourcery.com>

	* elf32-ppc.c (ppc_elf_begin_write_processing): Allow empty
	apuinfo sections, only scan input sections once and reuse the
	buffer.

2010-02-08  Philipp Tomsich  <philipp.tomsich@theobroma-systems.com>

	* archures.c (bfd_mach_ppc_titan): Define.
	* bfd-in2.h: Regenerate.
	* cpu-powerpc.c (bfd_powerpc_archs): Add titan entry.

2010-02-08  Alan Modra  <amodra@gmail.com>

	* elf32-ppc.c (ppc_elf_check_relocs): Remove dead ifunc code.

2010-02-05  Sterling Augustine  <sterling@tensilica.com>

	* elf.c (assign_file_positions_for_load_sections) Update lma of
	section	if necessary.  Fixes Bugzilla 11219.

2010-02-05  H.J. Lu  <hongjiu.lu@intel.com>

	* elf32-i386.c: Remove trailing white spaces.
	* elf64-x86-64.c: Likewise.

2010-02-03  Nick Clifton  <nickc@redhat.com>

	* elf-bfd.h (emum elf_object_id): Rename to elf_target_id.  Add
	entries for other architectures.
	(struct elf_link_hash_table): Add hash_table_id field.
	(elf_hash_table_id): New accessor macro.
	* elflink.c (_bfd_elf_link_hash_table_init): Add target_id
	parameter.
	* elf-m10300.c (elf32_mn10300_hash_table): Check table id before
	returning cast pointer.
	(elf32_mn10300_link_hash_table_create): Identify new table as
	containing MN10300 extensions.
	(mn10300_elf_relax_section): Check pointer returned by
	elf32_mn10300_hash_table.
	* elf32-arm.c: Likewise, except using ARM extensions.
	* elf32-avr.c: Likewise, except using AVR extensions.
	* elf32-bfin.c: Likewise, except using BFIN extensions.
	* elf32-cris.c: Likewise, except using CRIS extensions.
	* elf32-frv.c: Likewise, except using FRV extensions.
	* elf32-hppa.c: Likewise, except using HPPA32 extensions.
	* elf32-i386.c: Likewise, except using I386 extensions.
	* elf32-lm32.c: Likewise, except using LM32 extensions.
	* elf32-m32r.c: Likewise, except using M32RM extensions.
	* elf32-m68hc11.c: Likewise, except using M68HC11 extensions.
	* elf32-m68hc1x.c: Likewise, except using M68HC11 extensions.
	* elf32-m68hc1x.h: Likewise, except using M68HC11 extensions.
	* elf32-m68k.c: Likewise, except using M68K extensions.
	* elf32-microblaze.c: Likewise, except using MICROBLAZE extensions.
	* elf32-ppc.c: Likewise, except using PPC32 extensions.
	* elf32-s390.c: Likewise, except using S390 extensions.
	* elf32-sh.c: Likewise, except using SH extensions.
	* elf32-spu.c: Likewise, except using SPU extensions.
	* elf32-xtensa.c: Likewise, except using XTENSA extensions.
	* elf64-alpha.c: Likewise, except using ALPHA extensions.
	* elf64-hppa.c: Likewise, except using HPPA64 extensions.
	* elf64-ppc.c: Likewise, except using PPC64 extensions.
	* elf64-s390.c: Likewise, except using S390 extensions.
	* elf64-x86-64.c: Likewise, except using X86_64 extensions.
	* elfxx-ia64.c: Likewise, except using IA64 extensions.
	* elfxx-mips.c: Likewise, except using MIPS extensions.
	* elfxx-sparc.c: Likewise, except using SPARC extensions.
	* elfxx-sparc.h: Likewise, except using SPARC extensions.
	* elf32-cr16.c (struct elf32_cr16_link_hash_table): Delete
	redundant structure.
	(elf32_cr16_hash_table): Delete unused macro.
	(elf32_cr16_link_hash_traverse): Delete unused macro.
	* elf32-score.c: Likewise.
	* elf32-score7.c: Likewise.
	* elf32-vax.c: Likewise.
	* elf64-sh64.c: Likewise.

2010-02-03  Alan Modra  <amodra@gmail.com>

	* elf64-ppc.c (struct plt_entry): Move earlier in file.
	(struct got_entry): Likewise.  Add is_indirect and got.ent fields.
	(struct ppc64_elf_obj_tdata): Change tlsld_got to be a struct got_entry.
	Update all uses.
	(struct ppc_link_hash_table): Add got_reli_size and second_toc_pass.
	Remove no_multi_toc.
	(update_local_sym_info, ppc64_elf_check_relocs): Clear is_indirect
	when allocating a new struct got_entry.
	(allocate_got): New function, extracted from..
	(allocate_dynrelocs): ..here.  Abort on got entry in non-ppc64 bfd.
	(ppc64_elf_size_dynamic_sections): Track got relocs allocated in
	.reliplt by got_reli_size.  Set owner on ppc64_tlsld_got entries.
	(ppc64_elf_setup_section_lists): Remove output_bfd param and
	no_multi_toc, add add_stub_section and layout_sections_again.  Stash
	new params in htab.  Extract some code to..
	(ppc64_elf_start_multitoc_partition): ..here.  New function.
	(ppc64_elf_next_toc_section): Check for linker script errors.  Handle
	second pass toc scan.
	(merge_got_entries, merge_global_got, reallocate_got): New functions.
	(ppc64_elf_reinit_toc): Rename to..
	(ppc64_elf_finish_multitoc_partition): ..this.
	(ppc64_elf_layout_multitoc): New function.
	(ppc64_elf_size_stubs): Delete output_bfd, add_stub_section and
	layout_sections_again params.
	(ppc64_elf_relocate_section): Handle indirect got entries.
	* elf64-ppc.h: Update prototypes.  Declare new functions.

2010-02-02  H.J. Lu  <hongjiu.lu@intel.com>

	* elf-bfd.h (elfcore_write_xstatereg): New.

	* elf.c (elfcore_grok_xstatereg): New.
	(elfcore_write_xstatereg): Likewise.
	(elfcore_grok_note): Handle NT_X86_XSTATE.
	(elfcore_write_register_note): Handle .reg-xstate section.

2010-02-01  Tristan Gingold  <gingold@adacore.com>

	* som.c (som_write_ar_hdr): Define this macro.

2010-01-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	* elf32-hppa.c (final_link_relocate): Convert R_PARISC_TLS_GD21L,
	R_PARISC_TLS_LDM21L and R_PARISC_TLS_IE21L relocations that use the
	linkage table pointer to use the global table pointer if not doing
	a shared link.

2010-01-29  Joel Brobecker  <brobecker@adacore.com>

	* elf.c (elfcore_grok_lwpstatus): Do not overwrite the core signal
	if it has already been set.

2010-01-27  Tristan Gingold  <gingold@adacore.com>

	* vms.h: Remove trailing spaces.
	(struct hdr_struct): Remove unused hdr_c_cpr field.
	(enum file_format_enum): Add comments.
	* vms.c (vms_bfd_print_private_bfd_data): New function that
	replaces the macro.
	Remove trailing spaces.
	* vms-misc.c: Improve comments.
	(_bfd_vms_get_object_record): Also handle files without pads.
	* vms-hdr.c (_bfd_vms_write_dbg): Fix format string.
	* vms-gsd.c (struct flagdescstruct): Make name field const.
	(gsyflagdesc): Fix typo.

2010-01-27  Alan Modra  <amodra@gmail.com>

	PR ld/11217
	* elf64-ppc.c (struct ppc_link_hash_table): Add toc_bfd, toc_first_sec.
	(ppc64_elf_setup_section_lists): Init them.
	(ppc64_elf_next_toc_section): Don't partition multi-toc between .got
	and .toc on the same input file.
	(ppc64_elf_relocate_section): Correct GOT entry offset.

2010-01-26  Tristan Gingold  <gingold@adacore.com>

	* targets.c (BFD_JUMP_TABLE_ARCHIVE): Add initializer for write_ar_hdr.
	(bfd_target): Add _bfd_write_ar_hdr_fn field.
	* archive.c (is_bsd44_extended_name): New macro.
	(_bfd_generic_read_ar_hdr_mag): Use it.  Add extra_size.
	(bfd_slurp_armap): Also check for "__.SYMDEF" as a BSD4.4 extended
	name.
	(_bfd_archive_bsd44_construct_extended_name_table): New function.
	(_bfd_generic_write_ar_hdr): Ditto.
	(_bfd_bsd44_write_ar_hdr): Ditto.
	(_bfd_write_archive_contents): Call _bfd_write_ar_hdr.
	(bsd_write_armap): Adjust firstreal computation.
	* libbfd-in.h (struct areltdata): Add extra_size field.
	(_bfd_generic_write_ar_hdr): Add prototype.
	(_bfd_bsd44_write_ar_hdr): Ditto.
	(_bfd_write_ar_hdr): Define.
	(_bfd_noarchive_write_ar_hdr): Ditto.
	(_bfd_archive_bsd_write_ar_hdr): Ditto.
	(_bfd_archive_coff_write_ar_hdr): Ditto.
	(_bfd_archive_bsd44_slurp_armap): Ditto.
	(_bfd_archive_bsd44_slurp_extended_name_table): Ditto.
	(_bfd_archive_bsd44_construct_extended_name_table): New prototype.
	(_bfd_archive_bsd44_truncate_arname): Ditto.
	(_bfd_archive_bsd44_write_armap): Ditto.
	(_bfd_archive_bsd44_read_ar_hdr): Ditto.
	(_bfd_archive_bsd44_write_ar_hdr): Ditto.
	(_bfd_archive_bsd44_openr_next_archived_file): Ditto.
	(_bfd_archive_bsd44_get_elt_at_index): Ditto.
	(_bfd_archive_bsd44_generic_stat_arch_elt): Ditto.
	(_bfd_archive_bsd44_update_armap_timestamp): Ditto.
	* libbfd.h: Regenerate.
	* oasys.c (oasys_write_ar_hdr): Define.
	* libecoff.h (_bfd_ecoff_write_ar_hdr): Define.
	* ieee.c (ieee_write_ar_hdr): Define.
	* elf64-mips.c (bfd_elf64_archive_write_ar_hdr): Define.
	* coff-rs6000.c (rs6000coff_vec): Adjust for write_ar_hdr field.
	(bfd_pmac_xcoff_backend_data): Ditto.
	* coff64-rs6000.c (rs6000coff64_vec): Ditto.
	(bfd_xcoff_aix5_backend_data): Ditto.
	* coff-alpha.c (alpha_ecoff_write_ar_hdr): Define.
	* aout-target.h (MY_write_ar_hdr): Define it if not defined.
	* aout-tic30.c (MY_write_ar_hdr): Ditto.
	* mach-o-target.c (TARGET_NAME): Use _bfd_archive_bsd44 archive.
	(bfd_mach_o_mkarchive, bfd_mach_o_read_ar_hdr)
	(bfd_mach_o_slurp_armap, bfd_mach_o_slurp_extended_name_table)
	(bfd_mach_o_construct_extended_name_table)
	(bfd_mach_o_truncate_arname, bfd_mach_o_write_armap)
	(bfd_mach_o_get_elt_at_index, bfd_mach_o_generic_stat_arch_elt)
	(bfd_mach_o_update_armap_timestamp): Moved to mach-o.c
	* mach-o.c (bfd_mach_o_mkarchive, bfd_mach_o_read_ar_hdr)
	(bfd_mach_o_slurp_armap, bfd_mach_o_slurp_extended_name_table)
	(bfd_mach_o_construct_extended_name_table)
	(bfd_mach_o_truncate_arname, bfd_mach_o_write_armap)
	(bfd_mach_o_get_elt_at_index, bfd_mach_o_generic_stat_arch_elt)
	(bfd_mach_o_update_armap_timestamp): Moved from mach-o-target.c
	* bfd-in2.h: Regenerate.

2010-01-26  Alan Modra  <amodra@gmail.com>
	    H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11218
	* elflink.c (elf_link_output_extsym): Do not ignore undefined
	symbols with ref_regular set when gc_sections is active.

2010-01-25  Alan Modra  <amodra@gmail.com>

	PR ld/11217
	* elf64-ppc.c (ppc64_elf_tls_optimize): Optimize tls sequences
	with relocations against undefined weak symbols.
	(ppc64_elf_relocate_section): Don't optimize calls to undefined
	weak functions if the symbol is dynamic.
	(ppc64_elf_relocate_section): Edit tprel tls sequences.
	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
	(_bfd_elf_ppc_at_tprel_transform): New function.
	* bfd-in.h (_bfd_elf_ppc_at_tprel_transform): Declare.
	* bfd-in2.h: Regenerate.

2010-01-23  Richard Sandiford  <r.sandiford@uk.ibm.com>

	* coff-rs6000.c (xcoff_howto_table): Change size to 0 and bitsize to 1.
	(_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_NONE.
	* coff64-rs6000.c (xcoff64_howto_table): Change size to 0 and
	bitsize to 1.
	(xcoff64_reloc_type_lookup): Handle BFD_RELOC_NONE.

2010-01-21  Nick Clifton  <nickc@redhat.com>

	* elflink.c (elf_link_add_object_symbols): Look up name of
	undefined symbol both before and after versioning has been
	applied.  Do not bother with symbols that are weakly undefined.

2010-01-21  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* elf32-s390.c (elf32_s390_merge_private_bfd_data): New function.
	(bfd_elf32_bfd_merge_private_bfd_data): New macro definition.

2010-01-19  Cary Coutant  <ccoutant@google.com>

	* dwarf2.c (read_attribute_value): Add DW_FORM_ref_sig8.

2010-01-19  Daisuke Hatayama  <d.hatayama@jp.fujitsu.com>
	    Alan Modra <amodra@gmail.com>

	* elfcode.h (elf_swap_ehdr_out): Handle e_phnum > 0xffff.
	(elf_object_p): Read e_phnum extension.
	(elf_write_shdrs_and_ehdr): Write e_phnum extension.
	* elfcore.h (elf_core_file_p): Read e_phnum extension.  Sanity check
	that we can read last program header.

2010-01-19  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* elf32-arm.c (elf32_arm_howto_table_1): Correct bitsize of
	R_ARM_THM_CALL entry.
	(elf32_arm_final_link_relocate): Correct calculation of
	reloc_signed_max when doing a R_ARM_THM_CALL, R_ARM_THM_XPC22,
	or R_ARM_THM_JUMP24 relocation.

2010-01-18  Alan Modra  <amodra@gmail.com>

	PR 11168
	* coffcode.h (coff_compute_section_file_positions): Move Rs6000COFF_C
	block past vars in COFF_IMAGE_WITH_PE block.  Report error on more
	than 32k sections.

2010-01-15  Jan Kratochvil  <jan.kratochvil@redhat.com>

	Fix compilation warning on gcc-3.4.
	* vms-tir.c (start_etir_record, sto_imm): Rename the prototype
	parameter index to sec_index according to the function definition.

2010-01-13  Chao-ying Fu  <fu@mips.com>

	* elfxx-mips.c (JR_TO_B_P): New define to transform JR to B.
	It is true for all CPUs.
	(jal_reloc_p): New function.
	(mips_elf_calculate_relocation): Rename require_jalxp to
	cross_mode_jump_p.
	Update comment for CROSS_MODE_JUMP_P.
	Set up cross_mode_jump_p based on the mode change.
	(mips_elf_perform_relocation): Rename require_jalx to cross_mode_jump_p.
	Update comment for CROSS_MODE_JUMP_P.
	Test cross_mode_jump_p and jal_reloc_p to turn jal to jalx.
	Use !cross_mode_jump_p to guard conversion.
	Convert "jr t9" to "b", if possible.
	(_bfd_mips_elf_relocate_section): Rename require_jalx to
	cross_mode_jump_p.
	Pass &cross_mode_jump_p to call mips_elf_calculate_relocation.
	Pass cross_mode_jump_p to call mips_elf_perform_relocation.

2010-01-13  Nick Clifton  <nickc@redhat.com>

	* cpu-m32c.c (m32c_scan): New function.  Ensures that a scan for
	"m32c" returns the m32c arch_info_struct and not the m16c
	arch_info_struct.
	(arch_info_struct): Use the new scan function.
	(bfd_m32c_arch): Likewise.

2010-01-13  Tristan Gingold  <gingold@adacore.com>

	* config.bfd: Remove duplicated target vector for i386-*-darwin.
	Appends new arch instead of overriding.
	Use mach_o_x86_64_vec for x86_64-*-darwin.
	* configure.in: Add mach_o_x86_64_vec.
	* configure: Regenerate.
	* targets.c: Declare mach_o_x86_64_vec, add it to _bfd_target_vector.
	* Makefile.am (BFD64_BACKENDS): Add mach-o-x86-64.lo
	(BFD64_BACKENDS_CFILES): Add mach-o-x86-64.c
	* Makefile.in: Regenerate.
	* mach-o-x86-64.c: New file.

2010-01-13  Tristan Gingold  <gingold@adacore.com>

	* reloc.c: Add MACH_O_X86_64 relocations.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.

2010-01-13  Tristan Gingold  <gingold@adacore.com>

	* archive.c (normalize): Use lbasename.
	(bfd_bsd_truncate_arname): Ditto.
	(bfd_gnu_truncate_arname): Ditto.

2010-01-12  Tristan Gingold  <gingold@adacore.com>

	* makefile.vms (CFLAGS): Turns warnings into informational messages.

2010-01-11  Tristan Gingold  <gingold@adacore.com>

	* mach-o.h: Add x86-64 relocation types.

2010-01-11  Tristan Gingold  <gingold@adacore.com>

	* mach-o.h (bfd_mach_o_backend_data): Add arch field.
	(bfd_mach_o_set_arch_mach): New prototype.
	* mach-o.c (bfd_mach_o_mkobject): Define with bfd_mach_o_gen_mkobject.
	(bfd_mach_o_set_arch_mach): New function.
	(bfd_mach_o_gen_mkobject): New function.
	Set TARGET_ARCHITECTURE for the generic back-ends.
	* mach-o-target.c (bfd_mach_o_set_arch_mach): Remove define.
	Check that TARGET_ARCHITECTURE is defined.
	Add TARGET_ARCHITECTURE in TARGET_NAME_BACKEND structure.
	* mach-o-i386.c (TARGET_ARCHITECTURE): Define.

2010-01-11  Tristan Gingold  <gingold@adacore.com>

	* archive.c (bfd_slurp_armap): Also check for Mach-O sorted armap.

2010-01-11  Nick Clifton  <nickc@redhat.com>

	* elf32-v850.c (v850_elf_perform_relocation): Fix overflow
	handling of R_V850_HI16_S relocation.

2010-01-11  Alan Modra  <amodra@gmail.com>

	PR 11103
	* dwarf1.c (parse_die): Correct FORM_STRING data pointer increment.

2010-01-11  Alan Modra  <amodra@gmail.com>

	PR 6832
	* dwarf2.c (struct comp_unit): Add sec_info_ptr.
	(find_abstract_instance_name): Use it.
	(parse_comp_unit): Set it.

2010-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* Makefile.in: Regenerate.
	* configure: Regenerate.

2010-01-08  Tristan Gingold  <gingold@adacore.com>

	* archive.c: Remove bfd_special_undocumented_glue.

2010-01-08  Alan Modra  <amodra@gmail.com>

	PR ld/11133
	* elf32-cr16.c (elf32_cr16_gc_mark_hook): Call _bfd_elf_gc_mark_hook.
	* elf32-microblaze.c (microblaze_elf_gc_mark_hook): Likewise.
	* elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.

2010-01-07  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11138
	* elflink.c (elf_link_check_versioned_symbol): Don't abort if
	a symbol referenced by DSO is is defined in a non-shared object
	and forced local.

2010-01-07  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11133
	* elflink.c (_bfd_elf_gc_mark_hook): Check section XXX for
	undefined __start_XXX/__stop_XXX in all input files and set
	SEC_KEEP.

2010-01-07  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/11143
	* elflink.c (elf_gc_sweep): Keep SHT_NOTE section.

2010-01-04  Daniel Gutson  <dgutson@codesourcery.com>

	* bfd.m4 (BFD_HAVE_SYS_PROCFS_TYPE): Define _STRUCTURE_PROC
	before including procfs.h.
	(BFD_HAVE_SYS_PROCFS_TYPE_MEMBER): Likewise.
	* configure.in: Added autoconf probe for the pr_fpreg member.
	* configure: Regenerated.
	* config.in: Regenerated.
	* elf.c: Define _STRUCTURE_PROC before including procfs.h.

2010-01-04  Joel Brobecker  <brobecker@adacore.com>

	Fix -Wshadow warnings in dwarf2.c (seen on alpha-tru64).
	* dwarf2.c (concat_filename): Rename dirname with dir_name
	to void shadowing the dirname function.
	Rename subdirname with subdir_name to stay consistent with
	the new dir_name variable name.

2010-01-04  Edmar Wienskoski  <edmar@freescale.com>

	* archures.c: Add bfd_mach_ppc_e500mc64.
	* bfd-in2.h: Regenerate.
	* cpu-powerpc.c (bfd_powerpc_archs): Add entry for
	bfd_mach_ppc_e500mc64.

2010-01-01  Joel Brobecker  <brobecker@adacore.com>

	Fix -Wshadow warnings (seen on ppc-aix)
	* xcofflink.c: Replace finfo by flinfo throughout.

For older changes see ChangeLog-2009

Copyright (C) 2010 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.

Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
End: