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 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983 5984 5985 5986 5987 5988 5989 5990 5991 5992 5993 5994 5995 5996 5997 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6008 6009 6010 6011 6012 6013 6014 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 6040 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 6091 6092 6093 6094 6095 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123
|
History for LAM/MPI
===================
This file contains the main features as well as overviews of specific
bug fixes (and other actions) for each version of LAM since version
1.0.
7.1.1
-----
- Upgraded to Libtool v1.5.8.
- Added rpi_ib_mtu SSI param (see User Guide for more info).
- Fixed minor problem with ib RPI startup code that prevented it from
working on some vendor IB stacks.
- Fixed problem with --export-dynamic showed up in the wrapper
compiler underlying commands. Thanks to several LAM users who
brought it to our attention.
- Don't emit warning on stderr and abort if we get a permission denied
when killing a process with tkill. If the lamd dies uncleanly, it
is possible for another process (possibly with another user) to end
up with that lamd's pid which will cause tkill to have problems
later (if the pid is another users). Thanks to Phil Ehrens for
bringing this one to our attention.
7.1
---
- Add the --with-memory-manager=external flag that allows LAM to be
configured to allow external triggering of its sbrk() interception
code. See the LAM/MPI Installation Guide release notes on Myrinet
and Infiniband for more details.
- Added first version of Infiniband RPI module (ib).
- Fix a problem where $includedir/lam_config.h may end up with
permissions affected by the installer's default umask instead of
being set to 0644. Thanks to Ming Kin Lai for pointing this out, as
well as various documentation fixes.
- Added preliminary support for the upcoming BProc 4.0 release. Thank
you to Luke Palmer and Daniel Gruner for helping test the changes.
- Added ability for mpirun to start applications that have execute but
not read permissions (thanks to dling@mtu.edu for pointing this
out). Only works if the -s option is not given to mpirun. Also
fixed path searching problem when ./test was specified as command to
mpirun.
- mpirun is now better about returning non-zero in the cases where
the launched job aborts before calling MPI_INIT.
- Add support for ptmalloc2 and Apple Darwin/OS X memory managers when
catching deallocations for unpinning user memory.
- Added possibility of using IMPI_HOST_NAME environment variable for
external name publishing. Thanks to Alexander Inyukhin for
contributing a path for this.
- Fixed ordering of LAM_SESSION_SUFFIX and batch system ID evaluation
when determining the session directory suffix. Thanks to Rich Drake
for pointing out this problem.
- Added collectives for inter-communicators.
- Added SHMEM coll SSI module.
- Add C++ constants MPI::ARGV_NULL and MPI::ARGVS_NULL
- Added rpi_tcp_sockbuf and rpi_crtcp_sockbuf SSI params to set OS
socket buffering sizes.
- Added support for optional MPI datatypes MPI_INTEGER1, MPI_INTEGER2,
MPI_INTEGER4, MPI_REAL4, and MPI_REAL8. Added support for non-existant
MPI datatypes (!) MPI_INTEGER8, MPI_REAL16.
- Added boot_rsh_ignore_stderr SSI parameter for users too lazy to fix
their "dot" files. :-) Thanks to Randy Bramley for suggesting this
feature.
- Added SLURM boot SSI module.
- Added support for run-time dynamically loaded SSI modules. A LAM
installation can therefore be extended by simply adding a shared
library SSI module into a specific directory.
- Various gm RPI fixes:
- Added --with-rpi-gm-lib option to specify a non-default location
for the GM library. Thanks to Tom Crockett for pointing this out.
- Fix for incorrectly handling when gm dropped packets. Thanks to
several LAM users pointing this out to us.
- Performance improvements in the gm RPI; no more "short" message
protocol -- only "tiny" and "long".
- Added "fast" support for the gm rpi module, although it's
unreliable for communication-intense applications (and therefore
disabled by default).
- Support for building the gm rpi module dynamically.
- The gm RPI module now supports checkpoint/restart (must set the
rpi_gm_cr SSI parameter to 1), but only when used with gm_get()
(see below).
- Enable experimental use of the gm 2.x gm_get() function for long
messages when explicitly asked for with the --with-rpi-gm-get
configure switch.
- Added smp-aware collective algorithms for the following MPI
functions: MPI_ALLGATHER, MPI_ALLGATHERV, MPI_REDUCE_SCATTER,
MPI_SCAN.
- Added new MPI functions: MPI_EXSCAN and MPI_ALLTOALLW.
- Added the feature of preventing cascading of help messages (on a per
helpfile basis). This feature can be turned off by setting the
LAM_MPI_ALLOW_CASCADE_HELP environment variable.
- Added "mpi_hostmap" SSI parameter to transform the IP addresses
supplied by the LAM run-time environment to an alternate set of
addresses that will be used for MPI communications. Thanks to
Jean-Marie Teuler and Robin Humble for suggesting this feature.
- Added option "-prefix </lam/install/path>" in lamboot and lamwipe
to allow users to switch between LAM installations without having
to modify their local environments.
- Added "prefix" parameter for the rsh boot module boot schema files
to allow users to specify different LAM installation paths on
different nodes.
- Added a new MPI_COMM_SPAWN info key (lam_no_root_node_schedule) to
disallow processes to be spawned on the root node.
- Wrapper compilers now do not add any additional flags unless there
is at least one argv that does not begin with "-" (e.g., "mpicc -v"
will not add any additional LAM/MPI-specific flags).
- Added options:cxx_exceptions output in laminfo to indicate whether
LAM was configured --with-cxx-exceptions or not.
- Added -param option to laminfo to display available SSI parameters
and their default values.
- Added -showme:compile and -showme:link flags to the wrapper
compilers for printing out the compiler and linker flags,
respectively. For example "cc foo.c `mpicc -showme:compile`" and
"cc foo.o `mpicc -showme:link` -o foo".
- Renamed "wipe" command to "lamwipe" per request from the Mandrake
Cooker team. The name "wipe" is now deprecated, and will be removed
in some future release.
- Added "lamcheckpoint" and "lamrestart" commands. These commands can
be used to call the module-specific Checkpoint and Restart functions.
7.0.7 (unreleased; all changes included in 7.1)
-----------------------------------------------
- Removed the reset of the MAKE macro in romio/Makefile.in that
disallowed using a make other that what is found at configure time.
Thanks to Richard Hadsell for tracking this down.
- Fixed some missing <etc_misc.h> header files that caused unresolved
symbols on some platforms. Thanks to Richard Hadsell for tracking
this down.
- Added possitiblity of --without-exflags to force *not* using any
special C++ exception compiler flags. Thanks to Richard Hadsell for
pointing this out.
- Fix man page sections. Thanks to Camm Maguire for pointing out
these errors.
- Only execute .profile if it exists in the rsh module. Thanks for
the patch from Camm Maguire.
- Fixed error in lamnet code used to find available interfaces when
we don't pre-allocate enough space (on FreeBSD - thanks to Masakazu
Higaki for pointing out this problem).
7.0.6
-----
- Fixed error in lamnet code used to find available interfaces when
we don't pre-allocate enough space.
- Fixed ordering of LAM_SESSION_SUFFIX and batch system ID evaluation
when determining the session directory suffix. Thanks to Rich Drake
for pointing out this problem.
7.0.5
-----
- Fix an obscure race condition that could occur if running in a LAM
universe with more than 255 nodes. Thanks to Robin Humble for
pointing this out.
- Changed the lam-helpfile to correct the error in lamboot synopsis.
Added '-s' and delineate the options -bdhHlsvVx. Thanks to Richard
Hadsell for pointing this out. Also corrected all those cases where
all options were lumped together.
- Add fix to set TCP socket buffer size to run-time value of
ssi_rpi_tcp_short / ssi_rpi_crtcp_short in all rpi modules, as
relevant.
- Fix minor prototype problem with lam_ksignal(). Thanks to Satya
Gosula for pointing this out.
- Make network interface code allow for arbitrary numbers of
interfaces on the localhost. Thanks to Neil Storer for pointing
this out.
- Add dependant libraries for the PBS TM library on Solaris. Thanks
to Tom Crockett for pointing this out.
- Fixes to the SGE detection logic for the session directory. Thanks
to the SGE Development Team for assistance with the correct logic.
- Updates to documentation about Globus module. Thanks to
Siva (sbandham) for pointing this out to us.
7.0.4
-----
- Update docs to reflect true behavior of LAM_MPI_SESSION_PREFIX.
- Do not propagate LAM_MPI_SESSION_PREFIX via mpirun. Thanks to
Andras Laszloffy for pointing this out.
- Fixed crtcp rpi deadlock handling for deferred writes during a
checkpoint in the presence of other blocking reads.
- Better fix for libtool 1.5 broken icc -c/-o test; patch the
generated configure script to remove the bad commands.
- Fixed minor typo in blcr cr module configure scripts.
7.0.3
-----
- Minor fixes with bad printf() formats in the kenyad and blcr/crlam.
Thanks to Paul Hargrove for pointing these out to us.
- Workaround for libtool 1.5 bug with the Intel compiler (libtool
didn't think that icc supported -c and -o at the same time). Thanks
to Jon Bernard for bringing this to our attention.
- Changed LAM_CONFIGURE_* macros from -D command line arguments to
#define's to prevent problems with some compilers that don't like
-D values with embedded spaces. Thanks to Harshu for bringing this
to our attention.
- Changed search order for Fortran compilers to look for GNU g77 before
f77 so that the default matches the defaults for the C and C++
compilers. Thanks to Siegmar Gross for pointing this out.
- Removed LAM_NEED_SYS_SELECT_H, instead including sys/select.h any time
it is available.
- Updated SYS V semaphore and shmem tests to check for functionality. Adds
-lrt (Solaris) and -lcygipc (Cygwin) if needed.
- Added configure switch --with-fd-setsize to increase the size of an
FD_SET and increase the soft per-process file descriptor limit on
platforms that support such things. This should allow larger TCP
LAM jobs on platforms that support large FD_SET arrays. Be sure to
read the release notes for your platform before using this option.
- Fix issue with timeouts in the lamd's ACK code. It appears this was
due to a longstanding confusion as to whether TO_DLO_ACK was in
seconds or microseconds.
7.0.2
-----
- Fixed a problem in LAM's distribution scripts that accidentally left
out the gm RPI from the 7.0.1 tarballs.
7.0.1
-----
- Added a workaround for Portland 5.0 C++ compiler bug in the C++
bindings.
- Removed legacy function panic() because it conflicts with a function
in OS X's system headers with the same name.
- Fixed a problem with the sbrk() declaration in ptmalloc.c and the
Portland C compiler.
- Fixed a problem with the boot_rsh_agent SSI parameter not being
recognized properly. Thanks to Andre Gosselin for pointing this
out.
- Fixed a problem with mpirun's default running with tracing enabled.
Tracing is now only enabled if -t, -ton, or -toff is specified on the
mpirun command line (see mpirun(1) for more information). Thanks to
Thomas Klein for pointing this out.
- Fixed a memory leak when freeing a datatype created by
MPI_Type_create_hindexed. Thanks to Thomas Klein for bringing this
to our attention.
- Fixed a minor problem with the cr_base_dir SSI parameter.
- Fixed a couple of problems with duplicate symbols on OS X when
using the Fortran bindings.
- Fixed thread configure tests to test a much wider variety of thread
compiler and linker flags.
- Ensure that relevant compiler and linker flags are propgated properly
to SSI configure scripts so that we compile all of LAM with the same
flags.
- Added support for GM-2.x in the gm rpi module.
- Removed errant "-" typo in MPI_Intercomm_merge. Thanks to Andrew
Cunningham for pointing this out.
- Minor #include fixes for FreeBSD 4.x. Thanks to Brooks Davis for
pointing this out.
- Made the tests for getsockopt() and recvfrom() more robust.
- Fixed a problem with opening unix sockets with really long filenames
(e.g., in PBS Pro environments). Thanks to Jon Bernard, Steven
Wilson, and Lev Gorenstein for identifying the problem.
- Add --with-romio-libs=LIBS to allow passing of arbitrary
LDFLAGS/LIBS args down to the environment of ROMIO's configure
script and also into the wrapper compilers. e.g., when building
ROMIO with PVFS support, "-lpvfs" needs to be added in both places.
Thanks to Randy Bramley and Cathy Yuan for pointing this out.
7.0
---
- Allow ROMIO to be built even if LAM is built with shared libraries.
This is still experimental, but seems to work.
- Allow the internal "name" (argv[0] to underlying MPI_Init) for
FORTRAN programs to be overridden by the environment variable
LAM_MPI_PROCESS_NAME.
- Fixed file descriptor leak for non-MPI processes (and MPI procs that
do not exit properly) in the lamd. Avoid passing stdin Trollius
fd around, so that it doesn't get leaked.
- Added mpiexec for portable MPI process startup (described in MPI 2
standard). mpiexec also has support for "one shot" lamboot, mpirun
and lamhalt.
- Restore umask to original value when launching application from the
lamd, as the lamd runs with a umask of 077.
- Updated ROMIO to v1.2.5.1. Revamped ROMIO configure/build process
to be better integrated with LAM.
- bproc boot SSI support added; can now lamboot on bproc clusters
(still launches a lamd on every node). Added bonus that "mpirun
[C|N] foo" will, by default, not run on the bproc head node. Thanks
to Nicholas Henke for oodles of patches, development, and general
advice.
- lamnodes now reports per-node flags, such as "origin", "this_node",
and "no_schedule".
- Re-activated long-unused feature in LAM to not schedule MPI and
serial processes on selected nodes. For example, you can lamboot on
a head node and some compute nodes and have "mpirun C foo" only run
on the compute nodes.
- Added new laminfo command to get detailed information about LAM's
configuration, including available SSI modules and their various
version numbers.
- Added support for attaching TotalView debugger to MPI processes
launched by mpirun, including support for the partial-attach feature
provided by TotalView. Also include support for examining messages
queues.
- Increased the number of MPI tags and communicator contexts available
in all RPIs where this was possible (i.e., everything except lamd).
MPI jobs that do not use the lamd RPI will now automatically get use
of more MPI tags and simultaneous communicators. Additionally,
increased the efficiency of the communicator context ID allocation
algorithm (at the expense of communication efficiency during
communicator construction).
- MPI collectives have been SSI-ized. The LAM collective algorithms
have been moved into a module named lam_basic. See lamssi_coll(7).
- Try to use -pthread when compiling with POSIX threads and GNU
compilers, since many Linux / BSD-flavored distributions include
this flag in the local configurations. Failing that, fall back to
-D_REENTRANT and -lpthread. Thanks to Todd Fries for the
suggestion.
- When the LAM daemon is killed by SIGTERM, it will gracefully kill
all of its sub-processes, release all of its resources, and die
nicely (as opposed to just dying).
- LAM will use the $TMPDIR environment variable to determine where
to create temporary files
- Added "promiscuous" and "expected" modes for base SSI boot
protocols, where connections are accepted from any IP address or
only from the IP addresses listed in the boot schema, respectively.
- The back-end process for lamboot (and friends) have been SSI-ized
with the "boot" SSI kind. See lamssi_boot(7). Currently have two
boot modules available: rsh (which also does ssh) and tm (for PBS).
- Added the MPI-2 C++ bindings implementation for "MPI::Win".
- Added --with-wrapper-extra-ldflags option to configure that parses
the output of libtool to get the extra compiler/linker flags and put
them into the wrapper compilers (e.g., shared library run-time
search path).
- The memcpy() in glibc performs poorly if the copy size is not
divisable by 4. Added a workaround to significantly increase LAM's
shmem RPIs and unexpected message buffering performance in these
cases, as well as command line configure switches to enable/disable
this behavior (--with-prefix-memcpy and --without-prefix-memcpy).
Thanks to Dr. Dave Turner for identifying this problem and
suggesting fixes.
- Changed the bit mapping in error codes that are used in MPI because
the field specifying the MPI function was only 8 bits, yet there are
300+ functions in MPI. This unfortunately changes the bit mapping
of the errorcode argument in MPI_Abort; see the MPI_Abort(3) man
page for more information.
- Added functionality per MPI-2:4.8 -- attributes added to
MPI_COMM_SELF will be deleted as nearly the first thing in
MPI_FINALIZE, effectively allowing user-specified functions during
MPI_FINALIZE.
- Removed MPIL_Spawn (LAM-specific, pre-MPI-2 spawn call).
- MPI thread support now MPI_THREAD_SERIALIZED. We don't enforce any
distinction between FUNNELED or SERIALIZED, so it is possible to
write a threaded application that runs fine on LAM but causes issues
on other platforms.
- Print out friendly error message from wrapper compilers if underlying
compiler isn't found.
- There are now lots of run-time tunable parameters for the various
RPIs. See the lamssi_rpi(7) man page for a list of the tunable
parameters that can be passed in to each RPI.
- The first System Services Interface (SSI) kind has been added -- the
RPI layers have been converted to SSI. Now all available RPI's are
compiled in simultaneously and you can choose which to use at
run-time. See the mpirun(1), lamssi(7), and lamssi_rpi(7) man
pages.
- Fixed a problem where if $prefix is /usr, hf77 would complain that
it could not find the ROMIO and MPI-2 C++ libraries. This isn't too
important for 6.6.x since we've totally re-written the wrapper
compilers, but we record the bug fix anyway. Thanks to Trond Eivind
Glomsrod for pointing this out.
- Completely rewrote the Myri/gm RPI. It's smaller, faster, and
generally mo' better.
- Only install lam-bhost.def if one does not exist in $(sysconfdir).
Thanks for Martin Siegert for the suggestion.
- Renamed lam-conf.lam and lam-conf.otb to lam-conf.lamd and
lam-conf.separate to make the meanings more obvious and less
confusing with the corresponding lam-bhost.* files. Renamed
lam-conf.lam to be lam-conf.example to make its purpose more
obvious, and no longer install it under $(sysconfdir).
- Added the MPI-2 C++ bindings implementation for "MPI::Info".
- Make mpirun's error message about abnormal MPI process exit
distinguish between deaths caused by signals and by deaths caused by
abnormal exit statuses.
- Added the "C++ only" datatypes specified in the MPI-2 standard:
MPI_BOOL, MPI_COMPLEX, MPI_DOUBLE_COMPLEX, and
MPI_LONG_DOUBLE_COMPLEX, as well as the built-in operands specified
in the standard. Note that the complex types will *only* work if
the implementation of complex<float> allows casting to
struct { float r ; float i; } ; (and likewise for double and
long double). This seems to be the case everywhere we have seen.
- Fixed a couple small problems that prevented running the lamd as
a group of processes. Moved -b from $inet_topo to $socket_suffix
in the lam-conf files.
- Added version checking for applications - a nice error message will
be printed if user runs under one version of LAM and has compile
against some other version of LAM.
- Added output of IP address to failure notice in mpirun (in addition
to the node number, which only has meaning in that particular LAM
run-time environment. Thanks to Matthias Troyer for the suggestion.
- Add version checking into the LAM commands and MPI_INIT. If a user
attempts to run a LAM or MPI program that does not match the version
of the lamd that is running, a warning message will be displayed and
the program will bail.
- Able to finally remove the automake_bogosity.[c|h] files and extra
noinst_HEADERS/noinst_PROGRAMS rules from various
directories/Makefile.am's.
- Add -nn and -np options to lamboot, recon, and wipe to prevent
adding "-n" to the remote agent command line and to prevent the
execution of $HOME/.profile on the remote side, even if the remote
shell is Bourne.
- In addition to the syslog, send lamd debugging output to the
lam-debug-log.txt file in the LAM session directory. This is
particularly helpful since many linux distributions do not allow
normal users to view the syslog.
- Related to the note below (LAM session directory located on a
networked filesystem), add a workaround in the flatd when attempting
to open a new flatd temp file in the LAM session directory with
O_APPEND. If the first attempt to open a new file fails, try again
without O_APPEND.
- Pass "-d" to tkill during lamboot (through hboot) if lamboot was
invoked with "-d".
- Some fixes to the gm RPI, particularly with respect to allocating
and freeing memory.
- Add specific error message for the case where the gm RPI is unable
allocate a gm port. This is much more helpful than an amorphous
"something went wrong during MPI_INIT" message.
- Robust-ized lamhalt such that it will timeout (after 15 seconds) if
it doesn't receive all the HALT ACKs back that it thinks that it
should receive -- and prints out an appropriate error message
indicating which nodes it didn't get ACKs from.
- Various minor improvements in the build system.
- Integrated the C++ bindings into the configure/build system better.
- Revamped the configure system for future extensibility. Updated
build system to use Autoconf 2.52, Automake 1.5, and Libtool 1.4.2
(or higher).
- Added a specific check to ensure MPI_INIT is not called after
MPI_FINALIZE. This is a special case of the check that no
MPI function was called after MPI_FINALIZE, as new users tend
not to realize that you can't re-INIT a process.
6.6b1
-----
- Removed the LAM-version-checking code from the mpi2c++ bindings;
they're really not necessary since we're inside LAM anyway.
- Fixed ambiguity of RTF_KENYA flag being used for two purposes
(forked from the kenyad and attached to the kenyad), and split it
into RTF_KEYNA_CHILD and RTF_KEYNA_ATTACH.
- Changed the behavior of the --with-rsh option in configure. Now,
rather than always putting the full path in lam_config.h, it only
adds the full path when an absolute or relative path was given
(as opposed to just a binary name).
- First public release of Myrinet/gm support in the gm RPI.
- Fixed a problem where two different flags had the accidentally same
value on a request, which lead to truncation errors in one-sided
communications in lamd mode when the daemons were compiled
separately.
- Added better support to mpirun and the kenyad to catch when an MPI
process dies without first detaching (i.e., calling MPI_FINALIZE).
- Re-added hooks to create/remove the "impirun" sym link in $(bindir)
during "make install"/"make uninstall". These were lost when we
converted to an automake-style build. Thanks to Brian Vinter for
bringing this to our attention.
- Fixed a bug in dlo_inet in fault tolerant mode. On some OSes,
recvfrom() can return ECONNREFUSED, which should not cause an
abort in FT mode. Thanks to Pavel for the bug report.
- Fixed a problem when a process sends a LAM signal to itself via
kdoom(); the signal handler would erroneously get triggered twice.
Thanks to Sethuram Rajamani for pointing this out.
- Added the MPI_Info key "lam_spawn_sched_round_robin" on
MPI_COMM_SPAWN to allow finer-grained control on the placement of
spawned MPI processes without the need to write an app schema to a
temporary file (and allows functionality that you can't really do
with an app schema, anyway). See MPI_Comm_spawn(1) for more
information on this key.
- Renamed the MPI_Info key name on MPI_COMM_SPAWN "file" to
"lam_spawn_file". Since it is a LAM-specific key, it should have a
LAM-specific name. While the "file" key still exists for backwards
compatability, its use is deprecated.
- Added two predefined attributes on MPI_COMM_WORLD:
LAM_UNIVERSE_NCPUS and LAM_UNIVERSE_NNODES. They return the number
of CPUs in the current LAM universe and the number of nodes in the
current LAM universe (respectively). Note that these values can be
larger than their corresponding counts from the application's
MPI_COMM_WORLD.
- Increase the default optimization flags in configure to be -O3 for
gcc/g++, -O for all other compilers.
- Moved the handling of signals in user code from signal handlers
installed by MPI_INIT to the lamd and mpirun. That is, the lamd
will now detect that a process died due to a signal and send back
that information to mpirun. mpirun will print out the appropriate
error messages. This has the side effect of allowing the OS default
signal handlers to be used in user programs rather than the LAM
singal handlers. In at least some cases, this is a good thing --
some users want core dumps, for example. Two new options have been
added to mpirun -- "-sigs" and "-nsigs", to enable / disable the LAM
signal handlers from MPI_INIT . "-nsigs" is now the default, since
the lamd/mpirun make these signal handlers redundant. However,
"-sigs" will enable the old behavior for backwards compatibility.
- Fixed a bunch of potential signed / unsigned comparison problems.
This was a real bug in at least one case, which could effectively
result in garbage being sent to the lamd, which would cause the lamd
to eventually die.
- Fixed up lamnodes to print more intelligible error messages when you
specify an illegal node/CPU.
- Ensure that the directory where the lamd named socket lives is not
left around if you invoke a LAM command when there is no lamd
running. Moved the function lam_rmdir() from tkill.c to
share/etc/kill.c, and renamed it to be lam_rmsocknamedir(), and
ensured that it is called when kinit() fails because there is no
lamd. Thanks to Scott Morton for pointing this out.
- Made LAM's signal handler a bit smarter by checking to see if it is
already in ths signal handler. e.g., if a callback function has
been registered via atexit()/onexit() and causes a seg fault after
the signal handler has been triggered the first time, this can cause
a loop of seg faults which is quite difficult to kill. LAM's signal
handler will now detect this situation and gracefully abort(). This
has come up before on the LAM list; the most recent was from Camm
Maguire.
6.5.10
------
- In the signal handler for the C++ test suite, use the POSIX function
sigemptyset() to zero out the sa_mask instead of just assigning 0.
This is necessary for the Linux icc (C++) compiler, which will
generate an error if you try to just assign 0 (no valid constructor
to cast from 0 to the appropriate type). Thanks to Jon Bernard for
pointing this out.
6.5.9
-----
- Fixed behavior of hf77 (mpif77) to always -I$prefix/include, even
when $prefix == /usr. This is different than hcc (mpicc/mpiCC),
because the fortran compiler will not look in /usr/include by
default, but the C/C++ compiler will.
- Updated BSD4.4 file descriptor passing (again). Now have support
for API defined in RFC 2292 (Advanced Sockets API for IPv6), as
suggested by the Suse AMD Hammer team and implemented in 6.5.8 and
the API defined in POSIX.1g, which is basically the support provided
before 6.5.8.
- Passed architecture of "freebsd" to ROMIO configure when building
on Mac OS X or Darwin, removing the need for the -DNO_AIO hack.
Thanks to the ROMIO team for the hint.
- Cleaned up use and declaration of errno in LAM. There are no more
extern int errno declarations. Files include either terror.h (which
includes errno.h) or errno.h.
- Added <args.h> to share/etc/kill.c and otb/sys/flatd/flatd.c so that
snprintf mapping to lam_snprintf would happen properly on
architectures that do not have snprintf.
- Changed --with-fc / $FC handling to allow passing of command line
switches to propogate through to mpif77. This is the same behavior
as --with-cc / $CC and --with-cxx / $CXX. Thanks to Mike Pacey for
pointing this out.
6.5.8
-----
- Updated BSD4.4 file descriptor passing to fit expected use. Thanks
to the Suse AMD Hammer crew for all the help.
- Removed duplicate free in fortran SPWAN_MULTIPLE call
6.5.7
-----
- Removed some duplicate free's in fortran MPI calls.
- Change LAM's registry to not depend on the O_EXCL flag to open().
Use an alternative locking mechanism if it is determined (at run
time) that O_EXCL will not work in the LAM session directory. This
can happen when the LAM session directory is on a networked
filesystem. Thanks to Yusuke Tanimura for initially bringing the
problems with having a LAM session directory on a networked
fileystem (e.g., Linux NFS) to our attention, and the generous use
of his cluster to figure out how to fix it.
- Update for MPI 2.1 errata: MPI_GET_COUNT behavior with respect to 0
byte datatypes now returns 0 (vs. MPI_UNDEFINED) when 0 data bytes
have been transferred.
- Fix the lamd kernel to set the kill file to be close-on-exec so that
it is not inherited by child processes (this can cause a problem
during lamhalt if the LAM session directory is on NFS -- tkill will
inherit the open file descriptor and then remove the file. NFS will
then created a ".nfsXXXXX" cache file entry, which will prevent the
removal of the directory).
- Removed linking to the C++ bindings when using mpicc and mpif77
because this creates a problem when using gcc 3.0, and it doesn't
make sense anyway. Thanks to Camm Maguire for pointing this out.
- Fixed minor issue with show_help() that could cause problems for
help messages with large numbers of arguments. Thanks to wierenga
for contributing the patch.
- Fixed a problem in the main lamd kernel on NetBSD where select()
will zero out fd_sets even on "accepted" failures. Thanks to Tom
Everett for access to a NetBSD machine to test on.
- Fixed a problem in the kernel where we were assuming that all
"ready" FDs in a set would be set in a select() was causing
a file descriptor "leak" (it was cleaned up by lamclean) that
would result in the inability to launch MPI jobs under Mac OS X.
- Updated man page installation to not install man pages with
conflicting names on file systems that are not case sensitive.
- Removed use of .so nroff "include" directive in man pages; it didn't
work on all platforms. Also updated some text in the mpicc and
mpif77 man pages.
- Changed name of binary for C++ compiler to mpic++. On most systems,
there will be a symlink from mpiCC -> mpic++. On systems without
a case sensitive file system (like HFS+ on Mac OS X), this symlink
will not be created, as it conflicts with mpicc.
- Add checks for if running under an LSF job, and automatically set
the socket suffix to be the LSF job ID (a la how PBS jobs are already
handled).
- Fixed a problem where the IMPI client was not properly endianizing
IMPI_CMD_FINI before sending it to the IMPI server. Thanks to
Dzmitry Vadalazhski for pointing this out.
- Fixed a problem where if $prefix is /usr, hf77 would complain that
it could not find the ROMIO and MPI-2 C++ libraries. Thanks to
Trond Eivind Glomsrod for pointing this out.
- Fixed problem in lamopenlog(), where we passed a priority to
openlog() instead of a level. Thanks to Martin-D. Lacasse for
pointing this out.
- In share/etc/kill.c, kill off LAM directory with rmdir(), not
remove() - it appears that MacOS X will not allow remove() to be
called on a directory.
6.5.6
-----
- Fixed a problem with mpi++.h in the Linux RPMs.
- Fixed two typos in MPI_INIT that prevented MPI_F_DOUBLE_COMPLEX from
being initialized properly. Thanks for Heinz Bast for pointing this
out.
- Fixed some name clashes with the Fortran interface when the linking
semantics are FORTRANUPPERCASE. There is a name clash between some
C and Fortran constants in this case. A longer discussion of the
problem can be found in MPISYSF.h. In addition, reworked our Fotran
alignment and data type size configure tests so that they work with
Fortran compilers that actually have mixed case linking semantics
- Worked around a bug in FreeBSD 4.2 with the CMSG_DATA macro. On
FreeBSD, CMSG_DATA uses a macro named ALIGN, which was not included
in the proper header files. We include sys/param.h if needed to
make programs using CMSG_DATA link properly.
- Added support for platforms without SysV semaphores. Configure will
not allow selection of the SYSV or USYSV RPIs if on a platform
without SysV semaphores. Edited share/etc/registry.c to remove all
references to SysV semaphores if they don't exist.
6.5.5
-----
- Made IMPI extensions be part of the main distribution, but with them
disabled by default. The whole division between the 6.4 series and
the other [stable] LAM version was too confusing, anyway. HISTORY,
INSTALL, and RELEASE_NOTES were updated -- their 6.4 counterparts
were merged in and the originals removed from CVS.
- Fixed some annoying ROMIO issues.
- Fixed a problem that if --prefix was not specified to configure
and lamtree was found in the $path, the prefix would be set to the
directory where lamtree was found, not its parent.
- Fixed a long-standing problem with 'localhost' appearing in boot
schemas with multiple hosts. If the origin node in a boot schema
resolves to 127.0.0.1 and there is more than one node in the boot
schema, a warning is displayed and lamboot will not attempt to
boot the cluster
- Removed two sections of #undef's from share/include/MPISYSF.h that
were mistakenly left in the FORTRANUNDERSCORE case which caused
problems with some fortran compilers (e.g., Absoft). Thanks to
Ricardo Fonseca for pointing this out.
- Fixed bug in hcc that didn't check for ROMIO and MPI 2 C++ libraries
when the prefix is /usr. Thanks to Jean-Baptiste Cazier for
pointing this bug.
- Found an obscure name clash with LAM's tputs() and termcap/ncurses.
This has show up before on the LAM list (a long time ago) was was
misdiagnosed. The problem is that some libreadline.so's are
compiled with a dependency for libncurses. So even if you compile
with "mpicc foo.c -lreadline", the linker will effectively translate
this into "cc foo.c -lreadline ...LAM libs... -lncurses", which
means that LAM's tputs() will get used instead of ncurses'. To fix
the majority of these problems, tputs() was changed to a #define in
LAM, and the function was renamed to be lam_tputs(). This won't
work if the user includes <tstdio.h> (a trillium header file) and
tries to call the termcap/ncurses tputs(), but I think the chances
of that happening are pretty darn low. Thanks to Glenn Maynard for
pointing this out.
- Fixed a bug in snprintf.c where %c just didn't work. This was only
a problem on platforms that don't have a native snprintf() function.
Thanks to John Turner for pointing this out.
- Fix a name clash between AIX 4.3.? and LAM -- change the ALIGNMENT
macro to LAM_ALIGNMENT. Thanks to Jalel Chergui for pointing this out.
- Added a fix for some OS's (e.g., RH 7.1) where the CMSG_DATA macro
in socket.h (or wherever it is actually defined) is broken for
non-gcc compilers. The fix is a test in configure.in and a
workaround in share/etc/srfd.c. Thanks to many LAM users for
helping to locate this bug.
- Fixed a pair of bugs that were directly related to having a large
number of nodes in the LAM universe. mpirun had some fixed length
strings that would be overrun for large numbers of hosts with
"mpirun C foo", and the protocol for ldogetlinks() (internal LAM
call to obtain the routing table from the lamd/dlo) had to be redone
to keep the message sizes beneath MAXNMSGLEN. See the comment in
share/trillium/ldolinks.c. Thanks to Jeff Oishi for letting us use
his big cluster to track down these bugs.
- Changed the type of the first parameter to the C++ binding for
MPI_Get_processor_name from (char*&) to (char*).
- Fixed an issue in the MPI 2 C++ bindings where linking the mpi2c++.h
file could result in the link pointing to the wrong directory during
make install if DESTDIR is used. Thanks to Todd Fries for pointing
this out.
6.5.4
-----
- Fixed problem with MPI_COMPLEX and MPI_DOUBLE_COMPLEX first posted by
Richard Winnett. In an heterogenous environment, LAM was not
properly byte-swapping the datatype.
- Fixed problem with -lutil not being added to the arguments list
passed by mpi{cc,CC,f77} to the underlying compiler when needed for
pty support. Thanks to Gordon Gere for the inital post about the
bug on the LAM mailing list.
6.5.3
-----
- The ROMIO library was being installed under the wrong name. This
was a problem because mpicc/mpif77 check for the presence of the
library before linking to them with -l. Hence, mpicc/mpif77
effectively ignored the ROMIO library, even if LAM was compiled with
ROMIO support. Thanks to Jay for bringing this to our attention.
- The LAM-specific MPIL_* man pages are now installed properly.
Thanks to Aaron Fein for pointing out this problem.
- Fixed some problems with ROMIO's build/installation procedure when
using a VPATH build. libmpio.a was previously built in the source
tree, not the build tree (among other things).
- Fixed an issue with duplicate symbols when compiling either of the
shmem RPIs as shared libraries with some linkers. Thanks to Ferenc
Tamas Gyurcsan and Camm Maguire for pointing this out.
- If $prefix is /usr and we're not building LAM, don't -I/usr/include
and -L/usr/lib in hcc/hf77. This causes problems for some linux
distrubitions, because it disrupts the natural search order of
include/library directories (particularly when mixed with C++ header
files). Thanks to Trond Eivind Glomsrod for pointing this out.
6.5.2
-----
- Fixed two problems in the ROMIO installation: 1) where all files
under $prefix/lib would be set to permissions 0755, and 2) ROMIO was
overwriting several LAM man pages (MPI_Info_* and two MPI_Type_*
files). Thanks to multiple LAM users for pointing this out (tthomas
and David Shattuck, especially).
- Fixed a problem in the MPI-2 C++ bindings installation where mpi++.h
could get linked to the wrong place under a certain set of
circumstances. Thanks to Todd Fries for pointing this out.
6.5.1
-----
- Fixed a stupid configure test that prevented pty support from
working properly under Linux. Thanks to JeongYeop Kim for initially
pointing this out to us.
- Fixed initializer for the MPI::DOUBLE_INT constant in the C++
bindings. Thanks to Gustavo Romero Lopez for pointing this out.
6.5
---
- Fixed problems on some OS's (cough cough HP-UX cough cough) where
telling the kenyad to detach a process that was loaded via the flatd
would try to call unlink() and fail becuase the process was actually
still running (on most OS's this is fine). Now we defer the detach
and unlink() procedure until the died catches the child's death.
- Fixed problem with Fortran version of MPI_STATUS_IGNORE and
MPI_STATUSES_IGNORE. Thanks to John Pormann for pointing this out.
- Added the environment variable LAM_MPI_SOCKET_SUFFIX that will allow
the same user to run multiple lamd's on the same node. This is a
generalization of the extension for PBS for the "overlapping LAM"
problem.
- Added a "-s" option to lamboot that will force the closing of
stdout/stderr of the locally-launched lamd. Normally, the
stdout/stderr of the local lamd is left open so that tstdio(3) will
work properly. Using -s will break tstdio(3), but this isn't a
great loss because most people don't use it anyway. :-) Using -s
will allow things like the following to work:
rsh somenode lamboot -s hostfile
Since rsh waits for two conditions to complete: lamboot to finish,
and stdout/stderr to close. Without -s, stdout/stderr would not
close, and rsh would hang. Thanks to John Turner and Nina Thiessen
for suggesting this.
- Added man pages for all MPI-1 and MPI-2 functions.
- Changed from the lamboot bootschema ":num" syntax to "cpu=num"
syntax because of potential abbiguity problems with IPv6 addresses.
This also changed the "username" optional argument to become
"username=foo". Jeremiah Willcock donated the parsing code in
share/boot/bhostparse.c for this. <later> After a bunch of
discussion, we preserved backward compatibility; if the first word
after a hostname has no "=" in it, it is treated as the username.
- Fixed a problems on BSD machines where ROMIO incorrectly used the
preprocessor symbol PVFS to determine if the PVFS filesystem was
installed or not. On BSD machines, PVFS is #define'd to some kind
of priority in <sys/param.h>; it has nothing to do with whether the
PVFS filesystem is installed or not. So all instances in ROMIO were
changed to ROMIO_HAVE_PVFS.
- MPIL_Spawn (which is deprecated, anyway) and MPI_Comm_spawn (when
used with an appschema) did not automatically export LAM_MPI_*
environment variables. This has been fixed.
- Fixed error code reporting and problems with the root rank still
using maxprocs when the MPI_Info key "file" was used. Thanks to Le
Dinh An for pointing out this problem.
- Added some more example programs: alltoall (C), pi (C and fortran),
and ring (C).
- Added more tests to the lamtests package. Also added ability for
user to setenv CFLAGS and LDFLAGS to pass in arbitrary flags to the
compile/link process.
- Gave ROMIO the ability to set the number of bytes received in a LAM
MPI_Status object. Otherwise, calling MPI_Get_count on a MPI_Status
that was returned from a ROMIO function would give erroneous
(random!) results. Thanks to Nina Thiessen for bringing this to
our attention.
- Fixed a crazy error that only seems to happen on AIX 4.3.3 that has
to do with blocking vs. non-blocking sockets in the TCP RPI's (and
the others that derived from the TCP RPI). fcntl() didn't seem to
work properly when attempting to switch between
blocking/non-blocking modes on the socket, so ioctl(fd, FIONBIO,
&flag) is now used on systems where FIONBIO is defined (seems pretty
portable, though). Note that there are other places where we use
fcntl() -- they may need to be updated to ioctl/FIONBIO as well.
Thanks to Shahryar Nikandish for pointing this out, and the cast of
thousands who helped resolve it (literally; there were too many
people and too many e-mails to list here).
- Added the use of the openpty() for -pty support to mpirun under
Linux.
- Added prototypes for MPI_Op_f2c and MPI_Op_c2f in <mpi.h> (they were
missing). Thanks to Anthony Chan for pointing this out.
- Fixed some environment variable issues in hboot, lamboot, recon, and
wipe. Thanks to William Yu for pointing this out.
- Sped up lamboot, recon, and wipe by removing frequently-unnecessary
second rsh (used to determine if the user has the bourne shell, in
which case .profile must be executed manually). This can be invoked
with the "-b" option to lamboot/recon/wipe. Bourne and Korn shell
users (*not* including bash users) cannot use the "-b" switch.
- Added XMPI_Buoy(), XMPI_Coloron(), and XMPI_Coloroff() functions for
additional XMPI control. See their respective man pages for details.
- Added some missing quotes in lamtests/make-defs that prevented the
tests from running under some picky shells.
- Change to print entire error messages out in stderr, not just the
top and bottom bars, or the potential "I can't find the help file"
message. Thanks to Karganov Konstantin for pointing this out.
- Fixed some 64-bit casting issues in share/etc/ttime.c (i.e.,
MPI_WTIME); probably not strictly necessary, but it can't hurt.
Thanks to Jeff Bachtel for pointing this out.
- Moved the LAM version number to $top_srcdir/VERSION, and trigger
share/include/mpif.h and share/include/patchlevel.h from it.
patchlevel.h is only left there for third party tools that use it to
determine LAM's version number.
- Closed duplicated unix file socket descriptors when the lamd forks
off a new process (e.g., via mpirun). This wasn't technically a
leak, since it didn't introduce any new file descriptors into the
OS, but it wasn't Right, either.
- Added more verbose error messages for errors during MPI_INIT,
particularly those dealing with the lamd. Made the routines for
finding the helpfile a bit more robust, particularly in pathalogic
situations.
- Caused fortran versions of MPI_INIT and MPI_INIT_THREAD to forge
argv[0] so that libraries like MPE have some nice program name to
generate output files to. Thanks to Anthony Chan for pointing this
out.
- Ensured that all files used internally by LAM are opened with secure
permissions (i.e., don't rely on the user's umask). And since some
OS's (cough cough Solaris cough cough) don't want to abide by the
umask when one opens a named unix socket, moved all LAM
internal/temporary files to their own locked directory.
- Added a small bit in mpi.h to ensure that LAM_BUILDING is always
defined before we use #if !LAM_BUILDING and it is not defined, gcc
2.95.2 will give a warning if you compile with -Wundef. Thanks to
Frits Kuijlman for pointing this out.
- Added some syslog calls to the lamd when launched via "lamboot -d
per suggestion from Balasubramanian Sundaram. Messages are logged
with a LOG_INFO severity.
- Fixed logic with --with-rsh when used with non-absolute filenames.
Thanks to Frits Kuijlman for pointing this out.
- Made "there is no lamd running" error messages more user-friendly
and descriptive. Applied these messages to all the LAM/MPI
executables and to MPI_Init.
- Added some ACK code to share/etc/srfd.c to fix a race condition on
some operating systems (e.g., SCO) such that sending file descriptor
messages to another process could get buffered and then discarded
(before the receiver got the messages) when the pipe was closed.
Making the sender wait for the receiver's ACK solves this problem.
Thanks to Keith Pereira for a **large** number of e-mails to figure
this problem out.
- Changed LAM_CHECK_PROTOS to use $CPPFLAGS instead of $CFLAGS. In
some cases, this would pass things like "-O" to /lib/cpp, which
would abort and therefore configure would think that the prototype
did not exist (regardless of whether it did or not). Thanks to Chan
Siu Pang for pointing this out.
- Add -DSVR4 to CFLAGS when compiling under SCO. Thanks to Keith
Pereira for pointing this out.
- Fixed some race conditions in share/boot/inetexec.c that sometimes
caused lamboot to fail seemingly without reason. It was really due
to a mixture of bad logic dealing with stderr closing, or select()
getting interrupted by SIGCHLD (i.e., the child died before all the
output was read), and we forgot to check for EINTR. Oops. Thanks
to Eray Ozkural and Camm Maguire for initially pointing this out
(http://www.jp.debian.org/Bugs/db/65/65795.html), and big thanks to
John Bartelt and Seth Hettich for both finally figuring out what the
problem was and providing patience and a test bed to get the code
"just right".
- Made some changes to the build/run process in the lamtests suite to
make it much easier to run with a different implementation of MPI.
- Changed some MPI_Send/MPI_Recv pairs in the lamtests suite to
MPI_Sendrecv. It seems that some users are using the lamtests suite
for other MPI implementations (MPICH/gm), and they were deadlocking
(assumedly, MPICH/gm has a pretty small "small" message size).
Thanks to Troy Baer for pointing this out.
- When checking the value of MPI_TAG_UB in the lamtests, if you're not
using LAM/MPI, it now only prints a warning if the value that is
obtained is not what is expected. Gotta love that LAM_MPI
preprocessor symbol! Thanks for Troy Baer for pointing this out.
- Fixed what looked like a simple problem in tping (it wasn't) where
the wrong number of nodes would be printed for various node
specifications on the command line.
- Added/cleaned up some man pages, specifically with respect to
new commands, deprecated commands, etc.
- Fixed problem with --with-lamd-* parameters not getting propogated
down to their respective .c files correctly.
- Fixed problem in lamhalt to repeatedly use nid_get() instead of
ldogetlinks() so that lamhalt will operate properly when a lamd
prematurely dies (provided that lamboot was invoked with the -x
fault tolerance option).
- Removed -Wall from ROMIO's configure when on Linux (it didn't check
whether the compiler was gcc or not; it was simpler just to remove it
altogether).
- Moved lam_init_comm_world from share/mpi/init.c to
share/mpi/laminit.c to avoid duplicate symbols when "-lpmpi -lmpi"
and using both names MPI_Init and PMPI_Init in a single program.
Thanks to Anthony Chan for pointing this out.
- Added the necessary magic to the "make dist" mojo to automatically
create man pages and stick them in the distribution. Thanks to Bill
Gropp and the MPICH team for providing the handy program to make the
man pages, the initial formatting, and some of the initial text in
the MPI-1 man pages.
- Fixed type in configure.in/acconfig.h that didn't pass the value of
LAM_HAVE_SVR4_FD_PASSING to share/include/lam_config.h properly.
Thanks to Keith Pereira for pointing this out.
- Fixed buffer overflow in mpirun that could happen if length of all
command line arguments to be passed to ranks was too long.
- Changed the checks for "-lsocket -lnsl" from architecture-dependant
stuff to use the real AC_CHECK_LIB tests. Thanks to Keith Pereira
for pointing out that other OS's besides Solaris require "-lsocket
-lnsl".
- Changed some paramter types from (char), (short), and others to
(int)/(unsigned int) in varargs situations since C promotes all
arugments to integers anyway. Thanks to Trond Glomsrd for
pointing this out.
- Added uninstall target to ROMIO.
- Updated INSTALL reflect the fact that ROMIO does not obey
configure's --foo switches regarding specific directory placement
(e.g., "--libdir"). The ROMIO authors have been notified of this
issue. Thanks to Trond Glomsrd for pointing this out.
- Ditch mktemp in favor of mkstemp because of a possible race
condition in mktemp (thanks to the OpenBSD gcc for pointing this
out. :-)
- Make singleton init processes start with the RTF_MPIC2C flag, mainly
so that they can MPI_Comm_connect/MPI_Comm_accept to most processes
launched by mpirun (which are -c2c by default). Thanks to Scott
Wilcox for pointing this out.
- Changed MPI_Initialized to always return 1 after calling MPI_Init,
per MPI-1.2 (instead of returning 0 after calling MPI_Finalize).
Thanks to Jeremiah Willcock for pointing this out.
- Added MPI_Finalized.
- Expanded error message for calling MPI functions before MPI_Init,
and added error message for calling MPI functions after
MPI_Finalize.
- Changed some of the lamtests to alloc memory from the heap and not
try to statically allocate it on the stack. Thanks to James Lupo
for pointing out that this had problems on at least Alpha/OSF 4.0a.
- Added some missing MPIL_ #defines for profiling.
- Added MPI_Alloc_mem and MPI_Free_mem, mainly in anticipation of
their use with the Myrinet and VIA RPIs.
- Added optional RPI calls _rpi_c2c_alloc_mem and _rpi_c2c_free_mem to
support MPI_Alloc_mem and MPI_Free_mem. If the RPI does not supply
them, they will be wrappers to malloc() and free().
- Changed share/mpi/lamcid.c to maintain a bitmap of used communicator
IDs. Still use the "take the highest unclaimed CID" algorithm, but
when we COMM_FREE a communicator, we set the corresponding bit to 0.
Hence, you can reclaim CIDs, particularly for 3rd party libraries
that make a bunch of communicators and then free them all. Thanks
to Ed D'Azevedo for pointing this out.
- Had to add some automake_bogosity.h files in random places around
the LAM source tree so that "make depend" would work properly (they
have no other purpose. This is a problem with automake 1.4 -- hope
it gets fixed in automake 1.5.
- Similarly, there are a few automake_bogosity.c files around the tree
for similar reasons (library linking is broken in automake 1.4 unless
there is at least one .c file -- hope that this, too, gets fixed in
automake 1.5).
- Fixed sfh_sock_open_clt_unix_stm() to not loop upon ECONNREFUSED or
ETIMEDOUT to fix "hang" behavior on Linux when invoking a LAM
command with no lamd running (thanks to Joe Griffin for pointing
this out).
- Fixed overlapping errno/LAM error numbers and strange behavior of
strerror() on Linux in terror.c routines.
- Moved all RPI code into its own subdirectory tree (share/rpi), and
made each RPI be its own convenience library (sort of). This
greatly cleaned up the automake ugliness of getting the RPI code to
be selected by configure and yet compile into the same library
(while still doing dependencies properly).
- Added check in configure for <strings.h>, and appropriate #if
statements in various .c files (thanks to Dave Hassett).
- Added --with-romio-flags switch for configure (thanks to Christophe
Prud'homme for requesting this).
- Added 2 patches to ROMIO distribution from
http://www-unix.mcs.anl.gov/romio/patch.html; one for a seg fault in
collective reads and writes, another for a problem with the pvfs
implementation (thanks to Christophe Prud'homme for pointing this
out). Added romio/README_LAM to note which ROMIO patches have been
added.
- Added some (void*) casting magic to eliminate some compiler warnings
and [unlikely] potential problems on 64 bit problems.
- Ensured that compiler flags from configure get passed down to the
examples (a helpful LAM user pointed this out, but I've lost his
name!).
- Fixed a gradual memory leak in various MPI_*_c2f functions -- the
fortran handles were never freed in the corresponding MPI_*_free
functions (thanks to Richard Day for pointing this out).
- MPI_Request_c2f just didn't work; fixed (thanks to Richard Day for
pointing this out).
- Fix problem in MPI_Info_get where valuelen<strlen(result), LAM
would shave off an extra character, contrary to MPI-2 4.10.
- Fix problem with clash of system events with -getpid()
synchronization. <much later> Now we *really* fixed it, by
reserving events 0x40000000 and above, as well as all negative
events (negative events were already reserved) for nsend and
friends. This will only affect people using the API below MPI
(i.e., native LAM stuff). Also, all the events in <events.h>
changed; this definitely breaks backwards binary compatability
(although I think it's already broken because of CPU counts during
lamboot, for example).
- Fix for "Interrupted system call" errors during process startup.
- Can specify a hostname more than once in a boot schema, or have
":num" suffix on a hostname, where "num" is a number specifiying how
many CPUs are available for use on that host. If the ":num" suffix
is not used, ":1" is assumed. If a hostname is listed more than
once, the CPU count for that host is incremented by the CPU count on
that line. This is particularly useful in batch systems (e.g.,
PBS), where the hostfile provided by the batch may list a hostname
more than once (indicating mulitple CPUs have been scheduled for the
job).
--> This comment is somewhat superceded by a comment above -- changed
away from the ":num" syntax to a "cpu=num" syntax.
- Per above bullet, introduced "C" and "cX" notation in mpirun and
appschemas. "mpirun C foo" will run one instance of "foo" on every
available CPU. "mpirun c0-3 foo" will run one instance of "foo" on
CPUs numbered 0 through 3. Ranks in MPI_COMM_WORLD will be adjacent
on machines with multiple CPUs. For example, 2 on 4-way SMPs,
"mpirun C foo" will place ranks 0-3 on n0, and 4-7 on n1.
- -np now also schedules per CPU (vs. per node). So if you have
lambooted on 2 4-way SMPs and "mpirun -np 6 foo", ranks 0-3 will be
on n0, and 4-5 will be on n1.
- MPI_UNIVERSE_SIZE will now report the total CPU count, not the total
node count.
- Re-discovered MPI_Info key for spawn: file. Allows users to pass in
an appschema. This has existed for some time, but was not
documented.
- Changed spawn and spawn_multiple to pass along LAM_MPI_* (and
associated) environment variables automatically. Necessary for
doing unique unix socket names in batch environments, actually.
- Added "lamnodes" command to retrieve hostnames from LAM nX
nomenclature.
- Added "lamhalt" command to shut down LAM. This command replaces
the "wipe" command (we've always hated that name, anyway!). lamhalt
does not require a boot schema (hostfile) to shutdown LAM, and is
much faster than wipe. Everyone should use lamhalt instead of wipe.
- Fixed "overlapping LAM" problem for batch systems. When running
under a batch system (PBS is currently the only one supported), LAM
will now use the batch job ID as part of the local unix socket names
in /tmp. This allows the scheduler to place multiple LAM/MPI jobs
from the same user on a single node (e.g., for SMP runs) without
hosing any previous instances of the LAM daemon.
- Make wrapper compilers handle -lpmpi properly. Still need to
manually specify -lpmpi for ROMIO jobs.
- Updated MPI 2 C++ to verson 1.0.6.
- No longer install all the Trillium .h files by default. They are
not required for correct MPI use (which is the vast majority of
LAM/MPI usage, anyway), and can cause name conflicts in the
$(includedir). The --with-trillium configure flag is provided to
still install these files, if desired.
- Build the profiling layer in MPI by default (ROMIO works nicer that
way, actually). Added --without-profile configure switch to turn it
off, but it will complain/barf if you do --with-romio (default) and
--without-profile.
- Made builds of ROMIO and MPI-2-C++ a bit more robust from the top --
won't reconfigure/rebuild every time you "make".
- Fixed share/args/snprintf.c and share/tstdio/tprint.c to have a few
casts when dealing with varargs kinds of things; allows LAM to
compile under LinuxPPC (thanks to Tom Rini).
- Made lamd default values --with switches to configure, and moved
them to acconfig.h, instead of having -D switches to the compile
line.
- Made -DSHORTCIRCUIT the default, moved it to acconfig.h instead of a
compile line switch.
- Updated ROMIO to version 1.0.2, and made --with-romio the default.
- Renamed all LAM libraries to have a "lam" prefix (except libmpi.a
and libpmpi). Consolidated all auxilary LAM libraries into
liblam.a. Fixed up wrapper compilers to match.
- Improved some of the error/help messages in mpirun.
- Moved default location of installed schema files to
$prefix/share/lam/.
- Moved default location of installed lam-helpfile to
$prefix/share/lam/lam-helpfile.
- The values from configure that were put in share/include/rpi.*.h are
now put in share/include/lam_config.h. Fixed some problems with
those substitutions, too.
- Renamed share/h to share/include (finally!).
- Used automake's integrated libtool functionality to build everything.
- Fully automake-ized the build process; now we have separated "make
all" and "make install" (finally!). Also have VPATH build ability
(which took a lot more effort than it should have!).
- Added note in lam_printfunc() that the rank displayed is relative to
MPI_COMM_WORLD.
- Fixed MPIL_Spawn to use the new startup protocols (thanks to Gyurcsan
Ferenc Tamas).
- Updated config.guess and config.sub from the latest autoconf
distribution (2.13) to recognize a few more flavors of Linux (thanks
to Camm Maguire).
- "-pty", pseudo tty support, is now on by default. Use "-npty" to
disable
6.4a8 (6.5.1)
-------------
- NOTE: This marks the end of the 6.4 series. All future IMPI HISTORY
items will be in the main [stable] 6.5 series, starting with 6.5.2.
- Critical bug fix, corresponding to LAM 6.5.1
6.4a7 (6.5)
-----------
- Fixed issues with overtaking messages/violations of MPI's message
ordering guarantee when you mix long and short messages with the
same signature through the IMPI host. Thanks to CQ from HP for
pointing this out.
- Fixed problem with DATASYNC and SYNCACK pings from the impid to the
LAM rank potentially getting mixed up. Thanks to CQ from HP for
pointing this out.
- Changed IMPI hiwater/ackmark behavior to adhere to the new specs in
the errata IMPI version 0.0 (i.e., one global hiwater/ackmark, not
per host pair).
- Ditched the "-" in the 6.4a4 version number. Makes it easier for
the distribution generating scripts. :-)
- Automatically export IMPI_* environment variables from mpirun to the
running jobs
- Fixed some endian problems between machines with opposite endians.
- Added functionality for MPI_Barrier, MPI_Reduce, and MPI_Allreduce.
- Automake-ized along with the rest of LAM (6.5).
- Fixed numerous endian problems in the IMPI client code in the impid.
- Added four predefined keys on MPI_COMM_WORLD: IMPI_CLIENT_SIZE,
IMPI_CLIENT_COLOR, IMPI_HOST_SIZE, IMPI_HOST_COLOR, per IMPI
standard Section 2.5.
6.4a4 through 6.4a6
-------------------
- Internal releases. Minor compile/testing issues fixed, nothing
really of interest. They were only separate releases so that they
could be shared with external parties. End results are discussed in
6.4a7 section, above.
6.4-a3 (6.3.2)
--------------
- Critical bug fix, corresponding to LAM 6.3.2.
6.4-a2 (6.3.1)
--------------
- Only the following MPI communications functions are supported in
IMPI jobs:
MPI_Send*, MPI_*send*, MPI_Recv*, MPI_*recv*
MPI_Wait*, MPI_Test*
MPI_Barrier
- No IMPI-wide collectives other than MPI_Barrier have been
implemented.
- IMPI communicator attribute colors (per IMPI 2.5) are not
implemented.
- First release to the world.
6.4-a1
------
- Internal ND IMPI release, separate from the stable LAM series. Too
ugly to talk about. :-)
6.3.2
-----
- Fixed syncronization issues with sysv and usysv RPI's that could
cause corrupted data on a reciever.
6.3.1
-----
- Discovered/worked around bug in autoconf such that AC_PROG_CC
blindly changes the value of CFLAGS.
6.3
---
- Updated the MPI-2-C++ package to version 1.0.5.
- Added LAM_MAJOR_VERSION, LAM_MINOR_VERSION, LAM_RELEASE_VERSION
constants (both in C and Fortran) to allow checking of versions of
executables and libraries, etc. Particularly for the case where
users have old copies of mpif.h in their cwd and wonder why LAM/MPI
seems to stop working when they upgrade.
6.3-b3
------
- Fixed problem in share/mpi/accept.c and share/mpi/connect.c where
connect.c wasn't calling nrecv() for the right node; it incorrectly
used nh_node to identify the sender. Fixed the sender to put its
nodeid in nh_data[0] so that we can properly identify the sender.
- Added some more LAM_ZERO_ME's into the lamd.
- Fixed up the distscript.csh to also create .bz2 versions of LAM
tarballs (thanks to Nicholas McGuire).
- Fixed problem where $(CFLAGS) and $(FFLAGS) were not getting used
when building the "trivial" example.
- Fixed obscure problems with data packing -- discovered via the
ScaLAPACK test suite (thanks to Camm Maguire).
- Renamed the drop-in replacement for snprintf() to be lam_snprintf().
This should fix some of those seg faults on OS's that claim not to
have snprintf(), but really do (only matters when printing
diagnostic and help messages).
- Fixed problem with fortran attributes in deprecated function
MPI_ATTR_GET in 64 bit environments per MPI-2 section 4.12.7.
6.3-b2
------
- Fix MPI_Cart_sub for case where remain_dims array is all falses.
- Found obscure race condition in lamd, in which a read from
unallocated error, if timed badly (really -- don't ask) would cause
Bad Things (otb/sys/filed/fqsimplex.c:fqrmfd()).
- Fixed some small (but addative) memory leaks in the lamd.
- Added some --with-purify things to the lamd to aid in debugging.
- Changed the type of ki_jobid to be struct jobid_t, which contains 2
int4s: the PID and the nodeid. This allows using the full size of
the PID, and avoids only using the lower 15 bits of the PID (which
was causing problems on some OS's). mpirun (and all other
job-launching files) were changed to accomodate this.
- Check for snprintf prototype in ./configure so that we can be -Wall
clean
- Added endian swapper for the mandelbrot example for the rasterfile
file header, so that little endian machines can dump out a proper sun
rasterfile.
- Added "'s in the hcp script so that we can have multi-word C++
compilers and not crash the hcp script (doh!).
- Made LAM and MPI 2 C++ bindings -Wall clean (can't speak for ROMIO,
but their next release should be much cleaner), and *wow* were there
many warnings in the lamtests package...
- Fixed slight spec bug in MPI::Get_error_string(), as pointed out by
Bill Gropp.
- Verified LAM in 64 bit (Solaris 7); added docs to advise users who
want this to use --with-cflags='-xarch=v9' --with-ldflags='-xarch=v9'
(in addition to any other flags that they want).
- Moved all the getsockopt/setsockopt stuff into a single file.
- Somehow the sysv RPI got eliminated from the list of valid RPI's to
use the SHORTCIRCUIT optimization. Put it back in configure.in.
- Put in fix for the shared memory RPIs to take care of the case where
the processes sharing a shared memory area happen to map it in at
different base addresses. Have seen this a few times on a
multi-processor Sun E6000.
- Added extra strings to the lamboot/wipe banners indicating if IMPI,
C++, and/or ROMIO support was compiled in.
- Had to do some major cleanup in the C++ bindings to meet new Solaris
Workshop C++ compiler pickyness. (void*) is evil!! Also had to
extern "C" {} signal handlers and other C intercept functions.
- Added "#define LAM_MPI 1" to <mpi.h>, for those users who need to
differentiate between different implementations of MPI.
- Made ./configure much more C++ friendly (in preparation for IMPI)
- Fixed problem in MPI_Accumulate where user's buffer was erroneously
being freed (or attempting to be freed) -- just like the MPI_Put
error that was fixed for 6.3-b1.
- Added missing lam_resetfunc() in shortcircuit MPI_Recv.
- Implicitly add "." to PATH on local/remote nodes so that we can do
"mpirun N foo", even if "." is not in your path on the remote nodes
(this mainly applies to the global filesystem case).
- Added LAM_ prefix to all preprocessor symbols that the user could
clash with that are not directly from autoconf.
- Added "-d" debug message in lambootagent.c for showing exactly what
is being executed on the local node (the message was already there
for remote nodes; we missed the local message somehow).
- Added IMPI source code to tree, but disabled it for LAM distribution
tarballs (makes it much easier on us developers!).
- Various enhancements to Makefile structure; use centralized
permissions, etc.
- Smarter treatment of perror() in hcc/hf77 -- only call it if return
status of underlying compiler != 0 and errno != 0.
- Fixed up bunches of memory leaks in MPI_Comm_spawn* (is it *that*
obvious that we're working on IMPI?)
- Fixed bug in MPI_Comm_spawn*; app schema environment is now set to a
dummy (empty) environment rather than NULL.
- Fixed bug in MPI_Comm_spawn*; maxprocs and array_of_errcodes is now
broadcast to the non-root nodes (even though this doesn't make
sense; MPI-2 88:13 says that maxprocs is only significant at the
root, but it says that array_of_errcodes is significant everywhere).
So this is MPI-2 conformant, but nonsensical.
- Made changes to make "mpirun N foo 'a b'" to do the Expected Thing --
that the launched processes will get "a b" as argv[1], not "a" as
argv[1], and "b" as argv[2].
- Changed all uses of "rm/cp" in Makefiles to use the install-sh script
- Added check in configure to see if OS defines int2, uint2, int4,
uin4, int8, uin8, float4, and float8 before definiting them in LAM.
- Stopped making link from $prefix/include/mpi2c++/mpi++.h to
$prefix/include, both in Makefile.in and mpi2c++/Makefile.in
(updated mpi2c++ CVS tree as well). Caused confusion in include
files, because <mpi++.h> doesn't include <mpi2c++/foo.h>, it only
includes <foo.h>.
- Fixed some g++ -Wall minor warnings in the C++ bindings (it didn't
like the order of initializers in some constructors). Also updated
in the MPI 2 C++ CVS tree.
- Fixed subtle problem with using MPI_PROC_NULL when using non-blocking
communication (such as Sendrecv).
- Removed ZERO_ME from lamreqs.c:_mpi_build_req() that was masking some
illegitamte RUI's (such as the MPI_PROC_NULL problem)
- Fixed bizzarre snprintf error for arches/compilers that don't have
a native snprintf (some didn't like the snprintf() wrapper to
va_snprintf -- go figure).
- Fixed error message (for stderr output) in share/boot/inetexec.c.
- Changed hcp to search for hcc in LAMHOME, TROLLIUSHOME, $prefix, and
$PATH (in that order) rather than just use $prefix.
- Made configure fail when it can't find a fortran compiler when
compiling with fortran support. Previous screwy logic made it warn,
not fail.
- Fixed an inconsistency in share/tstdio/tfprint.c with varargs; made
tvsprintf() and tvfprintf() have same non-K&R arg lists as all the
other functions.
6.3-b1
------
- Changed default prefix to be /usr/local/lam-VERSION
- Made <sys/select.h> be conditionally included (HP 10.20 doesn't have
one)
- Fixed problem in MPI_Put where user's buffer was erroneously being
freed (or attempting to be freed)
- Fixed minor memory leak in MPI_Finalize to free user errorhandlers
on MPI_COMM_WORLD and MPI_COMM_SELF, if they existed
- Added stolen IBM MPI test suite to CVS tree; this makes a separate
tarball (lamtests-VERSION). Cleaned up the tests to be bcheck -all
clean.
- Added ability to export environment variables; all variables named
LAM_MPI_* are exported by default (but can be disabled by mpirun),
and via the -x option to mpirun. Many more details in CVS logs.
- Changed behavior of -D in mpirun -- do chdir after the fork but
before the exec in the lamd so that when the user's application
starts, it is already in the "right" directory (i.e., it doesn't
have to wait for MPI_INIT).
- Added pty support. Still experimental (sort of), so it's not the
default in mpirun (yet). Many more details in CVS logs.
- Fixed MPI 2 C++ bug (here and in MPI 2 C++ CVS repository) where
$prefix directories, if created, could get incorrect Unix perms
- Made distscript much more friendly and useful; we now distribute a
tarball with the internal LAM .h dependencies already generated
- Fixed a duplicate/bad free in share/mpi/c2cbuf.c:_cbuf_delete() for
Issend's to MPI_PROC_SELF that had not yet had a matching receive
posted
- Fixed some places in share/mpi/rpi.*.c:connect_all() where some OS's
getsockopt may not set the parameter properly, causing a "read from
uninitialized" error
- Fixed small memory leaks in share/mpi/rpi.*.c:connect_all()
- Added --with-ldflags ./configure flag; changed Makefiles (i.e., the
LIBBIND macro) to use USER_LDFLAGS instead of CFLAGS.
- Fixed subtle bug in share/mpi/c2cbuf.c that would effect a
duplicate/bad free in special case optimization for unmatched
issend's in TCP RPI
- Made wipe now use the default boot schema ($LAMHOME/boot/bhost.def)
if you do not specify a <bhost> on the command line (just like
lamboot)
- Updated many man pages; added mpicc.1, mpiCC.1, mpif77.1, lamd.1,
lam-helpfile.5, conf.5
- Added -H and V options to wipe for symmetry with lamboot
- Added a warning in RELEASE_NOTES that MPI_CANCEL does not cancel (or
even attempt to cancel) sends (and the web pages)
- Added more debug messages to recon, lamboot, wipe, tkill, and hboot.
Made existing verbose messages more descriptive; added suggested
solutions to common problems when errors occur (prints messages from
the ASCII help file)
- Added an ASCII help file to store common error messages
- Added --with-purify configure flag
- Added ROMIO (from http://www-unix.mcs.anl.gov/romio/)
- Added MPI 2 C++ bindings
- Added ability to mpirun non-LAM programs. This rocks.
- Renamed all variables that were named "new" (still can't compile LAM
with a C++ compiler, but it's a start)
- Fixed problem with Sun Workshop compiler not getting prototypes
- Renamed $LAMHOME/h directory to be $LAMHOME/include (with a symbolic link
to "h" for backward compatability)
- Top level "examples" target to build LAM, MPI 2 C++, and ROMIO
examples
- Changed docs to reflect correct e-mail addresses
- Fixed up examples codes to reflect new order of arguments in boot
schemas
- Fixed fortran compiler problems in ./configure; ensured that
--with-fc will propogate the fortran compiler to hf77, etc.
- Fixed warnings and __STDC__ strangeness with Sun Workshop compilers
in the tstdio varargs functions
- Changed wrapper compilers to -I/-L/-l ROMIO and C++ bindings stuff
- Changed default make target to compile LAM and C++ bindings,
as well as perform "make depend" if necessary.
- Added compiling the LAM specific ROMIO as a configure option.
- Fixed subtle problem with logic in mreadv and mwritev where iov could
end up pointing beyond its allocated memory
- ./configure now bails when common utilities (e.g., ar) are not found
- Removed mpicc/mpif77, made them symbolic links to hcc/hf77
(respectively), and created mpiCC which is a sym link to hcp
- Wrapper compilers now get compilers that are set/used in ./configure
- Made -lmpi implicit in wrapper compilers
- Merged some makefiles to make "tags" and "cscope" targets in main
Makefile (for development)
- Changed the assignment of elements to/from a struct status to be a bit
more portable (especially for the Portland Group's C/C++ compiler)
- Changed MPI_MAX_NAME_LEN to MPI_MAX_PORT_NAME to comply with MPI-2.
- Made errget.c increment the error handler's refcount.
- Made MPI_Wtime and MPI_Wtick real4 instead of double precision in mpif.h.
- Moved #include <sys/types.h> before #include <sys/signal.h> in
/share/mpi/lamsig.c and otb/mpirun/mpirun.c
6.2b
----
- New user level locking shared memory RPI transport.
- Special case fast send and receive.
- Signal catching to aid the termination of batch jobs.
- Full standard conforming support for dynamic processes.
- Limited support for MPI_2 one-sided communication.
- Many MPI-2 support functions implemented.
- More basic datatypes supported.
- Support for shared libraries on Linux and Solaris.
- Various small bug fixes.
*** With the release of LAM 6.2b, we have moved to CVS for version
*** control. Accountability for individual changes is now stored in
*** the CVS logs. Everything above this line in this file shows the
*** "main" features, changes, and bug fixes. Everything below this
*** line reflects the manual log of changes up until this point.
AUTHOR DESCRIPTION
------- ------------------------
GDB Greg Burns
VAR Vibha Radiya
NJN Nick Nevin
RBD Raja Daoud
JRV Jim Vaigl
AKP Andy Pfiffer (Informix)
DLF Dave Fielding (Cornell)
MB Moshe Braner (Cornell)
JRB Jim Beers (Cornell)
VSD Vibha Dixit (OSU)
RBD Raja Daoud (OSU)
RYL Roslyn Leibensperger (Cornell)
RKM Raghu Machiraju (OSU)
STATUS DESCRIPTION
rel release point
fix fixed bug
mod upgrade/change/modification
bug outstanding bug with previous release
6.1
---
DATE AUTHOR STATUS DESCRIPTION
11/27 rel LAM 6.1
12/3 NJN mod Use ndi_parse1().
(share/boot/asc_parse.c)
12/6 NJN fix Extra includes needed for SunOS.
(share/h/ksignal.h, rpisys.h)
12/12 NJN mod Set exit status to LAM_EEXIT in case of a LAM
specific error.
(lib/otb/t/etc/panic.c, fail.c, otb/lamclean/lamclean.c)
12/13 NJN fix Static modifier for f2c_argvs().
(share/mpi/f77/spawnmult_f.c)
12/13 NJN fix Static modifier for private function.
(otb/mpirun/mpirun.c)
12/13 NJN fix Don't use strerror(), its not available
under SunOS 4.1.3.
(share/mpi/sysvslop.c)
12/27 NJN mod Do reversal inline.
(share/etc/rev.c)
2/13 NJN mod Clean up buffers last.
(otb/lamclean/lamclean.c)
1/27 NJN fix Flush standard IO.
(share/kreq/kexit.c)
1/27 NJN fix Flush IO before replying to parent process to avoid
a race between finishing mpirun and seeing the output.
(otb/sys/kenyad/pqdetach.c)
1/27 NJN fix Semaphore locking operation must be retried if
interrupted.
(share/mpi/shm.sysv.c, share/h/shm.sysv.h)
1/27 NJN mod Locking macro name changes.
(share/h/shm.sysv.h, shm.sgi.h, shm.hpux.h, shm.sol.h,
share/mpi/shm.low.c)
1/27 NJN mod New datatype flags for packing control.
(share/h/mpisys.h)
1/27 NJN mod Alignment macros.
(share/h/mpi_types.h)
1/28 NJN fix Blocking time determination for blocking writes.
(share/mpi/tcp.low.c)
2/24 NJN mod Rearrange includes to support direct copying of
dungeon files into XMPI source tree.
(share/h/all_list.h, app_mgmt.h, app_schema.h, args.h,
blktype.h, lamnet.h, mpitrace.h, ndi.h,
share/args/all_argv.c, ndi_parse.c,
share/etc/all_list.c, blktype.c, getworkdir.c, stoi.c)
2/24 NJN fix Show progress in blocking probe.
(share/mpi/shm.low.c)
2/24 NJN mod New element counting function.
(share/mpi/getelem.c)
2/24 NJN mod Compute count directly.
(share/mpi/getcount.c)
2/24 NJN mod Use improved determination of when packing is
unnecessary. No longer calculate counts.
(share/mpi/lambuf.c)
2/24 NJN mod Revamped packing/unpacking. Optimizations for vectors.
(share/mpi/lampack.c, lamunpack.c)
2/24 NJN mod Bound calculation etc. now done in lam_dtblock().
Set packing and extent adjustment flags.
(share/mpi/tvector.c, thvector.c, tstruct.c,
tindex.c, thindex.c, tcontig.c)
2/24 NJN mod Count determination is now always deferred.
(share/mpi/lamreqs.c)
2/24 NJN mod Optimize datatype copy. More rigorous datatype bounds
calculation. Set extent adjustment flag.
(share/mpi/lamdtype.c)
6.0
---
DATE AUTHOR STATUS DESCRIPTION
3/3 rel LAM 6.0
3/5 NJN fix Don't error check insignificant arguments.
(share/mpi/gather.c, gatherv.c, scatter.c, scatterv.c)
3/6 NJN fix MPI_ERROR declaration inserted.
(share/h/mpif.h)
3/12 NJN fix Typos in the defintion of FORTRAN interface to
LAM extensions to MPI.
(share/h/MPI.c)
3/12 NJN fix Linux does not support setting socket buffer sizes.
(otb/sys/dli_inet/di_bootagent.c, di_bootcmd.c,
otb/sys/kernel/kernelio.c, lib/otb/t/kreq/clientio.c,
share/mpi/rpi.c2c.c)
3/13 NJN fix In C predefined attributes are pointers to the actual
values rather than the values cast to pointers.
In FORTRAN they are the values themselves.
(share/mpi/init.c, MPI.c, share/h/mpisys.h)
3/13 NJN fix Datatype extent calculation and upper/lower bound
determination overhauled.
3/13 NJN fix Non-blocking communication with peer MPI_PROC_NULL
leads to segmentation fault.
3/20 NJN fix Typo in graph topology copying.
(share/mpi/cdup.c)
3/20 NJN fix Persistent bsends not flagged as orphaned.
(share/mpi/lamsend.c, lamreqs.c)
3/27 NJN fix State hanged when mpirun -w was waiting on a
process that had not properly exited.
(otb/sys/kenyad/pqdetach.c)
3/27 NJN mod Do an MPI_Finalize() for processes that neglect
to do so themselves.
(share/mpi/laminit.c)
3/27 NJN fix MPIL_Comm_gps() semantics extended to
intercommunicators.
(share/mpi/mpil_id.c)
4/12 NJN bug Recon should give a better error message when
tkill cannot be found and when a host cannot be
found (should report the name).
4/18 NJN fix In struct iovec field iov_base may be of type void *.
(share/etc/mrw.c, share/mpi/rpi.c2c.c)
4/29 NJN fix Request status not properly initialized for
buffered and non-blocking sends.
(share/mpi/lamreqs.c, ibsend.c, bsendinit.c)
4/29 NJN fix Clash between MPI_CANCEL_SOURCE and MPI_PROC_NULL.
(share/h/mpisys.h)
4/29 NJN mod Lam_rtrstore now in libetc and not libtrillium.
5/1 NJN fix PMPI_Type_size prototype.
(share/h/mpisys.h)
5/21 NJN fix lamtrace -h and the usage line said -s when the
option is really -R. Add <procs> to usage.
(otb/lamtrace/lamtrace.c)
5/29 NJN fix tkill -N killed the daemons.
(tools/tkill/tkill.c)
6/11 NJN fix Initialize bmalloc to FALSE in rload().
(share/trillium/rload.c)
6/11 NJN fix Clear RTF_FLAT.
(share/mpi/mpil_spawn.c)
6/12 NJN fix When tping is not supplied with any nodeids on the
command line set errno to EUSAGE.
(otb/tping/tping.c)
6/25 NJN fix Test index first to avoid illegal reference.
(trillium/otb/sys/kenyad/kenyad.c)
6/26 NJN mod Split into part that does actual free and
MPI function part.
(share/mpi/tfree.c, cfree.c)
6/26 NJN mod Use 'const char *' rather than 'char const *'.
(share/tstdio/tfprint.c)
7/10 NJN mod Use initialized flag to avoid getpid() syscall.
(share/mpi/laminited.c)
7/10 NJN mod Made variables global to allow macro versions.
(share/mpi/lamupdown.c)
7/15 NJN mod Option -showme for seeing command line run.
(tools/hcc/hcc.c, tools/hf77/hf77.c)
7/25 NJN mod Initialize IO node. Add IO daemon to boot table.
(otb/sys/lamd/kiproc.c)
7/25 NJN mod Set IO node.
(lib/otb/t/kreq/clientio.c, share/kreq/kinit.c)
7/25 NJN mod New flags for stdio redirection.
(share/h/kio.h)
7/25 NJN mod New event for IO daemon.
(share/h/events.h)
7/25 NJN mod IO redirection support.
(otb/mpirun/mpirun.c)
7/25 NJN mod Pass file descriptor to interrupt function.
(otb/sys/kernel/kernelio.c)
7/26 NJN fix Check sockname() return value.
(lib/otb/t/kreq/clientio.c)
7/26 NJN mod Make Trollius stdio one way.
(otb/loadgo/loadgo.c, share/kreq/kinit.c)
7/28 NJN mod New function kio_intr_clr(). Clears kernel
interrupt function.
(otb/sys/kernel/kernelio.c)
8/10 NJN mod Support for job identifier.
(share/trillium/rpcreate.c,
otb/sys/kenyad/pqcreate.c, share/kreq/kinit.c,
lib/otb/t/kreq/clientio.c, share/trillium/rpgo.c,
share/h/kio.h, share/h/preq.h,
otb/mpirun/mpirun.c)
8/19 GDB bug In lam_kexit(), _cio_cleanup() is called outside
the check for initialized LAM process. Why?
This does not seem right.
8/23 NJN fix Add NOBUF flag.
(share/trillium/ldolinks.c)
8/23 NJN mod Connect UNIX stdio to iod.
(share/kreq/kinit.c)
8/24 NJN mod Show file open count in fstate output.
(otb/fstate/fstate.c, share/freq/rfstate.c,
share/h/freq.h)
8/26 NJN fix Plugged memory leak.
(share/mpi/cfree.c)
8/26 NJN fix Added handling of MPI_SHORT_INT by the
MAXLOC and MINLOC reduction functions.
(share/mpi/lamreduce.c)
8/27 NJN mod IO daemon now closes LAM stdio for remote processes.
(share/freq/rfatexit.c)
9/13 GDB bug Get rid of (errno = 0) in getrtype() in getrent.c.
It sucks and we don't need the "dumb route" for LAM.
(share/rreq/getrent.c)
9/15 GDB fix Use argvadd() in argvdup() to create a consistent
malloc() pattern for argvfree().
(share/args/all_argv.c)
9/16 NJN fix Add definition of _ufd.
(otb/sys/lamd/kiproc.c)
9/17 NJN fix Fully parenthesize macro arguments.
(share/h/all_list.h)
9/18 NJN fix Pass parent root to spawned processes.
(share/mpi/mpil_spawn.c)
9/23 NJN mod Return undefined if not integral number of elements.
(share/mpi/lamunpack.c)
9/25 NJN mod Support for name publishing.
(share/traced/trbuf.c)
10/2 NJN mod In F77 case pass pointers to attributes and
add error code argument.
(share/mpi/attrdel.c, attrput.c)
10/14 NJN mod Split F77 wrappers into separate files.
(share/mpi/f77/*)
10/14 NJN mod Don't reset the SIGCHLD handler. POSIX.1 says
it is not reset to default when the handler
is entered. We are using sigaction() which is
POSIX.1 so it should be safe to assume
POSIX.1 semantics.
(otb/sys/kenyad/pqdetach.c)
10/16 NJN mod Improved FORTRAN datatype support.
(share/h/mpi.h, share/h/mpif.h, share/h/mpitrace.h,
share/etc/mpiformout.c, share/mpi/lamtrace.c,
share/mpi/finalize.c, share/mpi/lamdtype.c,
share/mpi/lampack.c, share/mpi/lamreduce.c,
share/mpi/init.c, share/mpi/lamunpack.c,
share/mpi/f77/init_f.c)
10/17 NJN fix Comparsion must return weakest of two group tests
for intercommunicators.
(share/mpi/ccmp.c)
10/21 NJN mod Use Software for Humanity.
(tools/hboot/hboot.c)
10/22 NJN mod Use new error string function and be thread nice.
(share/mpi/errstring.c)
10/23 NJN mod If comm is null default to MPI_COMM_WORLD.
(share/mpi/lamupdown.c)
10/23 NJN fix Check for NULL handle.
(share/mpi/f77/errset_f.c)
10/23 NJN fix Check for user argument > communicator size.
(share/mpi/cartmap.c)
10/23 NJN mod Return already inited error on MPI_COMM_WORLD.
(share/mpi/init.c)
10/24 NJN fix Fix calculation of rank in new group.
(share/mpi/ginter.c, gdiff.c, gexcl.c)
10/30 NJN mod Set node list to 0 and let asc_schedule() take
care of it.
(share/mpi/spawn.c, spawnmult.c)
11/8 NJN fix Commutative ops require buffering and correct
ordering of the reduction.
(share/mpi/scan.c)
11/13 NJN fix Take care of alignment of user supplied buffer.
(share/mpi/lambuf.c)
11/14 NJN mod Do RPI mop up.
(otb/sys/kenyad/pqdoom.c)
11/14 NJN bug Cannot do in place btye swapping when packing.
We may get segfault if buffer is in read only
store which can happen with some Fortran
compilers when contants are passed as arguments to
procedures which then use the formal parameter
as a buffer in a MPI call.
11/17 NJN fix Move global variables to laminit.c so they do not
get doubly defined when using the profile library.
(share/mpi/init.c)
11/24 GDB mod Set up 0/1/2 on remote nodes as /dev/null.
(otb/sys/filed/filed.c, fqopen.c, fqsimplex.c)
11/27 GDB fix Calling lamd_findfwd() means that something
advanced. Return accordingly from lam_testany().
(share/mpi/rpi.lamd.c)
Additional notes for 6.0:
Tue Nov 26 15:46:23 1996 Nick Nevin <nevin@osc.edu>
* share/mpi/rpi.lamd.c (lamd_findfwd): Pass pack movement
indication from lamd_adv1().
Sun Nov 17 14:30:54 1996 Nick Nevin <nevin@osc.edu>
* share/mpi/init.c: Move global variables to laminit.c so pdo not
get double defined when using profile library.
Fri Nov 15 10:48:30 1996 Nick Nevin <nevin@osc.edu>
* lib/otb/t/etc/ieee.c: Removed #ifndef SCO test.
Thu Nov 14 14:55:33 1996 Nick Nevin <nevin@osc.edu>
* otb/sys/kenyad/pqdoom.c (pdoom): Do RPI mop up.
* otb/sys/kernel/kernelio.c (kio_init): Free kill file name.
Wed Nov 13 10:36:47 1996 Nick Nevin <nevin@osc.edu>
* share/mpi/lambuf.c (lam_bufattach): Alignment.
Fri Nov 8 10:39:54 1996 Nick Nevin <nevin@osc.edu>
* share/mpi/scan.c (MPI_Scan): Commutative ops require buffering
and correct ordering of the reduction.
Wed Oct 30 13:01:01 1996 Nick Nevin <nevin@osc.edu>
* share/mpi/spawn.c (build_app):
* share/mpi/spawnmult.c (build_app): Set node list to 0 and let
asc_schedule() take care of it.
Thu Oct 24 10:10:46 1996 Nick Nevin <nevin@osc.edu>
* share/mpi/ginter.c (MPI_Group_intersection): Fix rank in new group
calculation.
* share/mpi/gexcl.c (MPI_Group_excl): Fix rank in new group
calculation.
* share/mpi/gdiff.c (MPI_Group_difference): Fix rank in new group
calculation.
Wed Oct 23 09:22:25 1996 Nick Nevin <nevin@osc.edu>
* share/mpi/cartmap.c (MPI_Cart_map): Check for #procs >
communicator size.
* share/mpi/f77/errset_f.c (mpi_errhandler_set_): Check for NULL
handle.
* share/mpi/lamupdown.c (lam_errfunc): If comm is null default
to MPI_COMM_WORLD.
* share/mpi/init.c (MPI_Init): Return already inited error on
MPI_COMM_WORLD.
Tue Oct 22 10:33:00 1996 Nick Nevin <nevin@osc.edu>
* share/mpi/errstring.c (MPI_Error_string): Use new error string
function and be thread nice.
Mon Oct 21 20:40:47 1996 Nick Nevin <nevin@osc.edu>
* tools/hboot/hboot.c (main): Use SFH.
Thu Oct 17 09:53:45 1996 Nick Nevin <nevin@osc.edu>
* share/mpi/ccmp.c (MPI_Comm_compare): Comparsion must return
weakest of two intercommunicator tests.
* share/h/mpi.h, share/h/mpif.h, share/h/mpitrace.h,
share/etc/mpiformout.c, share/mpi/lamtrace.c, share/mpi/finalize.c,
share/mpi/lamdtype.c, share/mpi/lampack.c, share/mpi/lamreduce.c,
share/mpi/init.c, share/mpi/lamunpack.c, share/mpi/f77/init_f.c:
Revamped F77 datatype support.
Mon Oct 14 11:45:29 1996 Nick Nevin <nevin@osc.edu>
* otb/sys/kenyad/pqdetach.c (childtrap): Don't reset the SIGCHLD/
handler. POSIX.1 says it is not reset to default when the handler
is entered. We are using sigaction() which is POSIX.1 so it
should be safe to assume POSIX.1 semantics.
Wed Oct 2 06:54:27 1996 Nick Nevin <nevin@osc.edu>
* share/args/do_args.c: Include string.h.
* share/args/pdi_parse.c (id_range):
* share/args/ndi_parse.c (id_range):
* share/args/parse_id.c (id_range): Accept ranges where end is
same as start, e.g. n1-1.
* share/mpi/attrdel.c (MPI_Attr_delete): Errcode is argument in
F77 case.
* share/mpi/attrput.c (MPI_Attr_put): In F77 case pass pointers to
attributes. Errcode is argument.
Tue Oct 1 14:54:32 1996 Nick Nevin <nevin@osc.edu>
* share/mpi/finalize.c (MPI_Finalize): Clean up published names.
* share/trillium/rtrname.c (lam_rtrnamesweep): New function.
Wed Sep 25 14:02:38 1996 Nick Nevin <nevin@osc.edu>
* share/traced/trbuf.c (trqnameget): New function.
(trqnamedel): New function.
(trqnamepub): New function.
* share/trillium/rtrname.c: New file. LAM name publishing
library functions.
* share/h/terror.h: Added publishing error codes.
* share/etc/terror.c: Added publishing error codes.
* share/trillium/rtrget.c (rtr): Fix comment.
Tue Sep 24 09:23:36 1996 Nick Nevin <nevin@osc.edu>
* share/mpi/init.c (init_comm):
* share/mpi/mpil_spawn.c (MPIL_Spawn):
* share/mpi/grincl.c (MPI_Group_range_incl):
* share/mpi/ginter.c (MPI_Group_intersection):
* share/mpi/gunion.c (MPI_Group_union):
* share/mpi/spawn.c (MPI_Spawn):
* share/mpi/iccreate.c (MPI_Intercomm_create):
* share/mpi/gincl.c (MPI_Group_incl):
* share/mpi/gexcl.c (MPI_Group_excl):
* share/mpi/gdiff.c (MPI_Group_difference):
* share/mpi/connect.c (MPI_Connect):
* share/mpi/accept.c (MPI_Accept): Reference count processes.
* share/mpi/gfree.c (MPI_Group_free): Free processes in group
whose refcount falls to zero.
Mon Sep 23 11:17:53 1996 Nick Nevin <nevin@osc.edu>
* lib/otb/t/kreq/clientio.c (_cio_init): GER on by default.
* share/mpi/lamunpack.c (lam_docount): Return undefined if
not integral number of elements.
* share/mpi/init.c (init_comm, init_intercomm): Update process
reference counts.
* share/h/rpisys.h: New reference count field for processes.
Wed Sep 18 08:52:28 1996 Nick Nevin <nevin@osc.edu>
* share/mpi/mpil_spawn.c (spawn): Pass parent root to spawned
processes.
* otb/mpirun/mpirun.c (set_stdio): Use ufds 0, 1, 2.
* share/freq/lfopenfd.c (lam_lfopenfd): No longer take ufd array
as argument, use ufds 0, 1, 2.
* share/mpi/infocreate.c: New file.
* share/mpi/infodup.c: New file.
* share/mpi/infofree.c: New file.
* share/mpi/infoget.c: New file.
* share/mpi/infogetnkeys.c: New file.
* share/mpi/infogetnth.c: New file.
* share/mpi/infogetvlen.c: New file.
* share/mpi/infoset.c: New file.
* share/mpi/spawn.c: New file. Implements MPI_Spawn.
* share/trillium/rpgo.c (rpgo): Do file descritpor passing.
* share/trillium/rploadgo.c (rploadgo): Check for spawning.
* share/mpi/init.c (MPI_Init): Use parent root.
* share/mpi/laminit.c (__lam_linit_): Return parent root if any.
* share/mpi/mpil_signal.c (MPIL_Signal): Fix return from rpdoom error.
* share/mpi/mpil_spawn.c (locate_aschema): New function. No longer
use app_locate().
* lib/otb-obj/mpi/Makefile: Define DEFPSCHEMA.
Tue Sep 17 01:33:43 1996 Nick Nevin <nevin@osc.edu>
* share/etc/mpitr_dtype.c: Split into mpitr_dtype.c and
mpitr_dtprint.c.
* share/etc/mpitr_dtprint.c: New file.
* share/h/all_list.h (al_top, al_bottom): Fully parenthesize arguments.
Mon Sep 16 15:44:34 1996 Nick Nevin <nevin@osc.edu>
* share/mpi/lamclocks.c (sync_fill): New function. Use SQL synch
to avoid clash with mpirun/xmpi.
* otb/sys/lamd/kiproc.c: Add defn. of _ufd.
Thu Sep 12 10:10:57 1996 Nick Nevin <nevin@osc.edu>
* otb/tping/tping.c (main): Set errno to EUSAGE.
* otb/lamtrace/lamtrace.c (main): In usage description -s changed to -R.
* lib/otb/t/etc/socket.c: New file. Socket utilities.
* lib/otb/t/etc/srfd.c (sfh_send_fd): New file. File descriptor passing.
Wed Aug 28 13:17:49 1996 Nick Nevin <nevin@osc.edu>
* otb/sys/dli_inet/di_bootagent.c: Use sfh.
Tue Aug 27 08:53:53 1996 Nick Nevin <nevin@osc.edu>
* share/freq/rfatexit.c (rfatexit): IO daemon now closes LAM stdio
for remote processes.
* share/trillium/rploadgo.c (rploadgo): Set IO flags.
* otb/mpirun/mpirun.c (setstdio): Pass stdout and stderr to filed.
* lib/otb/t/kreq/kcreate.c (redirect_stdio): New function.
(kcreate): Redirect new process's stdio.
* otb/sys/kenyad/pqcreate.c (exit_protocol): New function.
(pqcreate): Exit fd passing protocol server if error.
(pcreate): Receive passed file descriptors and pass on to kcreate().
* share/trillium/rpcreate.c (rpcreate): Send stdio file
descriptors to kenyad.
* otb/sys/iod/iod.c: New file.
* otb/sys/iod/io_main.c: New file.
* otb/sys/iod/iod.ext.c: New file.
* otb/sys/lamd/iod.int.c: New file.
* otb/sys/filed/fqopenfd.c (fqopenfd): New file.
* share/freq/lfopenfd.c (lam_lfopenfd): New file.
Mon Aug 26 17:47:03 1996 Nick Nevin <nevin@osc.edu>
* share/mpi/MPI.c: Handle MPI_BOTTOM as an external function.
* share/h/mpif.h: Handle MPI_BOTTOM as an external function.
Sun Aug 25 20:12:22 1996 Nick Nevin <nevin@osc.edu>
* otb/sys/kenyad/kenyad.c: Take server field into account when
doing byte conversion.
Sat Aug 24 08:38:14 1996 Nick Nevin <nevin@osc.edu>
* share/h/freq.h: New fs_count field.
* share/freq/rfstate.c (lam_rfstate): Return fs_count.
* share/mpi/cfree.c (_lam_comm_free): Squash memory leaks.
Fri Aug 23 13:05:40 1996 Nick Nevin <nevin@osc.edu>
* share/trillium/ldolinks.c (ldogetlinks): Add NOBUF flag.
* lib/otb/t/kreq/clientio.c (_cio_init): Connect UNIX stdio to iod.
* share/boot/app_schema.c (fdincr): Increment the correct file
descriptors.
Sat Aug 3 08:56:45 1996 Nick Nevin <nevin@osc.edu>
* share/trillium/rpcreate.c (rpcreate): Set job identifier.
Fri Aug 2 11:01:49 1996 Nick Nevin <nevin@osc.edu>
* otb/sys/kenyad/pqcreate.c (pcreate): Set job identifier.
* share/kreq/kinit.c (kinit): Initialize job identifier.
* lib/otb/t/kreq/clientio.c (_cio_init): Initialize job identifier.
* share/trillium/rpgo.c (rpgo): Set job identifier.
* share/h/kio.h (kio_t): Add job identifier field.
* share/h/preq.h (preq): Add job identifier field.
Sun Jul 28 18:47:57 1996 Nick Nevin <nevin@osc.edu>
* otb/sys/kernel/kernelio.c (kio_intr_clr): New function. Clear
kernel interrupt function.
Fri Jul 26 01:33:53 1996 Nick Nevin <nevin@osc.edu>
* share/mpi/rpi.shm.c (_c2c_matchenv): Envelope depends on protocol.
* share/mpi/finalize.c (MPI_Finalize): Unset initialized flag.
* share/mpi/laminit.c (finalize): Check if entered MPI lib.
* lib/otb/t/kreq/clientio.c (_cio_init): Check sockname return value.
* otb/loadgo/loadgo.c (setstdio): Make Trollius stdio one way.
* share/kreq/kinit.c (kinit): Make Trollius stdio one way.
Thu Jul 25 11:06:20 1996 Nick Nevin <nevin@osc.edu>
* share/kreq/ksr.c: Add prototypes.
* otb/sys/lamd/kiproc.c (kboot): Initialize io node.
Add io daemon to boot table.
* lib/otb/t/kreq/clientio.c (_cio_init): Set io node.
* share/kreq/kinit.c (kinit): Set io node.
* otb/mpirun/mpirun.c (setmode): UNIX io daemon flag.
(setstdio): Open standard io descriptors with one way flag.
* share/h/kio.h (RTF_UNIXIO): Add UNIX io daemon flag.
* otb/sys/kernel/kernelio.c (kio_req): Pass interrupt fd to
interrupt function.
* share/freq/rfwrite.c (lam_rfwrite): Call lower level _lam_rfwrite.
(_lam_rfwrite): New function. Low level remote write.
* share/h/typical.h (LAMPATHMAX): New constant. Max file path length.
* share/h/events.h (EVIOD): IO daemon event.
Mon Jul 15 17:23:01 1996 Nick Nevin <nevin@osc.edu>
* share/etc/kill.c (killname): Increase expansion spaces to 16.
* tools/hcc/hcc.c (main): New -showme option.
(main): Add OS and CPU defines to the command line.
Sat Jul 13 16:44:09 1996 Nick Nevin <nevin@osc.edu>
* share/etc/lamunix.c: New configuration support.
Thu Jul 11 11:40:40 1996 Nick Nevin <nevin@sgipc.osc.edu>
* share/mpi/mpil_spawn.c, share/h/mpisys.h, share/mpi/init.c,
share/mpi/laminit.c, share/mpi/shm.sgi.c: Support for 'job key'.
* share/h/shm.sysv.h (C2C_SHMPERMS): Set to 0600.
Wed Jul 10 16:38:28 1996 Nick Nevin <nevin@sgipc.osc.edu>
* share/mpi/lamipc.c: Various fixes.
* share/mpi/shm.sgi.c (getarenaname): Return 0 not LAMERROR.
* share/mpi/tcp.low.c (_tcp_readpipe): Removed unreachable breaks.
* share/mpi/rpi.shm.c (addanysrc): Added cast.
* share/mpi/rpi.tcp.c: Removed tcppipe() macro defn.
Wed Jul 10 15:21:56 1996 Nick Nevin <nevin@osc.edu>
* share/tstdio/tfprint.c: Made order of const char * consistent.
* share/mpi/recv.c (MPI_Recv): Some function calls now macros.
* share/mpi/lamsend.c (__lam_send_): Some function calls now macros.
* share/mpi/lamupdown.c: Made variables global to allow macro
versions.
* share/mpi/laminit.db.c: New file. Adds two local processes only
initialization to usual init.
* share/mpi/laminited.c: Use flag to avoid getpid() syscall.
Tue Jul 9 10:17:39 1996 Nick Nevin <nevin@osc.edu>
* tkill.c (shmcleanup): New function to clean up shmem traces.
Wed Jun 26 12:13:11 1996 Nick Nevin <nevin@osc.edu>
* share/h/terror.h: Include errno.h.
* share/tstdio/tfprint.c: Use 'const char *' rather than
'char const *'.
* share/mpi/tfree.c: Split into part that does actual free and
MPI function part.
* share/mpi/cfree.c: Split into part that does actual free and
MPI function part.
Tue Jun 25 10:24:58 1996 Nick Nevin <nevin@osc.edu>
* kenyad.c (pfind): Test index first to avoid illegal reference.
Wed Jun 19 09:35:45 1996 Nick Nevin <nevin@osc.edu>
* share/mpi/rpi.tcp.h (commdead): Macro to reduce overhead.
* share/mpi/rpi.tcp.c: Introduce commdead macro.
* share/mpi/tcp.low.c: Introduce commdead macro.
* share/mpi/c2cbuf.c (_cbuf_find): Don't bother to hash if table empty.
Tue Jun 11 11:34:48 1996 Nick Nevin <nevin@osc.edu>
* share/mpi/mpil_spawn.c (spawn): clear RTF_FLAT.
* share/trillium/rload.c (rload): initialize bmalloc to FALSE.
5.2
---
DATE AUTHOR STATUS DESCRIPTION
8/22 rel LAM 5.2
8/25 GDB bug Running lamd from straight from a shell produces
an error from filed.
8/25 JRV mod Assume UDP datagrams are at least 8K.
(share/h/trillium/net.h, lib/otb/t/kreq/clientio2.udp.c)
8/26 GDB fix Check -O before ltot() on acks.
(otb/sys/dli_inet/dli_inet.c)
8/31 GDB mod Remove printing.
(share/boot/parsehost.c)
8/31 GDB bug Lamd exits when invoked directly from a shell with
"filed (fmyinit): Not owner"
9/1 JRV fix Free realloc'd ponters, not the malloc'd ones.
(otb/mpirun/mpirun.c)
9/2 JRV fix Don't modify pointers you intend to use later.
(otb/mpirun/mpirun.c)
9/8 RBD fix Change _kio_cleanup() to _cio_cleanup() in pvm_exit().
(share/pvm/exit.c)
9/9 RBD fix Change _cio_kreqfront() error condition.
(lib/otb/t/kreq/kdetach.c)
9/12 JRV fix Set pvm_errno if tid not found in pvm_gettid().
(share/pvm/group.c)
9/14 GDB fix Correct nh_type synchronization.
(share/bufferd/bufferd.c)
9/16 RBD mod Do no XDR on SCO.
(lib/otb/t/etc/ieee.c)
9/16 RBD fix Do not check for NULL buffers (MPI_BOTTOM is NULL).
(share/mpi/{allgather.c, allgatherv.c, allreduce.c,
alltoall.c, alltoallv.c, bcast.c, gather.c, gatherv.c,
lamchkarg.c, pack.c, reduce.c, reducescatter.c,
scan.c, scatter.c, scatterv.c, unpack.c})
9/20 GDB mod Remove extraneous sys/file.h.
(otb/sys/loadd/loadd.c)
9/20 RBD fix Do not sync negative wsync1 messages with wildcard.
(share/bufferd/bfsql.c)
9/26 RBD fix Return correct source rank (misunderstanding).
(share/mpi/cartshift.c)
9/26 RBD fix Nullify the user's request if done.
(share/mpi/waitany.c)
9/26 RBD fix Increment communicator ref. count for persistent reqs.
and decrement when requests are deallocated.
(share/mpi/{lammkreq.c, reqfree.c})
9/26 RBD fix Pass values by ref. to F77 functions.
(share/mpi/{attrdel.c, cdup.c})
9/26 RBD fix Increment error handler's ref. count.
(share/mpi/errset.c)
9/26 RBD fix Delete the key entry without freeing the key.
(share/mpi/lamattr.c)
9/26 RBD fix Take care of NULL F77 handles.
(share/mpi/{MPI.c, MPI.RS6K.c})
9/26 RBD mod Print the "topology" line in debug mode only.
(tools/lamboot/lamboot.c)
10/18 RBD mod Upgrade to new network description. Bye bye NaIL.
(share/boot/parsehost.c,
tools/lamboot/{lamboot.c, lamface.c},
tools/recon/recon.c, tools/wipe/wipe.c)
10/20 GDB fix Defer error checking on krecvback().
(share/kreq/krecv.c)
10/20 GDB mod Split ksr() and dsfr() into front/back.
(share/kreq/ksr.c, share/nreq/dsfr.c,
share/h/trillium/kreq.h, net.h,
lib/otb/t/kreq/couter.c, otb/sys/lamd/couter.c)
11/4 GDB mod Use -R to clean up SQL requests.
(otb/bfctl/sweep)
11/4 GDB fix Allocate named group IDs in user range.
Do not remove system group IDs on GQWIPE (temp hack).
(share/groupd/groupd.c)
11/28 RBD fix Define different RSH path for SGI.
(share/boot/inetexec.c)
11/29 RBD fix Switch global/local caller rank.
(otb/mpitask/mpis_procinfo.c)
12/22 RBD mod Remove low-level tracing from nsend() & nrecv().
(share/nreq/{nrecv.c, nsend.c})
2/22 GDB mod Add LAMERROR. Remove HOME.
(share/h/trillium/typical.h)
2/22 RBD mod Use <stdlib.h> + face-lift the code.
(share/etc/{all_hash.c, all_queue.c},
share/pvm/{spawn.c, tasks.c})
3/13 GDB mod Rename addarg() to argvadd(). Add argvfree().
Remove split().
(share/h/args.h)
3/17 RBD mod Remove MPI_Type_count().
(share/mpi/{MPI.c, MPI.RS6K.c})
3/17 RBD mod Change "value" from (void **) to (void *).
(share/mpi/attrget.c)
3/17 RBD fix Fix complex product + face-lift.
(share/mpi/lamreduce.c)
3/29 RBD fix MPI_PACKED matches all datatypes.
(share/mpi/{getcount.c, getelem.c})
3/30 RBD mod Don't reuse MPI context IDs.
(share/mpi/lamcid.c)
4/20 RBD fix al_top/bottom return NULL for empty non-NULL list.
(share/h/all_list.h)
5/28 GDB mod Add Fortran to C handle conversion.
(share/mpi/MPI.c, MPI.RS6K.c)
5/31 RBD mod Switch mpif.h from C to F77 syntax.
(share/h/mpif.h)
6/9 GDB mod Revise prototypes. Prune obsolete definitions.
(share/h/net.h)
6/9 RBD mod Remove groupd cleaning in lamclean.
(otb/lamclean/lamclean.c)
6/9 RBD mod Use errno value when exiting.
(share/mpi/abort.c)
6/13 RBD mod Add MPI_ERR_IN_STATUS, MPI_ERR_PENDING.
(share/mpi/errstring.c)
6/25 RBD mod Include <sys/types.h> for Ultrix.
(share/freq/rfstat.c)
6/28 RBD mod Add MPI_ERR_SYSRESOURCE.
(share/mpi/errstring.c)
6/29 RBD mod MPI_BOTTOM is now (void *), so cast it to MPI_Aint.
(share/mpi/address.c)
7/5 RBD mod Upgrade hcc and hf77 to use LAMHOME and LAMHCC.
Upgrade hcc to use argvbreak() and argvcount().
(tools/hcc/hcc.c, tools/hf77/hf77.c)
7/6 RBD mod Move RSH definitions to config files + face-lift.
Place RSH args. before hostname to please Linux.
(share/boot/inetexec.c)
7/6 RBD mod Add ah_setcmp() and ah_*_elm() functions.
(share/h/all_hash.h, share/etc/all_hash.c)
7/21 RBD mod Remove non-MPI function types.
(share/h/blktype.h, share/etc/blktype.c)
8/8 GDB mod Revise help message.
(otb/doom/doom.c)
8/21 RBD mod Move shared functions to mpietc.c.
(share/mpi/lamcid.c)
8/25 RBD mod Send MPI errors to tstdout instead of tstderr.
(share/mpi/lamdeferr.c)
9/1 GDB mod Revise node parsing.
(otb/doom/doom.c, otb/fctl/fctl.c, otb/tping/tping.c)
9/2 GDB mod Remove extinct libtools.
(tools/hcc/hcc.c, tools/hf77/hf77.c)
9/12 RBD mod Add RS6K macros. Remove group functions & arecv().
(share/etc/T.c, share/trillium/TRIL.c)
9/12 RBD mod Spell out rank/comm/node/pid in fatal error message.
(share/mpi/lamdeferr.c)
9/28 GDB mod MPI 1.0 and 1.1 say that type size is an int.
(share/mpi/tsize.c)
10/12 GDB mod Simplify and trim priorities.
(share/h/priority.h)
10/18 GDB mod Remove Cubix and backwards compatibility.
(share/h/FREQ.h, freq.h)
10/18 GDB mod Remove group, cast and LED functionality. Remove
backwards compatibility.
(share/h/NET.h)
10/24 GDB fix Return LAMERROR, not exit error code.
(share/boot/inetexec.c)
11/13 GDB mod Print process ID instead of event.
(otb/fstate/fstate.c)
11/16 GDB mod Remove obsolete functions. Rename TPOSIX() calls to
lamf_rfposix(). Add HPUX to RS6K category.
(share/etc/T.c, share/trillium/TRIL.c)
11/18 GDB mod Use existing bfrecv() from libt.
(share/bforward/bforward.c)
11/20 GDB mod Add fault tolerant signals. Qualify names for LAM.
(share/h/ksignal.h)
11/20 GDB mod Do not use NULL.
(otb/sys/filed/fqf77.c)
11/20 GDB fix Cast IEEE buffers to (void *).
(lib/otb/t/etc/ieee.c)
11/20 GDB fix Cast arguments to rev4() to (void *).
(share/etc/rev.c)
11/20 GDB mod Remove unreached return.
(lib/otb/t/kreq/kcreate.c)
11/21 GDB mod Be explicit about signed char for SGI bozos.
(share/tstdio/tscan.c)
11/21 GDB fix Return zero in integer functions.
(otb/sys/lamd/stub.c)
11/23 GDB mod Add signed keyword.
(share/h/portable.h)
12/20 GDB mod Add DINT2MSG conversion.
(share/etc/nmsgconv.c)
1/12 GDB mod Remove port extension on kernel entry.
(otb/sys/kernel/kkill.c)
1/12 GDB mod Overhaul.
(otb/sys/kernel/kouter.c, share/kernel/kinner.c,
share/kreq/ktrace.c)
1/12 GDB mod Add lam_kexit() to cleanup but not terminate.
(share/kreq/kexit.c)
1/12 GDB mod Remove O_NOCBX.
(share/kreq/kinit.c)
1/12 GDB mod Remove ETIMEDOUT for TCP kernel. Add block time
tracing.
(share/kreq/krecv.c, ksend.c, ksr.c)
1/13 GDB mod Obtain process fyi structure from the kernel.
(share/kreq/kstate.c)
1/13 GDB mod Add sigflush(). Add de-rigeur name wrappers.
(share/kreq/ksignal.c)
1/13 GDB mod Remove client ports for TCP kernel.
(lib/otb/t/kreq/kattach.c)
1/13 GDB mod Revise for TCP kernel.
(lib/otb/t/kreq/couter.c, share/nreq/dsfr.c)
1/15 GDB mod Use updated portable.h.
(share/nreq/trecv.c tsend.c)
1/15 GDB mod Send the overall length of a multipacket message
in nh_data[0] of the first packet.
(share/nreq/nsend.c)
1/15 GDB mod Get the overall length of a long message from
nh_data[0] of the first packet. Move bfrecv()
to bfrecv.c. Preserve nh_msg's local pointer.
(share/nreq/nrecv.c)
1/15 GDB mod Re-implement as a simple wrapper for bfiprobe().
(share/nreq/nprobe.c)
1/15 GDB mod Pass all network level flags to the kernel level.
(share/nreq/frecv.c, dsend.c)
1/15 GDB fix Set the length to the minimum length.
(share/nreq/drecv.c)
1/18 GDB fix Use msg type RSMART for router request.
(share/rreq/getnodes.c, getrent.c)
1/18 GDB mod Overhaul. Remove process state information.
(share/bufferd/bufferd.c, share/h/bfreq.h)
1/18 GDB mod Add/delete error codes.
(share/etc/terror.c, share/h/terror.h)
1/18 GDB mod Overhaul for new parse_id.c and all_opts.c packages.
(share/h/args.h)
1/19 GDB mod Add LAM/MPI extensions.
(share/etc/blktype.c, share/etc/blktype.h)
1/19 GDB mod Remove dirt concept and user space limit.
(otb/bfctl/bfctl.c)
1/19 GDB mod Remove user space limit. Do not collect packets; use nh_data[0] for total message length.
(otb/bfstate/bfstate.c)
1/19 GDB mod Do not pass client port in kernel request.
(otb/kdump/kdump.c)
1/19 GDB mod Clean up trace daemon. Spin print nodeids.
(otb/lamclean/lamclean.c)
1/25 GDB mod Clean up declarations.
(share/tstdio/tfscan.c, tscan.c)
2/1 GDB mod Remove cubix support into a separate library/product.
(otb/sys/filed/*.c)
2/4 GDB mod Modernize with several new internal functions and
libraries.
(otb/loadgo/loadgo.c, state/state.c)
2/6 GDB mod Add EBADHOST.
(share/etc/terror.c, share/h/terror.h,
lib/otb/t/etc/getinetaddr.c)
2/7 GDB mod Remove lamfail() into a separate module.
(lib/otb/t/etc/panic.c)
2/7 GDB mod Add stream, UNIX domain, socket functions.
(lib/otb/t/etc/sockface.str.c)
2/10 GDB mod Catch tkill/kernel termination and clean up.
(otb/sys/flatd/fl_main.c)
2/10 GDB mod Add clean-up function. Remove address from reply.
(otb/sys/flatd/flatd.c, share/trillium/rget.c,
share/h/flatreq.h)
2/10 GDB mod Add sockname().
(share/etc/kill.c)
2/10 GDB fix Do not forward KTRACE.
(share/bufferd/bufferd.c)
2/10 GDB mod Add _lam_atexit().
(share/etc/lamunix.c)
2/11 GDB mod Remove command line options.
(share/router/r_main.c)
2/11 GDB mod Merge rrload() and rrsetrent() into rrsetrents().
(share/router/router.c, share/h/rreq.h)
2/11 GDB mod Determine full pathname of local files.
Add process ID and index as output parameters.
(share/trillium/rload.c, rploadgo.c)
2/11 GDB mod Add process ID and index as output parameters.
(share/trillium/rpcreate.c, rpgo.c, rpspawn.c)
2/14 NJN fix Retry insertion of new entry after table expansion.
(share/router/router.c)
2/16 GDB mod Remove user space buffer parameter.
(share/trillium/rbfparms.c, rbfstate.c)
2/16 GDB mod Use name macros for HPUX. Use new rploadgo() binding.
(share/trillium/TRIL.c)
2/18 GDB mod Replace SELECT_BLKD with SELECT_MPI.
(share/h/preq.h)
2/18 GDB mod Remove atexit() macro. Use _lam_atexit().
(share/h/portable.h)
2/18 GDB mod Add DINT2MSG.
(share/h/net.h)
2/18 GDB mod Overhaul.
(share/h/kio.h, kreq.h, ktrace.h, mpi.h, mpisys.h,
trreq.h)
2/18 GDB mod Upgrade to MPI 1.1.
(share/h/mpif.h)
2/18 GDB mod Replace EVDLMOM with EVDLI.
(share/h/events.h)
2/18 GDB mod Add fault tolerant and dynamic node features.
(share/h/dl_inet.h)
2/18 GDB mod Overhaul.
(share/mpi/*)
2/22 GDB mod Overhaul.
(otb/sys/mpimsg/mpimsg.c, mpirun/mpirun.c,
mpitask/mpitask.c)
2/22 NJN fix Skip inactive requests.
(share/mpi/waitsome.c)
2/23 GDB mod Remove homogeneous feature and add fault tolerance.
(otb/sys/dli_inet/di_main.c, dli_inet.c,
otb/sys/dlo_inet/dlo_inet.c, do_main.c, do_wait.ext.c)
2/24 GDB mod Remove -lsun for SGI.
(tools/hcc/hcc.c, hf77/hf77.c)
2/24 GDB mod Just allocate the table - don't fill it.
(otb/sys/router/rtdinit.lam.c)
2/24 GDB mod Use new file searching module.
(otb/sys/loadd/loadd.c)
2/26 GDB mod Remove getsmart().
(otb/sys/lamd/rreq.c)
2/26 GDB mod Quadruple buffer space limit.
(share/h/bfreq.h)
2/26 GDB mod Revise process list and call subsystem
cleanup functions.
(otb/sys/lamd/kiproc.c)
2/26 GDB mod Enqueue non-syncing KTRY requests.
(otb/sys/lamd/couter.c)
2/26 GDB fix Don't check return value of void kio_intr().
(otb/sys/lamd/di_wait.int.c)
2/26 GDB mod Overhaul.
(otb/sys/lamd/do_wait.int.c)
2/26 GDB mod Remove setsid().
(otb/sys/filed/fface.c)
2/27 NJN fix Ignore sendto ENOBUFS error.
(otb/sys/dli_inet/dli_inet.c)
2/27 GDB mod Modernize and tweak.
(otb/sys/kenyad/*.c)
2/27 GDB mod Use modern libraries and share modules.
Remove chaff.
(tools/hboot/hboot.c)
2/28 GDB mod Pass all runtime flags to daemon.
(lib/otb/trillium/lpattach.c)
2/28 GDB mod Use unblock instead of restore on preemption signal.
(lib/otb/t/kreq/couter.c)
2/28 GDB mod Do not forward certain message flags.
(share/bforward/bforward.c)
2/28 GDB mod Overhaul.
(share/boot/bhostparse.c)
2/28 GDB mod Chop down to bare necessities.
(share/boot/boot.h)
2/28 GDB mod Support LINUX and bash.
(share/boot/inetexec.c)
2/28 GDB mod Use lambootagent module.
(tools/lamboot/lamboot.c)
2/28 GDB mod Overhaul.
(tools/recon/recon.c, wipe/wipe.c)
2/28 GDB mod Upgrade to TCP kernel.
(tools/tkill/tkill.c)
2/28 NJN fix Send GPS arrays as MPI_INT.
(share/mpi/iccreate.c)
2/28 NJN fix Wait at barrier for all to initialize.
(share/mpi/init.c)
3/1 GDB fix Common block lamblk_ must be renamed for HP/IBM.
(share/mpi/MPI.c)
3/1 GDB fix Convert byte order of new link number.
(otb/sys/dli_inet/dli_inet.c)
3/3 NJN fix Attribute copy and delete functionality brought up
to standard.
(share/h/mpi.h, mpisys.h, mpif.h
share/mpi/init.c, cdup.c, attrdel.c, dupfn.c, MPI.c)
5.1
---
DATE AUTHOR STATUS DESCRIPTION
5/18 rel LAM 5.1
5/19 GDB fix Code around gcc/ANSI &(void **a)[i] problem.
(share/mpi/MPI.c, MPI.RS6K.c)
5/19 GDB fix Gcc on Solaris 2.3 was not happy with the placement
of stdlib.h among other LAM header files.
(otb/mpirun/mpirun.c)
5/19 GDB fix Dlo now gets -O from the command line, not from dli.
(otb/sys/dli_inet/dli_inet.c,
otb/sys/dlo_inet/dlo_inet.c, do_main.c)
5/19 GDB fix Add semi-colon after the last member of a
struct definition.
(share/mpi/lamreduce.c)
5/23 GDB fix Fix prototype for MPI_Type_hvector().
(share/h/trillium/mpi.h)
5/23 JRV fix Fix schema parsing bug, and don't free 'fullpath'
until all copies are loaded.
(otb/mpirun/mpirun.c)
5/25 GDB fix Use struct bftask for bufferd process status.
(share/bufferd/bufferd.c, share/h/trillium/bfreq.h,
share/trillium/rbfprocstat.c, otb/pvmtask/pvmtask.c,
otb/mpitask/mpitask.c)
6/14 RBD fix Fix a silly typo in wait.c
(share/mpi/wait.c)
6/20 RBD fix In F77, make MPI_BOTTOM a global variable and
convert it to the C NULL pointer when used.
(share/h/trillium/mpif.h,
share/mpi/{MPI.c, MPI.RS6K.c})
6/30 RBD fix Set the max. # of predefined types.
Affects MPI-F77-RS6K only.
(share/mpi/MPI.RS6K.c)
7/27 RBD mod Add EVXMPI.
(share/h/trillium/events.h)
7/27 RBD mod Add undocumented -x option to mpirun for xmpi.
(otb/mpirun/mpirun.c)
7/28 RBD mod Change _kio_cleanup() to _cio_cleanup() in MPI.
(share/mpi/finalize.c)
8/2 RBD mod Change MPI_Get_count(), MPI_Get_elements, and
MPI_Test_cancelled() to take pointer to MPI_Status.
(share/h/trillium/{mpi.h, mpisys.h})
8/2 RBD mod Use MPI_Aint instead of int in MPI_Type_extent(),
MPI_Type_size(), MPI_Type_lb(), and MPI_Type_ub().
(share/h/trillium/mpi/h,
share/mpi/{textent.c, tsize.c, tlb.c, tub.c})
8/2 RBD fix Check and cache -x option early in the code.
Mpirun has side-effect argument parsing.
(otb/mpirun/mpirun.c)
8/4 RBD fix Fix bugs in typealloc() and typefree().
(share/mpi/{MPI.c, MPI.RS6K.c})
8/10 RBD mod Allow non-networked stand-alone systems to boot.
(share/boot/nail.lam.c)
8/12 RBD fix Fixed recon (do_recon()) return error.
(tools/recon/recon.c)
8/12 RBD mod Cast an (int *) pointer to (char *).
(share/mpi/{MPI.c, MPI.RS6K.c})
8/16 RBD fix Fixed rbfprocstate() prototype.
(share/h/trillium/bfreq.h)
8/16 RBD mod Support variable length addresses.
(share/boot/nail.lam.c)
8/17 RBD mod Move ARCV() wrapper to the T.c file and
make it take a function pointer as argument.
(share/etc/{T.c, T.RS6K.c})
8/17 RBD mod Change MPI_Waitall() to a loop of MPI_Waitany().
(share/mpi/waitall.c)
8/17 RBD mod Change MPI_GET_COUNT(), MPI_GET_ELEMENTS() and
MPI_TEST_CANCELLED() to follow the MPI errata sheet.
(share/mpi/{MPI.c, MPI.RS6K.c})
8/18 GDB mod Use buffers so as not to confuse ksr() in kenyad.
(lib/otb/trillium/lpattach.c, otb/sys/kenyad/pqstate.c,
share/trillium/lpdetach.c, rpstate.c)
8/18 GDB mod Client cleanup is now _cipc_cleanup().
(lib/otb/t/etc/panic.c)
8/18 GDB mod Overhaul kernel.
(lib/otb/t/kreq/clientio.udp.c, couter.c, kattach.c,
kcreate.c, kdetach.c, otb/kdump/kdump.c,
otb/mpitask/mpitask.c, otb/pvmtask/pvmtask.c,
otb/state/state.c,
otb/sys/kernel/kernelio.udp.c, kkill.c, kouter.c,
otb/sys/lamd/couter.c, di_wait.int.c, kexit.c,
kiproc.c, nrecv.c,
share/bforward/bforward.c,
share/h/trillium/dl_inet.h, kio.h, kreq.h, net.h,
share/kernel/kinner.c,
share/kreq/kdoom.c, kexit.c, kinit.c, krecv.c, ksend.c,
ksignal.c, kstate.c,
share/nreq/bfprobesql.c, bfprobesqlblk.c, bfrecvsql.c,
bfsyncsqlany.c, dsend.c, frecv.c, nprobe.c, nrecv.c,
share/rreq/getnodes.c, getrent.c)
8/18 GDB mod Remove dependence on router for LOCAL service.
(otb/fstate/fstate.c, share/freq/rfstate.c)
8/18 GDB mod Overhaul for new kernel. Use non-Trollius methods
for acks and timeouts.
(otb/sys/dli_inet/di_wait.ext.c, dli_inet.c,
otb/sys/dlo_inet/dlo_inet.c)
8/18 JRV mod Add HP-UX support, including no more #elif's.
(otb/sys/fface.c, share/boot/initexec.c,
share/etc/getworkdir.c,
share/h/trillium/{portable.h, t_types.h},
tools/hf77/hf77.c, tools/hcc/hcc.c)
8/18 JRV mod Upgrade to act more like xmpi.
(otb/mpitask.c)
8/19 RBD mod Only SUN4_OS needs to map atexit() to on_exit().
(share/h/trillium/portable.h)
8/19 GDB mod Do not exit on client send timeout.
(otb/sys/kernel/kernelio.udp.c)
8/19 RBD mod Add SCO support.
(share/boot/inetexec.c,
share/etc/{getworkdir.c, kill.c},
share/h/trillium/{portable.h, t_types.h},
otb/sys/kernel/kkill.c, otb/sys/filed/fface.c,
otb/sys/dli_inet/dli_inet.c, lib/otb/t/nreq/psend.c,
tools/hcc/hcc.c, tools/hf77/hf77.c)
8/19 GDB fix Convert byte order on ACK message.
(otb/sys/dli_inet/dli_inet.c)
8/19 GDB mod Invoke wipe with matching verbose flag and
minimum number of nodes.
(tools/lamboot/lamboot.c, lamface.c)
8/19 GDB mod Add -n option to limit # of wiped nodes.
Remove -V option.
(tools/wipe/wipe.c)
8/22 GDB mod Add robutsness.
(otb/lamclean/lamclean.c)
8/22 GDB mod Cast inet structure.
(otb/sys/dli_inet/dli_inet.c)
8/22 rel LAM 5.2
2.3
---
DATE AUTHOR STATUS DESCRIPTION
4/26 OSU rel Ohio LAM 2.3
5/2 JRV mod Add special handling for MPI_ANY_TAG, MPI_ANY_SOURCE.
(otb/mpitask/mpitask.c)
5/3 JRV mod Check to see if caller is a child of a fork() on init.
(share/pvm/mytid.c)
5/4 RBD mod Remove the -m option from loadgo.
(otb/loadgo/loadgo.c)
5/5 GDB bug Somehow we forgot to set nh_dl_event prior to using
dsend() in nprobe().
(share/nreq/nprobe.c)
5/11 GDB mod Reflect slight changes in bfclient structure.
(otb/pvmtask/pvmtask.c)
5/11 GDB mod Clean up abnormally terminated non-child clients.
(otb/sys/kenyad/pqdetach.c, pqstate.c)
5/13 JRV mod Do not print messages with negative tags.
(otb/mpimsg/mpimsg.c)
5/13 JRV mod Add RTF_MPIRUN.
(share/h/trillium/kio.h)
5/16 RBD mod Add -ltstdio in hf77, it is needed by MPI.
(tools/hf77/hf77.c)
5/17 GDB fix Do not close stdio on origin with FQRMFD.
(otb/sys/filed/fqsimplex.c)
5/17 GDB mod Move SQL code to bfsql.c and upgrade it to full MPI.
(share/bufferd/bfsql.c, bufferd.c,
share/h/trillium/bfreq.h)
5/18 JRV mod Print rank in MPI_COMM_WORLD's group in "{}".
(otb/mpimsg/mpimsg.c)
5/18 JRV mod Upgrade for new-and-improved libmpi.
(otb/mpitask/mpitask.c)
5/18 GDB mod Print nh_type for MPI and PVM messages.
(otb/bfstate/bfstate.c)
5/18 GDB mod Change name to fctl and minor facelift.
(otb/fctl/fctl.c)
5/18 GDB mod Fully support KTRY.
(share/nreq/nrecv.c, nsend.c)
5/18 GDB fix Set nh_dl_event before sending to bufferd.
(share/nreq/nprobe.c)
5/18 GDB mod Bypass buffers when the server is local.
(share/trillium/rpstate.c)
5/18 RBD mod Add MPI function types.
(share/etc/blktype.c, share/h/trillium/blktype.h)
5/18 RBD mod Add terrorstr(), EMPIINIT, EMPINOINIT.
(share/etc/terror.c, share/h/trillium/terror.h)
5/18 GDB mod Add PRCMD for all commands.
(share/h/trillium/priority.h)
5/18 RBD mod Add _vcfree() to clean virtual circuit table.
(share/etc/vctable.c)
5/18 RBD mod Free the virtual circuit table of a forked process.
(share/kreq/kinit.c)
5/18 rel LAM 5.1
2.2
---
DATE AUTHOR STATUS DESCRIPTION
5/1/92 OSU rel Ohio Trollius 2.2
5/5 GDB fix Repair two types in introc document.
(doc/src/introc.doc.fm)
5/6 GDB fix Return proper error value if locks dir not found.
(otb/sys/kernel/kkill.c)
5/6 GDB fix Give the whole world permissions on the locks dir.
(tools/hboot/Makefile)
5/6 GDB mod Attach first at priority 0 to detect OTB kernel absence.
(share/bufferd/bufferd.c, share/router/router.c)
5/8 RBD fix Un-comment the castd entry in the conf.otb files for
the meiko, b014, vmtm and arch ports.
(machine/{meiko, b014, vmtm, arch}/schema/conf.otb)
5/14 GDB fix Use rfopen() instead of non-existant rfcreat().
(lib/itb/t/unix/creat.c)
5/14 RBD fix Fixed non-orthodox dsend() call in rrhold().
(share/rreq/rrhold.c)
5/23 RBD mod Added the man pages for the tsize and tvw tools.
(man/manl/{tsize.l, tvw.l})
5/24 RBD mod Make structure declarations preceed their typedef usage
in order to remove ULS compiler warnings.
(share/h/trillium/{all_hash.h, all_queue.h})
5/25 RBD mod Replaced the cold booting command by the set timer
command in the ULS version of moses.
(tools/moses.t4/moses.uls.s)
5/30 GDB fix Keep reloc and symbol tables contiguous for patching.
(tools/cboot/cboot.c)
6/5 RBD fix Use uint4 (declared in portable.h) instead of
unsigned int4, which is a no-no.
(otb/sys/filed/fface.c)
6/10 RBD mod Added f77 wrappers for rrnodewait(), ncombine(),
rcasttype(), ktrstart() and ktrstop() and cosmetics.
(lib/{itb, otb}/T/nreq/NCOMBINE.c,
lib/{itb, otb}/T/trillium/{RCAST.c, RRNODEWAIT.c}
lib/{itb, otb}/T/kreq/KTR.c)
6/10 RBD fix Fixed a typo in the RCASK() function naming.
(lib/{itb, otb}/T/trillium/RCASK.c)
6/15 GDB fix Repair typo in help().
(otb/vboot/vboot.c)
6/17 JRV fix Added missing 'stderr' in an fprintf.
(tools/moses/moses.c)
7/15 GDB fix Correct DEFPPROGH for 2.2.
(share/boot/boot.h)
7/19 GDB fix Remove kernel.h.
(otb/mstate/mstate.c)
8/3 GDB fix Find full pathnames.
(otb/loadgo/loadgo.c)
8/12 GDB fix Set nh_event and nh_node for dsend().
(share/rreq/getnodes.c, getsmart.c rrattach.c)
8/30 RBD mod Make al_count() an O(1) operation.
(share/etc/all_list.c, share/h/trillium/all_list.h)
9/2 RBD mod Increase hard-coded limits from 8 to 16.
(share/args/do_args.c)
9/8 GDB mod Give facelift due to LAM OTB servers.
(share/trillium/rcreate.c rdoom.c rflat.c rget.c
rloadgo.c rpdetach.c rpwait.c rspawn.c rstate.c)
9/23 GDB mod Eliminate floating point arithmetic.
(itb/sys/mallocd/mallocd.c)
9/25 GDB mod Remove rf.c from ITB t library.
(lib/itb/t/etc/Makefile)
9/25 GDB mod Move ttime.c over to LSTT dungeon.
(lib/itb/t/etc/ttime.c)
9/25 GDB mod Selectively start dl processes.
(itb/sys/dl_t4/dl_mom.c)
9/25 GDB mod Use "all" for CPU type instead of t800.
(lib/itb/t/kreq/siesta.lstt.s)
9/25 GDB mod Give facelift due to LAM OTB servers.
(lib/itb/trillium/rpattach.c)
9/26 GDB mod Establish mailbox for boot link address.
(machine/*/share/h/machine/maconfig.h)
9/26 GDB mod Add detecter for onchip RAM size - optional
module for newer transputers.
(machine/*/itb/sys/mallocd/maconfig.pid)
9/26 GDB mod Allow buffers to suit stateful dl_t4.
(share/trillium/ldlattach.c)
9/27 GDB mod Fill bootlink mailbox.
(tools/moses.t4/moses.*.s)
11/30 GDB mod Increase kattach timeout.
(lib/otb/t/kreq/clientio.udp.c)
12/2 GDB mod Add i860 coprocessor addresses.
(machine/arch/share/h/machine/maconfig.h)
12/15 RBD mod Added free_nodes() to the node parsing package.
(share/args/parse_nodes.c)
12/18 GDB mod Use tputer instead of itb.
(lib/itb/t/kreq/clientio.c)
12/18 GDB mod Move addresses to maconfig.h.
(lib/itb/t/etc/panic.c)
1/8/93 GDB fix Clean up properly if no memory error.
(itb/sys/mallocd/mallocd.c)
1/19 GDB fix Add robustness to network startup.
(otb/sys/kernel/kernelio.udp.c,
lib/otb/t/kreq/clientio.udp.c)
1/22 RBD mod Remove the AHFIXED constant from all_hash.
(itb/sys/bootd/btroute.c,
share/boot/{routeio.c, naily.y},
share/castd/castd.c,
share/h/trillium/all_hash.h,
tools/map/{map_funct.c, map_route1.c, map_route2.c})
2/2 GDB mod Move atoi() from libc to libt and rewrite.
(share/etc/atoi.c)
2/2 GDB mod Eliminate my_atoi() and rewrite.
(share/etc/terror.c)
2/9 RBD fix Issue the reset command in solder (nt1000 version).
(machine/nt1000/tools/solder/solder.c)
2/10 GDB mod Change p_flags to p_rtf plus give minor facelift.
(otb/state/state.c)
2/10 GDB mod Overhaul to match new OTB version.
(itb/sys/flatd/flatd.c)
2/10 GDB mod Add environ variable.
(itb/sys/shared/shared.c)
2/10 GDB mod Add magic routine.
(share/etc/tout.c)
2/10 GDB mod Remove RTF_NODEID and add RTF_FLAT.
(share/h/trillium/kio.h)
2/17 RBD mod Support the NT_ME node type field.
(tools/map/map.c, tools/rasm/rasm.c)
2/17 RBD mod Specify the origin node in the first trout command.
(tools/spread/spread.c)
2/18 RBD mod Support the NT_ORIGIN node type field.
(otb/trout/trout.c)
2/18 RBD mod Support the NT_ME node type field and remove
the origin node from the route table header.
(share/boot/routeio.c)
2/18 RBD mod Remove the origin node from the route table header.
(share/boot/rtio.h)
2/18 GDB mod Remove declaration of getroute2() that clashes
with shared.h.
(share/castd/castd.c, combine.c)
2/18 GDB mod Upgrade for stds and rewrite for new route
loading procedure.
(share/rreq/*.c, share/router/router.c,
share/h/trillium/rreq.h)
2/18 GDB mod Revise for new router runtime system.
(share/h/trillium/net.h)
2/19 RBD mod In cnfexec(), make child process call exit()
and make parent call waitpid().
(share/boot/conf.c)
2/19 RBD mod Define atexit() on Sun machines.
(share/h/trillium/portable.h)
2/23 JRV fix Repair help menu of the export tool.
(tools/export/export.c)
2/23 RBD mod Make split() add a blank argument to the argv
structure if a blank string is given.
(share/args/split.c)
3/19 RBD mod Attach to kenyad using lpattach() and kisysgen().
(share/castd/castd.c, share/echod/echod.c,
share/router/router.c, otb/sys/filed/filed.c,
otb/sys/loadd/loadd.c)
3/19 GDB mod Change kattach() to kinit(), which is in shared.
Add lpattach() and kisysgen().
(share/bufferd/bufferd.c)
3/19 RBD mod Make terror() accept a NULL message.
(share/etc/terror.c)
3/22 GDB mod Add DEFP, the default installation directory.
(share/boot/boot.h)
4/12 RBD mod Use the new mltoti4() and mttoli4() macros.
(share/trillium/rcast.c, otb/trout/trout.c)
4/28 JRV mod Add -k capability to bypass kenyad.
(otb/state/state.c)
4/30 GDB mod Remove pointers from state information.
(otb/state/state.c, otb/sys/kenyad/pqstate.c,
share/h/trillium/preq.h, share/trillium/rstate.c)
5/3 GDB mod Restrict stat() to POSIX fields. Use off_t
with lseek().
(otb/sys/filed/fface.c, share/freq/rfstat.c)
5/3 GDB mod Use frecv() instead of DFORWARD.
(share/bufferd/bufferd.c,
share/castd/{castd.c, combine.c})
5/3 GDB mod Mutate dld from a subroutine of dl_mom to a
standalone daemon.
(share/dld/dld.c)
5/3 RBD mod Add frecv() to receive a forwarded message unchanged.
Drecv() uses frecv() without supporting DFORWARD.
(share/nreq/{drecv.c, frecv.c})
5/3 RBD mod Change request from NSEND to KSEND.
(share/nreq/{nrecv.c, nsend.c})
5/3 GDB mod major refit of router code
(otb/sys/sa_rtr/sa_rtr.c)
5/3 GDB mod facelift, better error reporting, portability
(otb/sys/kernel/kernelio.udp.c)
5/3 GDB mod Increase portability. Use automatic port assignment
with bind().
(lib/otb/t/kreq/clientio.udp.c)
5/3 GDB mod Reorder header files.
(otb/spawn/spawn.c)
5/3 RBD mod Lock file = username@hostname.
Get username from password file entry.
(otb/sys/kernel/kkill.c, tools/tkill/tkill.c)
5/3 GDB mod Use off_t with ftruncate().
(otb/sys/kernel/kkill.c)
5/4 RBD mod No ftok() declaration for SGI.
(lib/otb/t/kreq/clientio.msg.c,
otb/sys/kernel/kernelio.msg.c,
tools/tkill/kio.msg.c)
5/4 RBD mod Include <sys/select.h> for AIX.
(lib/otb/t/kreq/clientio.udp.c)
5/4 RBD mod Declare cleanup() and include <stdlib.h> for malloc().
(otb/tping/tping.c)
5/4 RBD mod Declare _kio to be extern.
(otb/sys/bufferd/bfcreate.c)
5/4 RBD mod Comment out the "extern int" function declarations.
Compact the buffer filling in conv_stat().
(otb/sys/filed/fface.c)
5/4 RBD mod Upgraded to support LAM.
(tools/hboot/hboot.c,
share/boot/{confl.l, confy.y, y.conf.h},
share/boot/{nail.h, nail.c, naily.y})
5/4 RBD mod Did a cosmetic overhaul.
(share/boot/y.nail.h)
5/4 RBD fix Fixed nodeid skipping bug in _fnparse().
(share/freq/rfaux.c)
5/4 RBD mod Compact the buffer filling in conv_stat().
(share/freq/rfstat.c)
5/4 RBD mod Remove macros after #endif, make them comments.
(share/h/trillium/{FREQ.h, T_TYPES.h,
bufreq.h, shared.h, terror.h})
5/4 RBD mod Support new CPUs and new function interface.
(share/h/trillium/t_types.h)
5/4 RBD mod Support new CPUs.
(share/h/trillium/portable.h)
5/4 RBD mod Upgraded to support LAM and compute node definition.
(share/h/trillium/net.h)
5/4 GDB mod Move MAXNLINK from dlreq.h to machine.h.
(share/h/trillium/dlreq.h)
5/4 GDB mod Add EVBRENDAD.
(share/h/trillium/events.h)
5/4 GDB mod Rewrite for ITB/OTB portability.
(share/h/trillium/flatreq.h, preq.h)
5/4 GDB mod Initialize my nodeid and origin caches; facelift.
(share/kreq/kinit.c)
5/5 RBD mod Give full path to rsh to stop collisions with the
restricted shell, both named "rsh".
(share/boot/inetexec.c)
5/6 RBD mod Change the dl_oevent() constant to 64K.
(share/h/trillium/net.h)
5/6 RBD fix Change message byte order if not destined to dlo_inets.
This is a tighter test of message destination locality.
(otb/sys/dl_inet/dli_inet.c)
5/6 RBD mod Make castd support large number of links on a node.
(share/h/trillium/castreq.h, share/castd/castd.c)
5/6 GDB mod Change getnitb() to getncomp().
(otb/sys/filed/fcast.c)
5/7 GDB mod Add -ltstdio.
(tools/hcc/hcc.c)
5/7 GDB mod Remove stdio dependence.
(share/kreq/kinit.c, lib/otb/t/kreq/clientio.*.c)
5/7 RBD mod Use NT_WASTE instead of NT_COMP in SA-T router.
(otb/sys/sa_rtr/sa_rtr.c)
5/7 GDB mod recv_req() returns 0 so we can code a break
statement in the kernel for (;;) loop.
(otb/sys/kernel/kernelio.*.c, share/kernel/kernel.c)
5/7 GDB mod Change argument to lpattach(). Add a break
statement in the for (;;) loop.
(all OTB daemons)
5/7 GDB mod Cast yytext to (char *) because some machines
define it as (unsigned char *).
(share/boot/confl.l)
5/10 RBD fix Fix clashes betweeen Trollius stdio package and UNIX.
(share/h/trillium/tstdio.h, share/tstdio/*.c)
5/10 RBD mod Make NaIL parser more portable. Do not declare
malloc(), use <stdlib.h>; make yywrap() global.
(share/boot/naill.l)
5/10 RBD mod Portability: declare the "static int" do_* functions.
(share/bufferd/bufferd.c)
5/10 RBD mod Portability: declare the count_ntype() function.
(otb/sys/sa_rtr/sa_rtr.c)
5/11 RBD mod Get full machine names for all hosts in find_hosts().
(share/boot/nail.c)
5/11 RBD mod Get full name of machine dl_inet runs on.
(otb/sys/dl_inet/dl_mom.c)
5/11 RBD fix Set full hostname in 1-node networks with no hostname.
(share/boot/nail.c)
5/11 RBD fix Don't malloc() negative amounts in castd (sprout()).
(share/castd/castd.c)
5/14 RBD fix Do not re-initialize the route cache in getrentc().
(share/rreq/getrent.c)
5/14 JRV mod Add wrappers for getnodes (getitbs, getotbs, ...).
(share/h/trillium/h/net.h)
5/24 GDB fix BYSIZE test should be <=.
(itb/sys/mallocd/malist.c)
5/25 JRV fix Make all inherited files close-on-exec, not just stdio.
(tools/hboot/hboot.c)
5/25 JRV mod Extend parse_nodes to handle 'o', 'I', 'O', 'N', etc.
(share/args/parse_nodes.c, mnemonic.c)
5/25 RBD mod Change to new NaIL pretty-printing format.
(share/boot/nail.c)
5/25 RBD mod Delete pvm pretty-printing format.
(share/boot/parsepvm.c)
5/25 RBD mod Change to new pretty-printing format.
(tools/lamboot/lamboot.c, tools/recon/recon.c,
tools/wipe/wipe.c)
5/27 JRV mod Removed redundant NOTNODE and NOTPROCESS definitions.
(share/args/range.h)
5/27 RBD mod Add the default host file "bhost.def".
(share/boot/nail.h)
5/27 RBD mod Upgrade recon/lamboot/wipe to handle host files.
(tools/recon/recon.c, tools/lamboot/lamboot.c,
tools/wipe/wipe.c)
6/18 RBD fix Fix route caching bug in ahs_kick() call in getrentc().
(share/rreq/getrent.c)
6/18 GDB mod Pass RTF_SYSGEN through TROLLIUSHOME. kisysgen()
is obsolete.
(tools/hboot/hboot.c)
6/23 JRV fix Fix stupid cut-paste bug in remapfd().
(share/tstdio/iomap.c)
6/25 JRV fix Make stdout, stdin, and stderr point to /dev/null,
rather just closing; Fortran doesn't like that.
(tools/hboot/hboot.c)
6/29 RBD fix Exclude NT_CAST nodeids from HOST2ITB predef.
(share/etc/predef.c)
7/2 RBD mod Added mnnodeid() to get a nodeid from a node mnemonic.
(share/args/mnemonic.c)
7/6 RBD mod Remove selection by load address in parse_procs().
(share/args/parse_procs.c)
7/6 JRV mod Facelift and upgrade arg parsing.
(otb/doom.c)
7/6 JRV mod Facelift and upgrade mnusage().
(otb/state.c)
7/6 JRV mod Update program name on multiple lpattach()s.
(otb/sys/kenyad/pqdetach.c)
7/9 RBD mod Modify request and state kenyad structures.
(share/h/trillium/preq.h)
7/9 RBD mod Add support for host network address.
(share/boot/nail.h, share/etc/bootsockio.c,
tools/lamboot/{lamboot.c, lamface.c},
otb/sys/dl_inet/dl_mom.c)
7/9 RBD mod Use kenter() and new panic() and do a face-lift.
(share/castd/{castd.c, combine.c},
share/echod/echod.c, otb/sys/lamrouter/lamrouter.c)
7/9 RBD mod Use new panic() and non-block. nrecv() + face-lift.
(share/dld/dld.c)
7/9 RBD mod Repeat the call after an EINTR error.
(share/etc/{mread.c, mwrite.c})
7/9 RBD mod Don't search absolute paths in findpath().
(share/etc/search.c)
7/9 RBD mod Support host network addr. + repeat call after EINTR.
(share/etc/sockface.c)
7/9 RBD mod Functions replace old macros to "do_" function.
(share/nreq/{drecv.c, dsend.c, nrecv.c, nsend.c)
7/9 RBD mod Change do_frecv() to frecv(). remove V.C. support.
(share/nreq/frecv.c)
7/9 RBD mod Change SA-T header and do a face-lift.
(tools/hboot/saboot)
7/9 RBD mod Use new access to root host info in bschema structure.
(tools/recon/recon.c, tools/wipe/wipe.c)
7/9 RBD mod Allow command multicasting from origin node only.
(otb/doom/doom.c)
7/9 RBD mod Overhaul loadgo to better support LAM.
(otb/loadgo/loadgo.c)
7/9 RBD mod Modify dl_inet to use interrupts for the new kernel.
(otb/sys/dl_inet/{dli_inet.c, dlo_inet.c})
7/9 RBD mod Overhaul loadd for LAM.
(otb/sys/loadd/loadd.c)
7/12 JRV mod Added expand_nodes() to libargs.
(share/args/parse_nodes.c)
7/12 JRV mod Minor facelift and upgrade arg handling for LAM.
(otb/{bfstate.c, buffer.c, cast.c, cstate.c, fstate.c,
tfile.c, tping.c})
7/12 GDB mod Reverse flag polarity. RTF_NOWAIT becomes RTF_WAIT.
(otb/sys/kenyad/pqdetach.c, pqspawn.c,
otb/loadgo/loadgo.c, lib/otb/trillium/lpattach.c)
7/12 GDB mod Check malloc() error.
(share/T/freq/TOPEN.c)
7/12 GDB mod Remove several useless F77 wrappers.
(share/T/)
7/12 GDB mod Add KENTER() F77 wrapper.
(share/T/kreq/KINIT.c)
7/12 GDB mod Add IGNCMP() and remove IGNCST().
(share/T/nreq/GETNTYPE.c)
7/13 RBD mod Overhaul F77 byte ordering routines.
(share/T/nreq/{LTOT.c, TTOL.c})
7/15 JRV fix Fix bad pointer reference in expand_el().
(share/args/parse_nodes.c)
7/15 RBD mod Add -lsun for SGI machines in the hcc tool.
(tools/hcc/hcc.c)
7/15 RBD mod Declare reply2agent() a static function in dl_inet.
(otb/sys/dl_inet/dl_mom.c)
7/17 GDB mod Overhaul error codes one more time for LAM.
(share/etc/terror.h, share/h/trillium/terror.h)
7/17 GDB mod Upgrade to new kernel. Change panic() argument.
(share/bufferd/bfworker.c, bufferd.c)
7/17 GDB mod Upgrade to new kernel.
(share/h/trillium/kio.h, ksignal.h, priority.h)
7/17 GDB mod Remove useless constants. Add HOME, the default
installation directory.
(share/h/trillium/typical.h)
7/19 GDB mod Revise for LAM.
(share/h/trillium/net.h, share/kreq/kexit.c, kinit.c,
ksignal.c ktrace.c)
7/19 GDB mod Change to standard naming.
Add local node optimization.
(share/trillium/rpstate.c, rpdoom.c)
7/20 RBD mod Change host network address to 4 unsigned bytes.
Enhance error reporting in booting step.
(otb/sys/dl_inet/dl_mom.c, share/boot/nail.h,
share/etc/{bootsockio.c, sockface.c},
tools/lamboot/{lamboot.c, lamface.c})
7/20 RBD mod Use kenter() and set priority of filed.
(otb/sys/filed/filed.c)
7/20 RBD mod Open /dev/null in filed and make is Trollius fd #0.
Do not allow "/dev/" files to be opened for "read".
7/20 RBD mod Replace "." in user's path by loadgo's current dir.
(otb/loadgo/loadgo.c)
7/21 RBD fix Retry select() if EINTR error in accepttmout().
(share/etc/sockface.c)
7/21 GDB mod Revise parameters. Use new rpgo() and rpcreate().
(share/trillium/rploadgo.c)
7/21 GDB mod Change functionality from flat tag to file name.
Revise parameters and change to standard naming.
(share/trillium/rpcreate.c)
7/21 GDB mod Change parameter to message string.
(lib/otb/t/etc/panic.c)
7/21 GDB mod Remove SUCCESS. Don't panic.
(lib/otb/t/etc/ttime.c)
7/21 GDB mod Clean up kio before calling exec().
(lib/otb/t/kreq/kcreate.c)
7/21 GDB mod Upgrade to new kernel.
(otb/sys/bufferd/bfcreate.c, otb/sys/flatd/flatd.c)
7/22 GDB mod Upgrade to new kernel. Search for programs using
PATH. Fix process cleanup.
(otb/sys/kenyad/*)
7/22 GDB mod Overhaul for new kernel.
(otb/sys/kernel/kernelio.udp.c, kkill.c)
7/22 GDB mod Remove inter-user killing.
(tools/tkill/tkill.c)
7/22 RBD mod Add a fake exit point in dli_inet to fool optimizers.
(otb/sys/dl_inet/dli_inet.c)
7/27 RBD mod Accept "localhost" as the root hostname in find_root().
(share/boot/nail.lam.c)
8/17 RBD mod Add -ltools, -ltrillium, and -largs in hcc and hf77.
(tools/hcc/hcc.c, tools/hf77/hf77.c)
8/24 RBD fix Use rsh -n option to avoid rsh bug.
Close child process' dup2()'ed pipes.
(share/boot/inetexec.c)
8/25 RBD fix Close the pipes of the parent process in inetexec().
(share/boot/inetexec.c)
9/1 RBD mod Use new getroute() call.
(share/nreq/nsend.c)
9/2 RBD mod Add link #s in route table. Remove dumb route code.
(otb/sys/lamrouter/lamrouter.c)
9/2 RBD mod Change getroute() interface and remove getroute2().
(share/rreq/getrent.c)
9/2 RBD mod Change rsetroute() interface + face-lift.
(share/rreq/rsetroute.c)
9/2 RBD mod Support independent link # and event in castd and dld.
(share/castd/{castd.c, combine.c}, share/dld/dld.c)
9/3 RBD mod Support independent link # and forwarding event.
(share/h/trillium/rreq.h)
9/7 RBD mod Upgrade ncombine() to new bufferd: NOBUF drecv().
(share/nreq/ncombine.c)
9/15 RBD mod Declare ANSI C and C++ function prototypes.
(share/h/trillium/{all_hash.h, all_list.h,
all_queue.h, all_slist.h, castreq.h, ereq.h,
freq.h, ksignal.h, ktrace.h, preq.h, t_types.h,
terror.h, trreq.h, tstdio.h})
9/16 GDB mod Add errno declaration.
(share/h/trillium/terror.h)
9/24 RBD mod Block signals before nsend() in do_rcstate().
(share/trillium/rcstate.c)
9/24 RBD mod Add multiplication combining, remove cask(),
keep count of fully reeled messages + face-lift.
Upgrade castd to support the new buffering and
combine all supported data types.
(share/h/trillium/castreq.h, otb/cstate/cstate.c,
share/cast/{castd.c, combine.c})
10/4 GDB mod Restructure for lint.
(lib/otb/t/kreq/kcreate.c)
10/12 JRV fix Mod for SCO ANSI C compilation.
(share/tstdio/{tscan.c, tfprint.c})
10/13 GDB fix Add kr_sigs, for status as opposed to delivered
signals.
(share/kreq/kstate.c)
10/13 RBD mod Verify with ki_pid, not RTF_KERNEL.
(share/kreq/kinit.c, kexit.c)
10/13 GDB mod Add ki_siglast, the last signal received.
(share/kreq/krecv.c, ksend.c, kwait.c)
10/13 GDB mod Rewrite, given new kernel.
(share/dld/dld.c, share/h/trillium/dlreq.h)
10/13 GDB mod Add SIGARECV, for arecv() support.
(share/h/trillium/ksignal.h)
10/13 GDB mod Add ki_siglast and ki_pid.
(share/h/trillium/kio.h)
10/13 GDB mod Add separate preempt flag, request.
Add kr_sigs, for status as opposed to delivered
signals.
(share/h/trillium/kreq.h)
10/13 GDB mod Remove rq_src_node. Router does not handle remote
requests.
(share/h/trillium/kreq.h)
10/13 GDB mod Changes reflect new bufferd, PRMAX for KSUPER, groupd.
(share/h/trillium/priority.h)
10/13 GDB mod Add errno and other miscellaneous changes.
(share/h/trillium/terror.h)
10/13 GDB mod Rrnodewait() becomes getnewnode().
(share/rreq/rrnodewait.c, getnewnode.c)
10/13 GDB mod Remote remote replies. Use KSUPER.
(share/rreq/getnet.c, getnodes.c, getrent.c,
getsmart.c, rroute.c, rsetroute.c)
10/13 GDB fix Move ksigblock() before nsend() due to new kernel.
(share/trillium/lpdetach.c, recho.c, rflat.c,
rflclean.c, rget.c, rload.c, rp*.c,
lib/otb/t/nreq/lpattach.c)
10/13 GDB mod Verify with ki_pid, not RTF_KERNEL.
Remove ESURRENDER.
(lib/otb/t/kreq/clientio.udp.c, couter.c)
10/14 GDB mod Use prototypes from header file.
(otb/state/state.c)
10/14 GDB mod Always use buffers.
(otb/sys/filed/fqstate.c, otb/sys/kenyad/pqdetach.c,
pqstate.c)
10/14 GDB mod Add a couple of declarations.
(otb/sys/kernel/kernelio.udp.c)
10/14 GDB mod Add KPENDING, KPREEMPT and KQPREEMPT.
Re-organize mainline for KPENDING and to repair
signal delivery bug.
(otb/sys/kernel/kouter.c)
10/14 GDB mod Add KSUPER.
(share/kernel/kinner.c)
10/14 GDB mod Do not attach to kenyad and never use buffers.
Separate datalink events and links.
(otb/sys/lamrouter/lamrouter.c)
10/14 RBD mod Add EVGROUPD, change EVBUFFER to EBVFORWARD and
change the datalink events.
(share/h/trillium/events.h)
10/14 RBD mod Added nh_dl_link (output link #) to struct nmsg.
Added ANSI C and C++ function prototypes.
Cleanup/upgrade of nh_flags constants.
Fixed typo in getjones() macro.
10/14 RBD mod Getrentc() replaces getroute2() in shared library.
(share/h/trillium/shared.h, itb/sys/shared/shared.c)
10/14 RBD mod Support UDP communication between OTB nodes.
Maintain the OTB nodes order as in the boot schema.
(share/boot/nail.h, share/boot/nail.lam.c)
10/14 GDB mod Add PRBFORWARD.
(share/h/trillium/priority.h)
10/14 GDB mod Upgrade to new bufferd.
(share/trillium/bfprobe.c, rbfstate.c,
otb/bfstate/bfstate.c, otb/buffer/buffer.c)
10/15 RBD mod Store (test) pid to indicate (check if) the process
is attached to the kernel.
(lib/otb/t/kreq/{kdetach.c, clientio.msg.c})
10/15 RBD mod Upgrade dl_inet to support multiple links and reliably
use UDP socket for inter-dl_inet communication.
(otb/sys/dl_inet/{dl_mom.c, dli_inet.c, dlo_inet.c})
10/15 RBD mod Add support for the dl_inet UDP port.
(share/etc/bootsockio.c)
10/15 RBD mod Pass -v to tkill in wipe debug mode only.
(tools/wipe/wipe.c)
10/15 RBD mod Pass -v to hboot in lamboot debug mode only.
Print the hostname of the node being booted.
(tools/lamboot/lamface.c)
10/15 RBD mod New lamboot strategy: get host ports right after
booting the node, and don't get final ACK from hosts.
(tools/lamboot/lamboot.c)
10/15 RBD mod Block signals before nsend() + face-lift.
(share/trillium/rcast.c)
10/15 RBD mod Don't use buffers, change nsend() to dsend().
(share/trillium/ldlattach.c)
10/15 RBD mod Add EINGROUP and EGMAXPROC, remove ESURRENDER.
(share/etc/terror.c)
10/15 GDB mod Declare collect().
(otb/bfstate/bfstate.c)
10/15 GDB mod Declare static functions. Include select.h for AIX.
(otb/sys/dl_inet/dlo_inet.c)
10/15 RBD fix Handle the no-node case in rqgetnodes().
(otb/sys/lamrouter/lamrouter.c)
10/15 RBD mod Declare forkdlio().
(otb/sys/dl_inet/dl_mom.c)
10/15 RBD mod Change function names to recvmessage(), sendmessage().
(otb/sys/dl_inet/dlo_inet.c)
10/15 RBD fix Pass the -s option to hboot for remote nodes only.
(tools/lamboot/lamface.c)
10/15 GDB fix Do not malloc() 0 bytes.
(otb/bfstate/bfstate.c)
10/15 GDB fix Free() only space from malloc().
(otb/loadgo/loadgo.c)
10/15 RBD fix Use dl_inet header to communicate to other dl_inets.
Trollius header has char *, and sizeof(char *) varies.
(otb/sys/dl_inet/{dl_inet.h, dli_inet.c, dlo_inet.c})
10/18 GDB fix Skip loop on -c, -a, before printing anything.
(otb/fstate/fstate.c)
10/18 RBD fix Detach from kernel after receiving neighbour info.
(otb/sys/dl_inet/dl_mom.c)
10/18 all rel Ohio LAM 2.2.3.3
10/25 RBD mod Check for duplicate hosts in topology tools.
(share/boot/nail.lam.c)
10/29 RBD mod Add default -I and -L paths after the user command.
(tools/hcc/hcc.c, tools/hf77/hf77.c)
11/9 RBD mod Add PRGROUP.
(share/h/trillium/priority.h)
11/9 RBD mod Add EGSINGLETON.
(share/etc/terror.c, share/h/trillium/terror.h)
11/11 RBD mod Add EBADGROUP and EGNOTPROC.
(share/etc/terror.c, share/h/trillium/terror.h)
11/12 RBD mod Include <greq.h> in net.h for convenience.
(share/h/trillium/net.h)
11/12 RBD mod Move the combining functions to libt.a.
They will be used by castd and group communication.
(share/castd/combine.c)
11/17 GDB mod Pass filename to kkillopen().
(otb/sys/kernel/kkill.c, kernelio.udp.c)
11/17 RBD fix Make find_root() change "localhost" to the hostname.
(share/boot/nail.lam.c)
11/21 RBD fix Handle the case where malloc() fails.
(share/T/etc/TERROR.c)
11/22 RBD fix Make KENTER() call malloc() before kinit().
(share/T/kreq/KINIT.c)
11/22 RBD mod Add rcasttype() wrapper and do a face-lift.
(share/T/trillium/RCAST.c)
11/23 RBD mod Add the predefexp() stub (full Trollius version).
(share/etc/predef.c)
11/23 GDB mod Add new prototypes; remove old ones.
(share/h/trillium/net.h)
11/23 GDB fix Do not copy network message descriptor.
(share/nreq/arecv.c)
11/23 RBD mod Make tping accept multiple nodes + face-lift.
(otb/tping/tping.c)
11/23 RBD mod Make these command work with and without castd.
(otb/buffer/buffer.c, otb/doom/doom.c,
otb/loadgo/loadgo.c)
12/1 RBD mod Upgrade NET.h to the new F77 wrappers.
(share/h/trillium/NET.h)
12/2 GDB fix Increment nh_msg by byte count.
(share/trillium/rbfstate.c)
12/2 RBD mod Open filed stdio on origin node only.
(otb/sys/filed/filed.c)
12/5 GDB mod Convert to internal process.
(share/bufferd/bufferd.c, share/echod/echod.c,
share/router/router.c, share/h/trillium/rreq.h)
12/5 GDB mod Add buckeye daemons.
(share/h/trillium/priority.h)
12/5 GDB mod Add parent node and event to status record.
(share/h/trillium/preq.h, share/trillium/rpstate.c,
otb/sys/kenyad/pqdetach.c, pqstate.c)
12/5 JRV fix Repair function header comment.
(otb/doom/doom.c)
12/6 GDB mod Use one way protocol.
(lib/otb/trillium/lpattach.c,
otb/sys/kenyad/pqdetach.c)
12/6 GDB mod Define KPKTLEN (used to be in kreq.h).
(lib/otb/t/kreq/clientio.udp.c)
12/6 GDB mod Remove -t option to router.
(tools/lamboot/lamboot.c, lamface.c)
12/7 GDB mod Add const to prototypes.
(share/h/trillium/kreq.h)
12/8 GDB mod Add PRBRENDAD.
(share/h/trillium/priority.h)
12/8 GDB mod Support internal processes.
(share/kernel/kinner.c, otb/sys/kernel/kouter.c,
kernelio.udp.c)
12/8 rel Ohio LAM 2.2.6
12/11 RBD mod Use const in prototypes in several header files.
12/16 JRV fix Change LOCAL to getnodeid() for remote requests.
(otb/loadgo/loadgo.c)
12/16 JRV mod Upgrade to make flatd stateless.
(share/trillium/rflat.c, otb/sys/flatd/flatd.c,
share/trillium/h/trillium/flatreq.h)
12/20 JRV mod Add more robust error handling.
(share/h/trillium/flatreq.h, otb/sys/flatd/flatd.c)
1/4/94 RBD mod Make prime package not rely on libm (sqrt()).
(share/etc/prime.c)
1/4 RBD mod Add support for gudie(), gwipe(), and group names.
(share/h/trillium/greq.h, share/groupd/groupd.c)
1/7 RBD fix Include <net.h> to fix getroute() prototype.
(share/h/trillium/rreq.h)
1/7 RBD fix Fix ahs_init() prototype.
(share/h/trillium/all_hash.h)
1/7 RBD mod Change lfreeall() to return void + face-lift.
(share/trillium/rmalloc.c)
1/7 RBD mod Make list elements (void *) instead of (char *).
(share/h/trillium/{all_list.h, all_slist.h},
share/trillium/etc/{all_list.c, all_slist.c})
1/7 RBD mod Make system macros compiler-independent.
(share/h/trillium/{portable.h, t_types.h})
1/7 RBD mod Use new SGI system macro.
(tools/hcc/hcc.c, tools/hf77/hf77.c)
1/7 RBD fix Do not modify string, use internal copy + face-lift.
(share/args/split.c)
1/8 GDB mod Remove dependence on bootreq.h.
(share/boot/conf.c)
1/8 RBD mod Remove const from functions and prototypes.
(share/h/trillium/{all_hash.h, all_list.h,
all_queue.h, all_slist.h}, share/etc/all_list.c)
1/8 RBD mod Use getcltstrsock() without timeout in precvopen().
(lib/otb/t/nreq/precv.c)
1/9 RBD mod Remove -lT from hf77.
(tools/hf77/hf77.c)
1/9 RBD mod The F77 wrappers are in libt and libtrillium now.
LibT no longer exist.
1/11 RBD mod Upgrade dl_inet to a sliding-window protocol
(otb/sys/dl_inet/{dl_inet.h, dli_inet.c, dlo_inet.c})
1/12 RBD mod Do not exchange nodeid between dl_inet and lamboot.
(share/etc/bootsockio.c, tools/lamboot/lamboot.c,
otb/sys/dl_inet/dl_mom.c)
1/12 RBD mod Upgrade state to print blocking function name.
(otb/state/state.c)
1/13 GDB mod Reconfigure as internal process.
(share/dld/dld.c, dl_main.c)
1/15 RBD mod Make dlo_inet a separate program initialized by
dli_inet. Remove valve signals, use message passing.
(otb/sys/dlo_inet/dlo_inet.c)
1/18 RBD mod Make dli_inet a separate program.
(otb/sys/dli_inet/dli_inet.c)
1/18 JRV mod Add event parsing with 'e' to parse_procs().
(share/args/parse_procs.c)
1/18 JRV mod Refit libpvm to remove brendad, and misc. polishing.
(share/pvm/bfprobew.c, bfrecvw.c, bufutil.c, config.c,
group.c, initsend.c, kill.c, pvmdata.h, recv.c, send.c,
spawn.c, tasks.c)
1/27 JRV mod Remove lpvmd from the dungeon.
(otb/sys/lpvmd)
1/27 JRV fix Remove remapfd() from tstdio.
(share/tstdio/iomap.c)
1/31 JRV mod Reinsert stdin redirection.
(otb/loadgo/loadgo.c)
2/4 RBD mod Add group caching.
(share/greq/{gexch.c, ggetgroup.c, ggetproc.c, grecv.c,
gsend.c, gsimple.c}, share/h/trillium/greq.h)
2/4 RBD mod Limit # pending messages per link.
(share/h/trillium/dl_inet.h)
2/4 RBD mod Add events: EVMPI, EVPVM, EVDLOINIT, EVTIMEOUTD.
(share/h/trillium/events.h)
2/4 RBD mod Add priorities: PRTIMEOUTD, PRPVMMSG, PRPVMTASK.
Bump up the value of PRDLI.
(share/h/trillium/priority.h)
2/4 GDB mod Save priority in kio.
(lib/otb/t/kreq/kattach.c)
2/4 GDB mod Use portable kbgetpid().
(lib/otb/trillium/lpattach.c)
2/7 RBD mod Set TCP_NODELAY on the psend() socket.
(lib/otb/t/nreq/psend.c)
2/11 RBD mod Use f2cstring() in libpvm F77 wrappers.
(share/pvm/LIBPVM.c)
2/15 GDB mod Rewrite as a wrapper for rpstate() and rploadgo().
(share/trillium/rpspawn.c)
2/15 GDB mod Revise for ANSI C and small facelift.
(share/trillium/rload.c)
2/15 GDB mod Revise bufferd request codes.
(share/trillium/rbfparms.c, rbfstate.c, rbfsweep.c)
2/15 RBD mod Include <stdlib.h> for malloc().
(share/boot/confy.y)
2/15 RBD mod Include <string.h> + face-lift.
(share/freq/rfwrite.c)
2/15 RBD mod Add -lsocket and -lnsl for Solaris machines.
(tools/hcc/hcc.c, tools/hf77/hf77.c)
2/15 RBD mod Use setvbuf() instead of setlinebuf().
(otb/sys/kernel/kkill.c)
2/15 RBD mod Upgrade to use POSIX signal blocking.
(lib/otb/t/kreq/{couter.c, kattach.c,
kdetach.c, kwait2.c})
2/15 RBD mod Use getcwd() in Solaris.
(share/etc/getworkdir.c)
2/15 RBD mod Change <strings.h> to <string.h>.
(lib/otb/trillium/lpattach.c)
2/15 RBD mod Remove memcpy() declaration.
(lib/otb/t/etc/sockface.str.c)
2/15 RBD mod Upgrade to use the CONST macro.
(share/trillium/recho.c)
2/16 RBD mod Add homogeneous system option to lamboot.
(tools/lamboot/{lamboot.c, lamface.c})
2/16 GDB mod Convert to internal process.
(otb/sys/dli_inet/dli_inet.c,
otb/sys/dlo_inet/dlo_inet.c, otb/sys/filed/*,
otb/sys/flatd/flatd.c, otb/sys/kenyad/*,
otb/sys/loadd/loadd.c, share/bforward/bforward.c,
share/groupd/groupd.c, share/h/trillium/lreq.h,
share/h/trillium/preq.h)
2/16 RBD mod Add selective sweeping by event and pid.
Change the command name from buffer to bfctl.
(otb/bfctl/bfctl.c)
2/16 GDB mod Add kbgetpid().
(otb/sys/kernel/kiproc.c)
2/16 GDB mod Complete internal process support.
(otb/sys/kernel/kernelio.udp.c, kouter.c,
share/kernel/kinner.c)
2/16 GDB mod Revise interface and argument parsing.
(otb/sys/router/rtdinit.lam.c)
2/16 RBD mod Add the CONST macro.
(share/h/trillium/portable.h)
2/16 RBD mod Add SUN4_SOL
(share/h/trillium/portable.h)
2/16 RBD mod Change the default byte ordering. Add SUN4_SOL.
(share/h/trillium/t_types.h)
2/16 RBD mod Remove some consts in prototypes.
(share/h/trillium/args.h)
2/16 RBD mod Upgrade to use the CONST macro.
(share/kreq/ktrace.c, share/etc/terror.c,
share/freq/{rfopen.c, rfsimplex.c, rfstat.c,
rfwrite.c}, share/trillium/{rpcreate.c, rtrstore.c},
share/tstdio/{tfdopen.c, tfopen.c, tfputs.c,
tfwrite.c}, share/greq/{gexch.c, gsend.c},
lib/otb/trillium/lpattach.c)
2/16 RBD fix Fix recvfrom() bug.
mod Use POSIX signal blocking.
Don't use setlinebuf() and getdtablesize().
(lib/otb/t/kreq/clientio.udp.c)
2/16 GDB mod Revise node ID printing.
(share/args/mnemonic.c)
2/16 GDB mod Add "SQL" synchronization for other paradigms.
(share/bufferd/bufferd.c, share/h/trillium/bfreq.h)
2/16 GDB mod Change name of kill file. Agree with SysV constants.
(share/etc/kill.c)
2/16 GDB mod Add greq.h. Remove compatibility for ancient versions.
Remove link to/from event conversion. Revise datalink
filter types.
(share/h/trillium/net.h)
2/16 GDB mod Remove dlreq.h.
(share/nreq/dsend.c)
2/16 GDB mod Rename datalink type filter. Rename bfprobe() to
nprobe() and add compatibility wrapper for bfprobe().
(share/nreq/nrecv.c, share/nreq/nprobe.c)
2/16 GDB mod Rename datalink type filter. Pass my priority to
bufferd.
(share/nreq/arecv.c)
2/16 GDB mod Examine but do not parse arguments here.
(share/router/r_main.c)
2/16 GDB mod Facelift one more time. Change interface to rtdinit().
(share/router/router.c)
2/16 GDB mod Move getntype() from getnet.c to getnodes.c.
(share/rreq/getnet.c, getnodes.c)
2/16 GDB mod Change buffer to bfctl.
(otb/bfctl/sweep)
2/17 RBD fix Use <string.h> not <strings.h>.
(share/trillium/rget.c)
2/17 RBD mod Cast filename to non-const (char *).
(share/trillium/rload.c)
2/17 JRV fix Add 'const' for gcc. Fix bad realloc ptr use.
mod (share/pvm/{bfrecvw.c, bufutil.c, config.c,
group.c, pack.c, perror.c, recv.c, send.c, spawn.c,
unsup.c})
2/17 JRV mod Make "O" the default node selection.
(otb/pvmmsg/pvmmsg.c)
2/17 RBD mod Replace getdtablesize() by a reasonable constant.
(tools/hboot/hboot.c)
2/17 RBD mod Use getcwd() in Solaris.
(otb/sys/filed/fface.c)
2/17 GDB fix _kio is extern.
(share/nreq/arecv.c)
2/18 GDB mod Use portable _lam_signal().
(lib/otb/t/kreq/clientio.udp.c, couter.c,
otb/sys/kenyad/kenyad.c, otb/sys/kernel/kernelio.udp.c)
2/18 RBD mod Include <sys/types.h> and <netdb.h>.
(lib/otb/t/nreq/psend.c)
2/18 GDB mod No match on SELECT_APPL is not an error.
(otb/sys/kenyad/pqdoom.c)
2/18 RBD mod NOBUF dli_inet's ACK messages.
(otb/sys/dli_inet/dli_inet.c)
2/19 RBD mod Add compiler-dependent macros as a safety guard.
Force a parsing error if no system macros are defined.
(share/h/trillium/{portable.h, t_types.h})
2/19 GDB fix Do not assume that nh_msg points to msg.
(share/bufferd/bufferd.c)
2/21 GDB mod Initialize kio signal variables.
(otb/sys/lamd/kiproc.c)
2/21 GDB fix Rewrite message receive to be int/ext portable.
(share/bforward/bforward.c)
2/21 RBD mod Remove CUBIX backward compatibility functions.
(share/freq/{rf77.c, rfatexit.c, rfclose.c,
rfcubix.c, rfopen.c, rfread.c, rfsimplex.c,
rfstat.c rfwrite.c)
2/21 RBD mod Change some F77 f2c function names to remove
clashes with C functions on RS6K.
(share/etc/T.c, share/nreq/ARECV.c,
share/trillium/TRILLIUM.c)
2/22 GDB fix Make MAXOTBNLINK a large number.
(share/h/trillium/net.h)
2/22 GDB fix Malloc space for neighbour nodeids.
(share/bufferd/bufferd.c)
2/23 RBD mod Decrease # dlo_inet window slots to 8.
(share/h/trillium/dl_inet.h)
2/24 GDB fix Use argvglue() to pack argv.
(share/trillium/rpcreate.c, rploadgo.c)
2/24 GDB fix Use argvbreak() to unpack argv.
(otb/sys/kenyad/pqcreate.c, pqdetach.c)
2/24 GDB mod Remove patch_argv() and pack_argv().
(share/h/trillium/args.h)
2/24 GDB fix Save and restore nh_msg in buffer().
(share/bufferd/bufferd.c)
2/24 RBD mod Declare our own LAM_O_ file flags and use them.
Do the LAM -> UNIX flag conversion in fface.c.
(share/h/trillium/{freq.h, FREQ.h},
otb/fstate/fstate.c, otb/loadgo/loadgo.c,
otb/sys/filed/{fdesc.c, fface.c, fqcubix.c,
fqf77.c, fqopen.c, fqread.c},
share/freq/{rfcubix.c, rfopen.c, rfwrite.c})
2/25 GDB mod Use SIGKILL as last resort.
(tools/tkill/tkill.c)
2/28 rel Ohio LAM 2.2.7
3/7 JRV fix Don't argvbreak() null program names.
(otb/sys/kenyad/pqdetach.c)
3/7 JRV fix Use specific sync info to recv multipacket messages.
(share/pvm/recv.c)
3/14 JRV mod Pretty-print MPI and PVM events.
(otb/bfstate/bfstate.c)
3/15 GDB mod Keep a close count on the valve.
(otb/sys/dlo_inet/dlo_inet.c)
3/16 GDB mod You can't discern a dlo message, forwarded or not,
by just looking at nh_type.
(otb/sys/dlo_inet/dlo_inet.c)
3/16 GDB mod Rename to 2.2.8.
(tools/lamboot/lamboot.c)
3/21 RBD mod Add blocking types for gquorum() and gbarrier().
Do not block their doom signals.
(share/greq/{gquorum.c, gsimple.c})
3/22 GDB mod Allow the user to pass MPI world population from
loadgo to _kio in new processes.
(share/h/trillium/kio.h, preq.h, otb/loadgo/loadgo.c,
share/trillium/rpcreate.c, rpgo.c,
otb/sys/kenyad/pqcreate.c,
lib/otb/t/kreq/clientio.udp.c)
3/22 GDB mod Add extra sync information to sql requests.
Add a block sql probe request.
(share/bufferd/bufferd.c, share/nreq/bfrecvsql.c,
share/h/trillium/bfreq.h)
3/22 GDB mod Properly filter datalink ack messages.
(share/nreq/dsend.c)
3/23 RBD mod Add blocking-types for MPI, gbarrier() and gquorum().
(share/h/trillium/blktype.h, share/etc/blktype.c)
3/23 GDB mod Include DDLI in ack message.
(otb/sys/dli_inet/dli_inet.c)
3/24 GDB mod Add extra parameter for pq_world.
(otb/sys/kenyad/kenyad.c)
3/24 rel Ohio LAM 2.2.8
3/30 JRV fix Fix normalize loop for floats/doubles to check for 0.
(share/tstdio/tprint.c)
3/30 JRV fix Make pvm_gettid() find the right instance.
(share/pvm/group.c)
4/8 JRV fix Add PvmTaskDefault flag and fix parameter checking.
(share/pvm/spawn.c, share/h/trillium/pvm3.h)
4/20 RBD fix Add ok-to-connect protocol when creating the VC.
Block SIGUSR1 in psendopen() during accept().
Loop trying to connect() in precvopen().
(lib/otb/t/nreq/{psend.c, precv.c})
4/21 RBD fix Add support for hosts with multiple network interfaces.
(share/boot/nail.lam.c)
4/22 GDB fix Return badd node errors to client.
(otb/sys/loadd/loadd.c)
4/26 GDB fix Fool smart-ass compilers about abort().
(share/mpi/abort.c)
4/26 rel Ohio LAM 2.3
2.1
---
DATE AUTHOR STATUS DESCRIPTION
3/21/91 OSU rel Ohio Trollius 2.1
3/25 GDB fix Reorder headers and add conditional compilation
to avoid clashes on size_t in SunOS 4.1.
(lstt/itb/libc/stdio/fdopen.c, fopen.c,
lib/h/lstt/stddef.h)
3/27 RBD fix The dl_mom binary file is renamed dl_dev in the
b014 installation.
(machine/b014/bin/sys/dl_dev/Makefile)
3/27 RBD fix The filesys daemon is renamed filed in the B014
installation.
(machine/b014/tools/bin/confs/conf.{otb, SA})
3/27 RBD fix Added the exit(0) call to the export and cboot toolkit
layer programs, upon successful termination. This was
done in all three installations: nt1000, meiko, b014.
(machine/nt1000/tools/bin/cboot/cboot.c,
machine/nt1000/tools/bin/export/export.c,
machine/meiko/tools/bin/cboot/cboot.c,
machine/meiko/tools/bin/export/export.c,
machine/b014/tools/bin/cboot/cboot.c,
machine/b014/tools/bin/export/export.c)
4/1 RBD mod Upgraded the B014 version of the solder tool to
enable it to read the device name from the NaIL file.
(machine/b014/tools/bin/solder/solder.[ch])
4/4 GDB fix Use the portable ReadLink() in the b014 moses
not read()! (machine/b014/tools/bin/moses/mosesy.y)
4/8 GDB fix Rehabilitate export, cboot and thaw in b014 port
to conform to link.c standard.
4/8 GDB fix Clean up error checking in b014 dl_dev to conform
to link.c standard. (b014/bin/sys/dl_dev/dl_idiot.c)
4/8 GDB fix Replace b014 memory auto-sizer with more robust model.
(b014/itb/sys/mallocd/maconfig.c)
4/8 GDB fix Set DEFPCONFIG override in thaw Makefile to correct
directory.
4/10 GDB mod Change root transputer to host link number to 0
from 1 in b014 boot schemata.
4/15 RBD fix Added the exit(0) call to fish upon successful
termination. This was done in two installations:
meiko and b014 (nt1000 already had the exit(0)).
(machine/meiko/tools/bin/fish/fish.c,
machine/b014/tools/bin/fish/fish.c)
4/19 GDB fix Remove ack protocol from b014 dl_dev for
compatibility with dl_ortho.
(machine/b014/bin/sys/dl_dev/dl_idiot.c, dli_dev.c,
dlo_dev.c)
4/19 GDB fix Add dl_ortho program (similar to dl_meiko) for
the host connection of the device connected ITB node
in the b014 dungeon. This is not needed for the
b014 but for non device driver ports based on b014.
(machine/b014/itb/sys/dl_ortho)
4/19 GDB mod Seperate remote ITB reset portion of boot daemon
into machine dependent subdungeon.
(machine/*/itb/sys/bootd/btreset.c,
itb/sys/bootd/image.c, frozen.c)
4/24 GDB fix Remove hanging wires from the old filesys.
(bin/sys/kernel/kernelio.msg.c)
4/24 GDB rel VMTM port, 2.1
4/28 GDB mod Add F77 IATOI() to ITB and OTB.
(tools/otb/libT/etc/IATOI.c,
tools/uls/itb/libf77/gen/IATOI.c)
5/1 GDB fix Substitute local variable err for volatile errno.
(bin/sys/filed/fqread.c)
5/6 GDB fix Watch out for null prefix.
(lib/etc/search.c)
5/8 GDB fix What is GENESYS?
(uls/itb/libf77/uf77io/errmsg.c)
5/22 RBD fix Enhanced the portability of filed by adding a few
casts to int4.
(lib/freq/rfsimplex.c, lib/h/trillium/freq.h)
5/22 RBD fix Incremented the length of the do_getwd() string to
account for the NULL character.
(bin/sys/filed/fqsimplex.c)
5/23 RBD fix Modified the nail.l man page to refer to getnet.l
in regards to the node type bit field.
(man/nail.l)
5/26 RBD fix Fixed a typo in the error message of tping in the
case of a negative message size.
(bin/tping/tping.c)
5/26 RBD fix Check if the EOF is reached with a comment is still
open, while parsing a NaIL file.
(lib/boot/naill.l)
5/29 RBD fix Free the malloc'ed memory within trout_e().
Fixed a typo in the error message when malloc fails.
(bin/trout/trout.c)
6/03 RBD fix Corrected signal masking in ksigblock().
(lib/rreq/{getnet.c, getnodes.c, getrent.c,
rrattach.c, rroute.c, rsetroute.c},
lib/trillium/rmalloc.c)
6/04 RBD fix Fixed a bug in the precedence rules of the loop
termination expression in itoa(). Added an OTB
version of itoa(). Fixed the calling of ito() in
the ITB version of perror().
(tools/lstt/itb/libc/{gen/itoa.c, etc/perror.c},
tools/otb/libt/etc/itoa.c)
6/05 GDB fix I can't see any reason to modify the parent reply
event in kenyad and rpwait(). Beside, it was
implemented incorrectly. It has now been removed.
(lib/trillium/rpwait.c, itb/sys/kenyad/pdetach.c)
6/05 GDB fix Pass the pointer not the whole stat structure in
stat() and fstat(). (bin/sys/filed/fface.c)
6/05 RBD fix Enhanced the portability of code that was supposed
to be portable to the PC: the boring int/int4 question.
(lib/etc/all_queue.c, lib/boot/{nail.c, naily.y},
tools/bin/spread/spread.c)
6/10 RBD fix Changed both ITB and OTB itoa() to return nothing.
Fixed the itoa() call in the ITB perror().
This should have been done correctly the first time.
(tools/lstt/itb/libc/{gen/itoa.c, etc/perror.c},
tools/otb/libt/etc/itoa.c)
6/11 GDB mod Keep a better record of clients in chcx.
(bin/sys/filed/fqcubix.c)
6/27 VAR fix Deleted line in tsend.c which incorrectly set
nhead->nh_flags to 0. This was nullifying all
flags (e.g data conversion flags) set by user.
(lib/nreq/tsend.c)
7/10 RBD fix Fixed the function referencing in the byte-ordering
Fortran wrappers on the host. They call the C macros
instead of other Fortrans wrappers.
(tools/otb/libT/nreq/{TTOL.c, LTOT.c})
7/12 RBD fix Enhanced the portability of FTTOLF, FLTOTF and FRF
to run on all Sun architectures. Gave the files
a face-lift.
(tools/otb/libT/nreq/{TTOL.c, LTOT.c, REVERSE.c})
7/15 RBD fix Changed the words to be reversed to unsigned quantities
as they should be. This fixes a 'dirty code' problem
when using the ULS compiler.
(lib/etc/rw.c)
8/7 RBD fix Another place where local variable err replaces errno.
(bin/sys/filed/fqread.c)
10/3 GDB mod Add i860d and traced events.
(lib/h/trillium/events.h)
10/3 GDB mod Change SIGROUTE (never used) to SIGTRACE.
(lib/h/trillium/ksignal.h)
10/3 GDB mod Add runtime support for traced.
(lib/h/trillium/kio.h, lib/kreq/kinit.c,
lib/nreq/nrecv.c, lib/nreq/nsend.c,
lib/h/trillium/ktrace.h, lib/kreq/ktrace.c,
tools/itb/crt0/crt0.c)
10/6 GDB mod Change moses M_COLD to M_STTIMER.
(lib/h/trillium/moses.h, tools/lstt/itb/moses/moses.ts)
10/6 GDB mod Add function to synchronize neighbour's clock.
(itb/sys/bootd/bmoses.c, frozen.c, image.c)
10/8 GDB mod Add runtime support for traced.
(lib/trillium/rtrattach.c, rtrstore.c)
10/9 GDB mod Add OTB ldtimer() to match ITB function.
(tools/otb/libt/etc/ldtimer.c)
10/9 GDB mod Use upgraded portable.h.
(lots of files)
10/9 GDB fix Rmstate() was ill-designed and is substantially
rewritten.
(lib/trillium/rmstate.c)
10/9 GDB fix Receiving a zero length datagram seems to be a
bad idea.
(tools/otb/libt/kreq/clientio.udp.c)
10/9 GDB mod Allow mallocd descriptor blocks to be reported
by mstate as memory regions allocated to mallocd.
(itb/sys/mallocd/mallocd.c, madesc.c)
10/20 GDB mod Add static and dynamic list processing packages.
(lib/etc/all_list.c, all_slist.c)
10/20 GDB fix Use more modern, portable fcntl.h.
(lib/trillium/rdrain.c)
10/20 RBD mod Add static and dynamic hash table processing packages.
It replaces the old hashing functions.
(lib/etc/all_shash.c, nall_hash.c)
10/20 RBD mod Add static queue processing package and overhaul the
dynamic queue package to fit the new interface.
(lib/etc/all_squeue.c, all_queue.c)
10/20 RBD mod Add the string splitting function, split(), to libargs.
(lib/args/split.c)
10/20 RBD mod Make tsend/trecv compatible with nsend/nrecv.
(lib/nreq/tsend.c, trecv.c)
10/22 RBD mod Make TSEND/TRECV compatible with NSEND/NRECV.
(tools/itb/libf77/nreq/TSENDRECV.c,
tools/otb/libT/nreq/TSENDRECV.c)
10/24 GDB mod Declare global variables for tempermental compilers.
(lib/freq/rflseek.c, rfread.c, rfwrite.c)
10/24 GDB mod Make sure MAXPATHLEN is defined.
(lib/freq/rfsimplex.c)
10/24 RBD mod Add the Basic message passing calls: bsend/brecv,
sendb/recvb, and BSEND/BRECV.
(lib/nreq/bsend.c, brecv.c, sendb.c, recvb.c,
tools/itb/libf77/nreq/BSENDRECV.c,
tools/otb/libT/nreq/BSENDRECV.c)
10/27 GDB mod Change O_ASYNC to O_NOCBX to avoid conflicts.
(lib/h/trillium/freq.h, lib/freq/rfopen.c,
lib/freq/rfcubix.c, bin/sys/filed/fqopen.c)
10/27 GDB mod Change lseek() constants to Sys V world.
(bin/sys/filed/fqopen.c, bin/sys/filed/fdesc.c,
bin/sys/filed/fqf77.c)
10/27 GDB mod Use fcntl.h for open() flags.
(lib/kreq/kinit.c)
10/27 GDB mod Exit functions are declared type void.
(tools/otb/libt/kreq/clientio.udp.c)
11/1 GDB fix Correct cpp bug and include i860 and 386i.
(lib/h/trillium/t_types.h)
11/1 GDB fix Signal() accepts ptr to func returning void.
(bin/sys/kernel/clientio.udp.c)
11/10 GDB mod Minor overhaul of mallocd and friends fixes
several problems.
(every file related to mallocd)
11/11 RBD mod Moved is_prime() and next_prime() to lib/etc.
(lib/etc/prime.c)
11/11 GDB mod Add CRAY to t_types.h.
11/13 GDB mod Remove unportable pointer arithmetic.
(lib/kernel/kkenya.c)
11/13 GDB mod Don't allocate buffer space if length is 0.
(bin/tping/tping.c)
11/13 GDB mod Remove declarations for non-existant functions.
(bin/sys/sa_rtr.c)
11/19 GDB mod Malloc()'s argument is universally unsigned int,
not int4.
(bin/sys/filed/fqf77.c)
11/26 RBD mod Modified the NaIL parser and support functions to
use libtools and include a second route table.
(lib/boot/naily.y, nail.c, nail.h)
11/26 RBD mod Total redesign of the route tools support code.
(lib/boot/routeio.c, routeio.h)
11/26 RBD mod New rasm tool: less memory, less code, 2nd route table.
(tools/bin/rasm/rasm.c)
11/26 RBD mod Modified trout to use the new route support functions.
(bin/trout/trout.c)
11/26 RBD mod Modified spread to use libtools. Did a small face-lift.
(tools/bin/spread/spread.c)
11/26 RBD mod Overhaul of map: less memory, less code, 2nd route
table, use libtools, major face-lift.
(tools/bin/map/map.c, map.h, map_funct.c, map_route1.c,
map_route2.c)
11/27 RBD mod Modified some router requests to support the second
route table and added the new rrnodewait request.
(lib/rreq/getrent.c, rroute.c, rsetroute.c)
(lib/rreq/rrnodewait.c, lib/h/trillium/rreq.h)
11/27 RBD mod Added integer array byte ordering macros.
(lib/h/trillium/t_types.h)
11/27 RBD mod Modified the router to support the second route table
and use the functions in libtools. Added suport for
the RNODEWAIT request.
(lib/router/router.c)
11/27 RBD mod Modified the NT1000 solder tool to use libtools and
the new search module.
(machine/nt1000/tools/bin/solder/solder.c)
11/27 GDB fix Declare rmalloc(), bozo.
(tools/itb/libc/kreq/kpar_Fe.c)
12/3 GDB mod Make sure MAXPATHLEN is defined.
(bin/tfile/tfile.c)
12/4 RBD mod Added link weight option to route2 algorithm.
(tools/bin/map/map.c, map_route2.c, map.h)
12/9 RBD mod Moved the route file templates and constants from
routeio.h to rtio.h. DEFPROUTE is now in boot.h.
(lib/boot/routeio.h, rtio.h, boot.h)
12/16 GDB mod Add RTF_TRACE carry-over from parent.
(tools/itb/libc/kreq/kpar_Fe.c)
12/16 GDB mod Remove bootd runtime functions from shared library.
(lib/h/trillium/shared.h, itb/sys/shared/shared.c)
12/16 GDB mod Use tout module instead of bootd for load module
relocation work.
(itb/sys/kenyad/pcreate.c, pspawn.c)
12/16 GDB mod Use RTF_MALLOC as the initialization switch.
(tools/itb/libc/unix/malloc.c)
12/17 GDB fix Remove O_CREAT and O_TRUNC from the save Unix flags.
(bin/sys/filed/fqopen.c)
12/18 GDB mod Redecorate and bring up to date with 2.2 state
of the art.
(bin/launch/launch.c)
12/18 GDB mod Use int4 cast on constants in comparison operation.
(bin/fstate/fstate.c)
12/18 GDB mod Juggle sprintf value declarations.
(bin/state/state.c)
12/18 GDB mod Use NOCTTY and setsid() to get away from process
groups and controlling terminals.
Also add a Unicos interface for filed.
(bin/sys/filed/fface.c, fface.unicos.c)
12/20 GDB mod Permit the packages of a zero vector argv structure.
It only contains the null pointer.
(lib/args/pack_argv.c)
1/7 GDB fix Declare rmalloc().
(tools/itb/libc/kreq/kcreate.c)
1/10 GDB mod Use new tout module and toutrev() function.
(bin/sys/loadd/loadd.c)
1/10 GDB mod Add TID, the process's trace identifier.
(lib/h/trillium/kio.h, ktrace.h, lib/kreq/ktrace.c,
lib/nreq/nrecv.c, nsend.c)
1/11 GDB mod Overhaul integer constants and add string version
of pathname separator.
(lib/h/trillium/portable.h)
1/11 GDB mod Add the VERBOSE macro.
(lib/h/trillium/debug.h)
1/19 GDB mod Bring Fortran constants into sync with current
features.
(lib/h/trillium/FREQ.h, KREQ.h, NET.h, T_TYPES.h)
1/19 GDB mod Upgrade Fortran manual pages.
1/19 GDB mod Move dl_event() macro.
(lib/h/trillium/events.h, net.h)
1/19 GDB mod In support of the new bootd, remove a few undeserving
functions from the shared library and add a few
useful ones.
(lib/h/trillium/shared.h, itb/sys/shared/shared.c)
1/20 GDB fix findpath() never worked correctly. It now uses
access() instead of stat().
(lib/etc/search.c)
1/20 GDB mod Stoi() is now an int4 function. It should probably
be called stoi4(), but it's not.
(lib/etc/stoi.c)
1/20 GDB mod Take a first crack at abstracting the load module
format.
(lib/etc/tout.c)
1/20 GDB mod Former remote function members of the shared library
now *use* the shared library.
(lib/rreq/rroute.c, rsetnet.c, rsetroute.c)
1/20 GDB mod Replace old bootd remote functions with the new.
(lib/trillium/rboot.c, rpatch.c, rbt*.c)
1/21 GDB fix Exit explicitly as required in SunOS 4.1.1.
(uls/bin/tbn/main.c, tdis/main.c)
1/24 GDB mod Replace boot daemon with fully new model.
(machine/*/itb/sys/bootd, itb/sys/bootd,
lib/h/trillium/bootreq.h)
1/27 RBD fix Made errno returns consitent in the new hash library.
(lib/etc/nall_hash.c)
1/27 GDB mod Increase data structure limits in the kernel, bufferd
and kenyad.
(lib/h/trillium/kernel.h, bufreq.h,
itb/sys/kenyad/kenya.h)
1/27 GDB mod Remove ENOPORT.
(lib/h/trillium/terror.h, lib/etc/terror.c)
1/27 GDB fix Return ENOTNODE if node not found in route table.
(lib/router/router.c)
1/31 GDB mod Look at the environment for the boot schema filename.
(tools/bin/map/map.c, spread/spread.c, rasm/rasm.c,
machine/*/tools/bin/solder/solder.c)
1/31 GDB mod Upgrade spread to suit the new boot subsystem.
(tools/bin/spread/*.c)
2/1 RBD mod Cosmetic change in the help menu of spread.
(tools/bin/spread/spread.c)
2/3 GDB mod Add trace support.
(bin/loadgo/loadgo.c)
2/4 GDB fix Fully initialize new file descriptors.
(bin/sys/filed/fqopen.c)
2/6 GDB mod Let execv(3) locate programs.
(bin/launch/launch.c)
2/6 GDB mod Add data representation conversion open flags.
Change internal organization of descriptor list.
(bin/fstate/fstate.c, lib/h/trillium/freq.h,
bin/sys/filed/*)
2/12 GDB mod major dungeon reorganization
2/12 GDB mod Remove conditional non-Trollius compilation.
(tools/tsize/tsize.c)
2/23 GDB fix Initialize the error variable.
(share/trillium/rbtspread.c)
2/23 GDB mod Remove or #ifdef assembly macros file, c.h, to
facilitate make depend. (various)
2/23 GDB mod Allow make in the absence of ULS F77.
(lib/itb/T/freq/IUTOD.c)
2/23 GDB mod Change O_ASYNC to O_NOCBX.
(lib/itb/T/freq/RFCHCX.c, RUCHCX.c)
2/23 GDB mod toolkit layer overhaul
(share/boot/boot.h, *conf*)
2/23 GDB mod Add EVMTVD and move EVTRACED.
(share/h/trillium/events.h)
2/23 GDB mod As part of tkill project, init and cleanup
functions now return void.
(share/kreq/kinit.c, kexit.c)
2/23 GDB mod Add a link.c module for the nt1000..
(machine/nt1000/share/etc/link.c)
2/23 GDB mod Fish becomes tfish.
2/24 GDB mod Disallow C-style comments.
(share/boot/confl.l)
2/24 RBD fix Fixed a clash between C-style comments and strings
starting with '/' in the NaIL grammar.
(share/boot/naill.l)
2/24 GDB mod Add vendor solder tool.
(tools/share/h/machine/machine.h)
2/27 GDB mod Overhaul for robustness.
(lib/itb/t/etc/perror.c)
2/28 GDB mod Give our best effort on remote stat() and fstat().
(share/freq/rfsimplex.c, rfstat.c, rfstat.unicos.c,
otb/sys/filed/fface.c, fqsimplex.c)
2/28 GDB mod Replace move() with memcpy().
(share/nreq/drecv.c)
2/28 GDB mod Replace bcopy() with memcpy().
(share/nreq/getrent.c)
3/2 GDB mod Replace bcopy() with memcpy().
(share/freq/rfstate.c, share/trillium/rbfstate.c)
3/5 GDB fix Kludge termination event so as not to clash with
rloadgo().
(share/trillium/rpwait.c, itb/sys/kenyad/pdetach.c)
3/12 GDB fix Don't use rmalloc().
(share/router/router.c, otb/sys/sa_rtr/sa_rtr.c)
3/16 GDB mod Add i860 hooks. Replace bcopy() with memcpy().
(lib/itb/t/unix/malloc.c)
4/2 GDB fix Give adequate space to formatting buffer.
(otb/state/state.c)
4/4 GDB mod Always show last used (blocked or not) event
and type.
(share/kernel/kipc.c)
4/8 GDB mod Rewrite kill file when process detaches.
(share/kernel/kkenya.c, itb/sys/kernel/kernelio.c)
4/26 GDB mod Support buffer flow control.
4/27 GDB mod Enhance general robustness and give facelift.
(lib/otb/t/kreq/clientio.*.c)
4/27 GDB mod Overhaul machine independent code.
(machine/*/tools/solder/*)
4/27 GDB mod Add buffer flow control capability.
(dl*, share/bufferd/bufferd.c)
4/27 GDB mod Monitor user space threshold.
(otb/bfstate/bfstate.c)
4/27 GDB mod Control user space threshold.
(otb/buffer/buffer.c)
4/27 RBD mod Use new multicast procedure in commands.
(otb/buffer/buffer.c, doom/doom.c, load/load.c,
loadgo/loadgo.c, tping/tping.c)
4/27 GDB mod Print new verbose messages.
(otb/trout/trout.c)
4/27 GDB mod Enhance robustness and use new tkill procedure.
(otb/sys/kernel/kernelio.*.c)
4/27 GDB mod Add buffer flow control of user messages.
(share/bufferd/*, share/h/trillium/bufreq.h,
priority.h, share/nreq/dsend.c, share/router/router.c)
4/27 RBD mod Handle multireeling packet numbering in nsend().
(share/nreq/nsend.c)
4/27 RBD fix Tsend() sends the message body on a unique event
retuned by trecv() to fix same-event packet mixups.
(share/nreq/tsend.c, trecv.c)
4/27 RBD mod Use CFSYS message type in castd requests.
Add rcasttype() cast registration request.
(share/trillium/rcast.c, rcask.c)
4/27 RBD mod Add rwcpy() to byte-flip an array of integers.
Cosmetic changes and enhanced portability.
(share/etc/rw.c)
4/27 RBD fix Ttolcpy() and ltotcpy() macros call the rwcpy()
function. No variable clashes with the "i" index.
(share/h/trillium/t_types.h)
4/27 GDB mod Add support flags for buffering and pktizing.
(share/h/trillium/net.h)
2.0
---
DATE AUTHOR STATUS DESCRIPTION
2/20/90 GDB rel Homo erectus (beta) 2.0 release.
2/21 GDB fix Forgot to initialize last process descriptor to SFREE.
(kernel.c)
2/28 GDB fix Removed debris file, itb/libc/unix/kexit.c.
3/1 GDB fix major flaw: Floating variables "full" in all_hash.c
and "open_desc_count" in freq library were causing
conflicts with the shared resident library and were
removed. This fix resolved several small bugs.
3/1 GDB fix lstt/itb/Makefile and lstt/bin/Makefile did not
propagate the GROUP macro
3/6 GDB fix Placed #ifdef around tools/c.h for compatibility
with stand-alone system. (drecv.c)
3/6 GDB fix Added -l option. (bfstate.c)
3/11 RBD fix Added NT_CAST to typemask of getnotb macro. (net.h)
3/14 RYL mod Upgraded several man pages.
3/27 MB fix Upgraded print.c to 89.1 LSTT. (lstt/itb/libc/stdio)
3/27 GDB fix Added GROUP macro defintion in lstt/itb/Makefile.
4/6 VSD fix Modified all *SENDRECV files in /tools/otb/libT
and /tools/itb/libf77. Changed int ndsize to
int *ndsize to take care of FORTRAN-C interface.
Made changes to ensure the same order of
parameters for OTB and ITB calls.
4/11 RBD fix In tkill: added quotes around the userid of the
notified person so that it does not interfere
with the aliases in the .mailrc of the "killer".
4/26 RBD mod Added yywrap() in naill.l returning 1.
4/26 RBD mod Upgrade of spread to work also on PC Trollius.
Disable the tkill, hboot and its trout and invoke
tserver at the end for PCT, stay the same for Unix.
Added -o option passing to vboot for PCT. General
beautify for spread (comments, tabs and modularity).
4/26 RBD mod Added NT_ERROR, NOTTYPE and tisbad() in net.h
to handle error conditions for the future gettype().
5/2 VSD fix Changed D***DATA to D***MSG for nh_msg field in
bin/sys/dl_dev/dli_dev.c and dlo_dev.c.
5/3 GDB fix For some reason, RCS directories did not exist in
tools/itb/libf77, though the RCS files did exist.
5/3 GDB fix Removed debris file tools/itb/libc/unix/ppdep.
5/6 RBD mod Added the bfprobe function and its C man-page.
5/9 GDB fix Removed debris file lib/h/trillium/router.h.
5/10 RBD mod Removed the caching code from nsend. Routing
caching is done by the new function getrentc.
Getrtype was added and getroute changed. They
both call getrentc which invokes the router via
getrent. Makefiles and rreq.h were slightly
modified for the new setup.
5/13 RBD fix Modified the RGETROUTE request in the router so
that it returns route table entries as is without
modifying the r_event field for a local node.
Getroute() handles the case of a local node by
returning the destination event, and nsend() does
not check for this condition anymore. This solves
a cache consistency problem in case getroute() is
called for the local node following a getrtype() call
for that node. (lib/router/router.c)
5/15 GDB fix Correctly set k_index in kernel descriptor upon
re-attachment of a client process. This was causing
multiple calls to kinit() to fail if interspersed
with other kernel calls. (lib/kernel/kkenya.c)
5/16 RBD mod Installed the man page for getrent(), getrentc(),
getroute() and getrtype().
5/16 GDB mod State prints very negative event numbers in
hexadecimal notation. (bin/state/state.c)
5/16 GDB fix Added extra reply from flatd to its client to ensure
that the data is loaded before the client starts
announcing the tag value. (lib/trillium/rflat.c,
itb/sys/flatd/flatd.c)
5/19 RBD mod Modified RGETROUTE in sa_rtr to handle the getrent
functions. It returns NOTEVENT do indicate the
local node and NT_OTB to indicate an otb node.
Also modified RGETNTYPE to allow true nodetype
masking. (bin/sys/sa_rtr/sa_rtr.c)
5/22 RBD mod Installed the new bfprobe.l and getrent.l man
pages (enhanced by Ros). Created a stub Makefile
under man/lstt to enable installing the man pages
with no error reports.
6/1 GDB fix Upgraded select() on KATTACH to use more robust
Unix file descriptor bit masks. This is needed by
SunOS 4.0 and hopefully is Unix portable.
(tools/otb/libt/kreq/clientio.udp.c)
6/1 GDB fix Removed stray debugging message.
(tools/otb/libT/freq/TOPEN.c)
6/1 GDB fix Removed stray y.tab.h in tools/bin-mc68020/moses.
6/1 GDB fix Various lex and yacc files did not originally find
their way into RCS.
6/4 GDB fix ITB panic now stores error code and stack location
into onchip RAM locations noted in mareq.h.
(lib/h/trillium/mareq.h, tools/itb/libc/etc/panic.c)
6/5 GDB fix Corrected invocation of intparam().
Abided by the -i option when used with -Z.
Reorganized the mainline so that unused files, tools
or devices are not located.
(tools/bin/sboot/sboot.c)
6/6 GDB fix Corrected error message typo in
bin/sys/dl_dev/dli_dev.c
6/7 GDB mod Updated Trollius Installation Guide.
(doc/install.doc.ps)
6/11 GDB fix Bufferd's calculation of total buffer space used
now properly includes buffer descriptor size.
6/12 GDB fix Duplicate copy of tlib.c was removed from
tools/lstt/bin/tlnk.
6/13 GDB mod Installed final upgrade to full 89.1 LSTT.
(tools/lstt)
6/14 GDB fix Corrected vendor node assignment in the supplied
NT1000 boot schemata.
6/14 GDB fix Moved final process termination from _kexit() to
system dependent routine _kbail(). This solves a
bug with stdio cleanup on otb nodes.
(lib/kreq/kexit.c, tools/otb/libt/kreq/clientio.*.c,
tools/itb/libc/kreq/clientio.c,
itb/sys/dl_t4/clientio.c)
6/15 VSD fix Fixed bug in bcopy in *SENDRECV files in
/tools/otb/libT and /tools/itb/libf77.
6/15 VSD mod Changed function names of all FORTRAN wrappers
in /tools/otb/libT and /tools/itb/libf77 to
atmost 6-letter names. All functions start with
'I' (returning integer) or 'F' (returning double),
and all subroutines provide 'errno'.
6/15 VSD mod Deleted file ATOR.c, replaced GETROUTE.c by
GETRENT.c and included file BFPROBE.c in
/tools/otb/libT/nreq and /tools/itb/libf77/nreq.
Deleted file EXIT.c in /tools/itb/libf77/unix.
6/19 RYL mod Upgraded several man papges.
6/20 GDB fix Changed NOTTYPE to NOTNODETYPE.
(net.h, lib/rreq/getnet.c, lib/rreq/getrent.c,
lib/router/router.c)
Always set errno in functions with vague return values.
(lib/rreq/getnet.c)
6/20 GDB fix Detached filesys from controlling terminal to prevent
interruption from TTIN signal. This was causing
things to blow up on reading from stdin.
Solution courtesy of K-par.
(bin/sys/filesys/filesys.c)
6/20 MB/GDB fix Gave proper permission bits to file created by -o.
(bin/loadgo/loadgo.c)
6/20 GDB fix Added missing options to loadgo man page.
6/20 RKM fix Changed exit() to kexit() after kinit() and
added kexit(0) in file bin/sys/launch/launch.c
6/22 GDB fix Checked destination nodeids more closely for castids
and set source node accordingly in various remote
libtrillium functions.
(lib/trillium/rcreate.c, lib/trillium/rdoom.c,
lib/trillium/rechod.c, lib/trillium/rflat.c)
6/25 GDB fix In ULS stdio, transformed exit() into fcloseall().
However, nobody registers fcloseall() yet as is done
in LSTT. (uls/itb/libc/stdio/fcloseall.c)
6/28 GDB fix Reversed polarity in both conditionals in sleep() to
achieve correct behaviour.
Bug identification courtesy of K-par.
(tools/itb/libc/unix/sleep.c)
6/28 VSD fix Fixed LSTT stdio bug of overflow in
/tools/lstt/itb/libc/stdio/print.c.
6/29 GDB fix Corrected brain damaged ksigblock() call all
over libfreq and libtrillium.
Bug identification courtesy of K-par.
7/2 GDB fix Removed SUCCESS from GETSMART.c in favour of 0.
(tools/otb/libT/nreq/GETSMART.c)
7/4 GDB fix Castd's spanning tree generation code has been largely
rewritten for robustness.
(lib/castd/castd.c, lib/h/trillium/terror.h,
lib/h/trillium/castreq.h,
lib/etc/terror.c, lib/trillium/rcast.c)
7/6 RYL mod Upgraded major user manuals. (doc/*.doc.ps)
7/9 RYL fix Upgraded and corrected several man pages.
7/9 GDB fix Protect size_t against clashes with Unix.
(lib/h/lstt/stddef.h)
7/12 GDB fix Changed header Makefiles to use install
instead of cp.
7/13 GDB rel Homo sapien 2.0
7/27 GDB fix Added TOOLS macro to libc/Makefile.
7/31 VSD fix Fixed bug in file /bin/sys/dli_dev.c.
Read nh_msg from device before performing conversions.
8/14 VSD fix Fixed bug in /bin/launch.c.
Return error if no valid nodes are specified in
command line.
9/7 GDB mod Added _kexit() to the resident shared library.
(itb/sys/shared/shared.c, lib/h/trillium/shared.h)
9/10 GDB fix Corrected t800 version of MemStart.
(lib/h/transputer/transputer.h)
9/10 RBD mod Moved tools/bin/confs to the machine dependent
sub-dungeon.
9/11 GDB mod Remove non-portable device names from boot.h.
No longer search for device names in sboot.
Remove non-portable thaw function to separate tool.
(lib/boot/boot.h, tools/bin/sboot/sboot.c)
9/13 GDB mod Separated mallocd into machine dependent and machine
independent parts.
9/13 GDB mod Remove hboot from controlling terminal's process group.
9/13 GDB mod Do not maintain filesys process group when detaching
from controlling terminal. (bin/sys/filesys/filesys.c)
9/13 GDB mod Include machine dependent memory region header file
in itb/libc/kreq/kcreate.c.
9/17 GDB fix Eliminated code in moses that was causing timing
problems for frozen booting. (moses/moses.ts)
9/22 GDB mod Added N_TDB to t.out.h.
9/25 RBD mod Added support for the RNODES and RGETSMART requests
in sa_rtr. Modified the send_reply() function to
accept sending a message. Added count_ntype() for
internal use. (bin/sys/sa_rtr/sa_rtr.c)
9/26 GDB mod Converted to the modern portable.h.
(portable.h, kernel/kipc.c, kreq/krecv.c, kreq/ksend.c,
nreq/precv.c, dlo_dev.c)
10/3 GDB mod Added the Meiko VCS machine dependent directory.
(machine/meiko)
10/5 GDB mod Overhauled most of the lower order toolkit layer
programs due in part to Meiko port.
(machine/nt1000)
10/5 GDB fix Upgraded Meiko specific datalinks to modern portable.h.
(meiko/bin/sys/dl_dev/dlo_dev.c,
meiko/itb/sys/dl_meiko/dlo_meiko.c)
10/7 GDB rel 2.0 Mk (an in-between release)
10/13 RKM mod Changed brenda command so that it can pick up
brendad from default directories in the absence of
one in the current working directory.
10/15 RKM mod Changed the format of debug and error messages
in command brenda so that they conform to the
standard.
10/15 GDB mod Added EBLOWN to indicate stack overflow.
(lib/h/trillium/terror.h, lib/etc/terror.c)
10/18 GDB fix Otb _kbail exits with a caller supplied code.
(libt/kreq/clientio.udp.c, libt/kreq/clientio.msg.c)
10/18 GDB mod Added RTF_DEBUG, a hook for debuggers.
(lib/h/trillium/kio.h)
10/29 GDB mode Upgraded saboot banner to 2.1.
(tools/bin/hboot/saboot)
11/11 GDB fix Changed constant expression to avoid ULS bug.
(machine/nt1000/itb/sys/mallocd/maconfig.c,
machine/meiko/itb/sys/mallocd/maconfig.c)
11/12 GDB fix Switch the link mask in castd to unsigned.
ULS signed shift right causes problems for the
NT1000 system. (castreq.h, castd.c)
11/15 RKM fix Allowed the use of the -L option on tcc command line,
changed the order of search of library directories.
( tcc.c )
11/15 RKM fix Changed function name IRD to FRD.
( itb/libf77/nreq/REVERSE.c )
11/15 RKM fix Changed RW and RS to reflect argument types.
( T_TYPES.h )
11/16 RBD mod Added the siesta queue to allow multiple transputer
high priority processes to communicate with the kernel.
The datalinks were made high priority to for faster
communication through a computation intensive node.
(itb/sys/kernel/kernelio.c, itb/sys/dl_t4/clientio.c,
itb/sys/dl_t4/dli_t4.c, itb/sys/dl_t4/dlo_t4.c,
tools/lstt/itb/libc/ { kreq/clientio.c, t4/siesta.c },
tools/uls/itb/libc/ { kreq/clientio.c, t4/siesta.c },
11/16 RBD mod Overhaul of the NaIL tools. Same functionality but
different data structures. Made more portable and up
to the Trollius coding standard.
(lib/boot/ { nail.c, nail.h, naily.y, naill.l },
tools/bin/spread/ { spread.c, face.c },
machine/nt1000/tools/bin/solder/ { solder.c, solder.h })
11/19 RBD mod The optional weights in the TLINK and TORDER tuples get
their default values from the TWEIGHT tuple if it is
defined/re-defined, otherwise they are set to
DEFTWEIGHT. (lib/boot/naily.y)
11/20 GDB mod Added function declarations to net.h and ksignal.h.
11/20 VSD mod Added NT_JONES in net.h. Removed DEBUG, min(),
odd() macros from routeio.h. They are defined in
typical.h or nail.h. Changed DEBUG to DBUG in
routeio.c.
11/20 VSD mod Modified rasm.c and rasm_funct.c due to overhauling
of the NaIL data structures.
11/20 VSD mod Modified map.c and map_funct.c due to overhauling
of the NaIL data structures. Added hop_wt and
NT_JONES in map.
11/27 GDB mod Replaced file daemon errors for new filed.
(terror.h, terror.c)
11/27 GDB mod Changed event name for new filed.
(events.h)
11/27 GDB mod Added four byte 0 constant to portable.h.
11/28 GDB mod Added <sys/stat.h> because <freq.h> no longer
includes it. (loadgo.c)
11/29 GDB mod Renamed min and max so as not to conflict with
defined macros. (tping.c)
11/29 GDB fix Shared.h is dangerous and should be included last.
(kenyad)
11/29 GDB mod Upgraded client file descriptor data structure
with the new file daemon.
(dl_t4/clientio.c, kinit.c, clientio.udp.c,
clientio.msg.c, crt0.c, shared.c)
11/30 RBD mod Minor modifications in trout due to the overhaul
of the topology layer tools (bin/trout/trout.c)
12/5 GDB fix Removed parentheses around db macro. (debug.h)
12/13 GDB fix Added terror.h to get EUSAGE and fixed a few
linting bugs. (lib/diag/filedr/filedr.c)
1/8/91 GDB mod Added EBADREC. (terror.h, terror.c)
1/14 GDB fix Process state is not touched for ready or active
processes. (kernel/kkenya.c)
Pick_aux and pick_auxd are now local parameters
in ksend/krecv. (ksend.c, krecv.c, clientio.c, kio.h)
2/4 GDB mod Bumped up default maximum workders in bufferd.
(lib/h/trillium/bufreq.h)
2/5 RBD mod Added NT_BOOT to the node types. (lib/h/trillium/net.h)
Modified map to generate this flag in the route tables.
(tools/bin/map/map_funct.c)
2/20 GDB bug Added check for invalid table entries in getnodes().
(router.c)
2/27 GDB mod Installed new file daemon, libraries and commands.
(lib/freq, bin/sys/filed, bin/fstate, bin/tfile)
3/10 GDB mod Moved search.c into the portable etc directory.
(lib/etc/search.c)
3/10 GDB mod Completed major overhaul of trout and included
support for recursive booting.
3/10 GDB mod Added support for recursive booting.
(vboot.c, lib/h/trillium/bootreq.h,
bootd/bootd.c, bootd/image.c, bootd/btroute.c)
3/10 RBD mod Added support for recursive booting.
(spread/spread.c, spread/face.c)
3/10 GDB mod Added machine dependent subdungeon for B014.
(machine/b014)
3/12 GDB mod Converted kinit.c to support the new file daemon.
3/12 GDB fix Added extra checking for ENOTATTACHED to kernel
message passing library. (ksend.c, krecv.c)
3/18 GDB mod Completed installation of new ULS (genesys) compiler.
(lib/h/uls, man/uls, tools/uls)
3/18 GDB mod Change open flags to new values consistent with
freq.h. (FILE.h)
3/19 RBD mod Overhaul of the solder tool for the Meiko port.
Same functionality but different data structures.
(machine/meiko/tools/bin/solder/ { solder.c, solder.h })
3/19 VAR/GDB mod Corrected, shined and augmented Fortran wrappers
for freq library ITB and OTB.
(itb/libf77/freq, otb/libT/freq)
3/19 RBD mod Added the GRENT and GRENTC calls to Fortran.
(itb/libf77/nreq/GETRENT.c, otb/libT/nreq/GETRENT.c)
3/19 GDB mod Upgraded loadgo for compatibility with the
new filed.
3/19 GDB fix Be more careful with NOBUF in replies from kenyad.
3/19 GDB fix Use a modified reply event to avoid conflict on
remote nodes. (lib/trillium/rflat.c, rpwait.c)
3/19 GDB mod Print node type in hexadecimal.
(lib/boot/routeio.c)
3/19 GDB mod Allow buffering in trout related functions.
(lib/rreq/rroute.c, rsetroute.c)
3/19 GDB mod Reorganize memory map and add siesta locations.
(machine/*/lib/h/machine/maconfig.h)
3/19 GDB mod Define lstt macro in pp so we can tell lstt from uls.
(lstt/bin/pp/pp1.c)
3/21 GDB fix The main memory auto-sizer for the nt1000 is
redesigned. (machine/nt1000/itb/sys/mallocd/maconfig.c)
1.1
---
06/08/88 tools/Makefile
Added dependency for $(BASE) directory.
06/08/88 libieee/Makefile
Removed a stray period.
06/09/88 libieee/itens.c, libieee/uptup.c, penguin/ieee.h
Padded DUNPK to be compatible with screwy suns.
06/09/88 tas/Makefile, tas/ieee.c, tas/ieee.h, tas/std.h
Created a specially brewed ieee conversion package eliminating
the need for the full ieee library.
06/09/88 tools/bin-*/Makefile, tools/bin/libieee/*
Eliminated the ieee library.
06/10/88 bin/h/Makefile, bin/h/penguin/*
Eliminated the penguin header directory.
06/10/88 vecbrd.h
Added the setmux macro from its previous home in dl_t4.h.
06/10/88 dl_t4.h, dli_init.c, dlo_init.c
Removed dl_t4.h; replaced with vecbrd.h where needed.
06/29/88 libc/gen/itoa.c
*s++ = '-', rather than *p = '-'.
06/30/88 Added: libm/matherr.c
Includes _matherr, the function called by the math library
functions upon exceptions, matherr, the user-modifiable
stub called by _matherr, and NaN, a function to generate
the IEEE NaN bit pattern.
(libc/h/trillium/math.h modified to suit)
Modified acos, acosh, acsc, asec, atanh, cot, coth, csc,
csch, ipow, log, pow, sec, sqrt and tan to call _matherr.
07/07/88 lib/trillium/rmalloc.c (compiled into libc)
rmalloc():
- check for amount==0, its EMEMORY
- if successful and local, call _memrec
rfree():
- if local call _rfree
_memrec(): added function.
- records rmalloc'd local allocations
_free(): added function.
- allows either removal of an entry in _memrec tables
or an rfree() of all the entries. The latter is
supposed to be done from _kexit().
07/07/88 libc/unix/malloc.c (new file)
This file holds our new "library malloc", that efficiently
allocates bits and pieces for an application. It calls
rmalloc(), but not rfree(). (The old Unidot malloc.c
has been renamed malloc.dot.c. It was never used.)
07/07/88 man/rmalloc.l
Rewritten to describe the new rmalloc/malloc scheme.
07/07/88 malloc.h - removed
07/07/88 kenyad/kenya.h, bufferd/bufferd.c
Added malloc and free macros to avoid the new malloc runtime
system.
07/12/88 c0/c02.c c1/c14.c c1/c17.c
gentp/p3.doc gentp/mkops.awk gentp/p3emit.c
gentp/p3expr.c gentp/p3flag.c gentp/p3fopstk.c
gentp/p3gen.c gentp/p3opasm.c gentp/p3opcnt.c
gentp/p3opname.c gentp/p3ops.d gentp/p3opstk.c
gentp/p3spec.c gentp/p3sym.h
incl/limits.h incl/tout.h incl/ulsmch.h
libf77/CDDIV.c libf77/CDIV.c libf77/CPOW.c
libf77/log.c libf77/pow.c
libm/abs.c libm/log.c
fp/dneq.ts fp/fneq.ts
libuls/ctim.c
tcc/ucc.h tcc/ucc0.c tcc/ucc1.c
tcc/ucc2.c tcc/ucc3.c tcc/ucc9.c
uf/uf0a.c uf/uf3.c uf/uf4.c
uf/uf5.c
tld/tld.c
It's that time again! Another update from the Penguin.
Most files listed above were changed. Two files, p3sym.h
and tout.h were removed and two other files, abs.c and
fneq.ts were added.
07/12/88 libm/rand1.c, libm/rand2.c, libm/rand3.c
Added new random number generators supplied by the Penguin.
Only the first one is currently compiled into libm.
07/12/88 libc/gen/reverse.c
Added new reverse string routine suppled by the Penguin.
07/13/88 libstdio/_filb.c, _flsb.c, fclose.c, setbuf.c
Refer to malloc() and free() as standard in UNIX.
>>>OSU<<<
07/29/88 tools/bin/h/Makefile
Removed another reference to /usr/include/penguin.
08/21/88 tools/bin/moses/gram.y, tokens.l, y.tab.h
Slightly improved the grammar to support quit/exit and
null statements.
09/17/88 tools/bin/tsim
Added link and event devices, new monitor and floating point
instructions for t414. This is a new release (3.0).
09/18/88 tools/bin/tti
Added the transputer threaded interpreter to the Trillium
toolset.
09/19/88 *-gould, *-vax
Removed. These are simply copies of *-sun, which is now the
major development platform.
09/29/88 tti/cvt.ts
Use tti.h like every other tti source file.
09/29/88 tti/tti.h
Use a local copy of T414.h. This makes tti a stand-alone tool.
09/30/88 tti/
Moved tti to the tools/itb directory from the tools/bin
directory.
10/26/88 terror.h
Added EINTR to support signal delivery in a new kernel.
11/17/88 terror.h, terror.c
changed obsolete ENOTINFO to ENOKERNEL
1.0
---
??/??/?? some Makefile change somewhere -- we forgot where or
what it was (update: It might be libvpu/Makefile.)
01/05/88 setpri.c
moved the workspace pointer way out so that the stopp
doesn't trash a (possibly) valid stack frame.
01/11/88 conf.y/tokens.l
make the booters abort on a syntax error
01/11/88 tkill
fixed a silly error with the verbose flag. The internal
variable "Kflag" was often unset causing the script to
abort with an undefined variable.
01/12/88 kipc.c
Added a few more comments.
01/12/88 kernel.c
Fixed the bug that had the kernel returning ENOEVENT when the
event table filled up with vacant descriptors.
01/14/88 crt0.c
Set _wp to the correct value.
01/26/88 uf/
Installed update received from the Penguin.
01/27/88 incl/
Installed update received from the Penguin.
01/27/88 libuls/
Installed update received from the Penguin.
This only consisted of adding the new file uf77io.c
which is much different (smaller and looks like older code)
than the same file in libf77. It isn't used by anybody
but it's stuck in there anyways.
01/28/88 fp/
Installed update received from the Penguin.
This involved many new files, mostly enhancements to
double precision operations. Also, frel.ts became
obsolete. It remains in the RCS directory but is not
checked out and does not come with most source releases.
01/29/88 itb/gnat/, itb-0123/gnat/, itb-3210/gnat/
Installed our nifty little demo for using the rspawn()
routine.
01/29/88 tools/bin/tcc/gentp
Finally installed the updated code generator from the update
tape from the Penguin.
02/01/88 libvpu/
The FPS C00 math library resides here. Most of this stuff
is straight out of the can from FPS. In pb.ts, we poll
for completion of the vector operation instead of interrupt.
In extdefs.c we can't use their declaration of the parameter
blocks because we don't use their relocation pass with the
backend tools.
02/01/88 mldefs.h
We have a special define for the parameter blocks to locate
them on-chip.
02/01/88 itb/vpu/
Added two VPU demo programs, pbtest.c for parameter block
usage and gentest.c for generic routine usage.
02/08/88 libm/pow.c libm/sqrt.c
Changed _pow to pow. I have no idea why it was _pow.
I guess something else will break now...
>>>Ultix1.2a and T40 problems found at MTU<<<
02/08/88 libuls/ctim.c
Changed timezone to timzone to make cc happy.
02/10/88 lots of Makefiles in ,,,/bin/,,, and ,,,/bin-vax/,,,
Nixed -L option to search directories for libraries.
Even Ultrix 2.0 doesn't have this option for ld.
The -L option was removed from the affected Makefiles
and replaced by the full pathname of the library.
This never amounted to more than "../lib/libx.ta" for
example. The gould and sun Makefiles were left alone.
They can be changed as source Makefiles are copied to
the object directories in the course of normal development.
02/10/88 confs/Q/Makefile, confs/S/Makefile
Rewrote to take care of two problems. First, Ultrix
"install" won't take a directory as the target for a shell
script. Second, we were freezing before installing and
that's just dumb.
02/12/88 libvpu/Makefile
This Makefile had never been tested on a clean box. The
problem centered around the automatically generated
pb_entry.h which was not installed prioir to a make depend
or compilation of libvpu. It has been substantially
rewritten.
02/12/88 tlorder/Makefile
Same "install" problem as above.
02/12/88 lboot
Changed to boot out link 2 instead of link 1.
This change is needed for multi-cabinet configurations.
02/12/88 conf.L
Bumped up the stacksize of bootd. Completely
rearranged the loop datalink servers. Upstream
is link 2, downstream is link 1. This is due to
the way system boards are actually wired up - we
must boot the next module in the *same* cabinet
first.
02/13/88 router.c
Is_downstream was not normalizing the system node
field before calculating the loop offset. Definitely
wrong, but forgiven on a T20.
02/15/88 h/fps/Makefile
T.h, a symbolic link, needed to be "touch"ed after
installation. Otherwise the modified date of the
link target remains unchanged and all relevant Makefiles
check the target date and not the link itself. Ergo,
the recompilations to not fire.
02/15/88 tkill/Makefile
Tkill and sakill are shell scripts and the Makefile's
install commands had the same Ultrix problem as the
conf/ Makefiles noted above.
02/15/88 bootd/boot.h, bootd/image.c
Several major blunders in bootd prohibited T40 system
ring booting.
02/24/88 newfish/fish.c
A typo caused the device pathname to be null. Open
caused a segmentation fault on Ultrix 1.2A.
03/30/88 conf.S
Same as conf.L above. Whoops! Forgot to do this
earlier. That is why the initial T100 test at FPS
did not work.
>>>libm was in poor shape<<<
02/11/88 libm/sqrt.c
mb: Rewrote completely: does NOT call pow().
Does range reduction to (0.5,2.0] and then
uses Heron's (?) iterative procedure (faster).
02/11/88 libm/ipow.c
errno set if exponent negative
02/11/88 libm/pow.c
pow(): calls powi() if y is an integer (faster)
pow(): error if x<0 && y not an integer
_powi(): renamed powi()
powi(): uses the algorithm from ipow() (faster)
_ipow(): removed (there is an ipow() in ipow.c)
02/11/88 libm/floor.c
changed "y = x - n;" (wrong!) to "y = n;"
02/11/88 libm/ceil.c
changed "y = x - n;" (wrong!) to "y = n;"
02/11/88 libm/frac.c
mb: rewritten with different definition for function:
frac(123.4) is now 0.4, frac (-123.4) is -0.4.
02/11/88 libm/fabs.c
mb: rewritten: simply zap the sign bit (much faster).
Note that this is nonportable, since we need to know
where the sign bit is.
02/11/88 libm/log.c
errno set if argument nonpositive
>>><<<
02/13/88 man/
Changed the Makefile to properly create the manl
directory on a clean machine. It appears that
Ultrix man will not look in manl. If you got an
Ultrix machine, we recommend you copy the whole
show to man9 (or alter the Makefile accordingly).
Also, nothing in man was under RCS, a wrong which
has now been righted.
02/19/88 vboot/pack_argv.c vboot/Makefile
Removed pack_argv.c since it is available from the
"args" library.
02/24/88 unix/mkdir.c
Repaired a syntax error. Who knows how it ever compiled
before?
02/24/88 bin/buffer/buffer.c
Rewrote the printing routine to display information on
buffers in a fashion more understandable to the user.
02/24/88 kpar_He.c, kpar_Na.c, kpar_Fe.c
Added new support for lightweight processes.
02/25/88 kpar_He.c, kpar_Na.c, kpar_Fe.c
...and already they're busted. Parameters were being
pushed in the wrong order.
02/29/88 kenyad/pdoom.c kenyad/pstate.c
Neither state nor doom would work with processes not
attached to kenyad. The problem was an uninitialized flag.
03/03/88 lib/h/trillium/Makefile, lib/h/trillium/NET.h
A barebones (another word for Fortran) version of net.h
was added for f77 support.
03/03/88 libf77/Makefile, libf77/unix/
Added a new directory called unix as in libc.
A place was needed for getpid() and exit().
03/04/88 maconfig.h
We forgot to leave five slices of memory available at the
top of RAM for use by the VPU library. It had not caused
a problem since nobody had ever allocated all of bank A0.
03/04/88 rflat.c
The type field, used to ensure proper sequencing, was not
properly set.
03/05/88 mldefs.h, extdefs.c
A few VPU variables were still left in off-chip RAM instead
of being #defined to their proper locations in on-chip RAM.
03/07/88 maconfig.h
No allowance was made for a partially used bitmap word.
03/07/88 mallocd.c
When searching across regions, do_malloc() was trying to
free a null sized chunk, a dangerous practice in some cases.
03/07/88 libc/unix/Makefile, libc/nreq/Makefile, libtrillium/Makefile,
lib/trillium, lib/nreq,
We moved rmalloc and set_order to libc to support the
kpar calls.
03/07/88 tools/qlt/driver-vax/ultrix-1.2/
This is the result of the first Ultrix install.
>>>Problems found at FPS<<<
03/14/88 confs/*/Makefile
Some of the Makefiles for the conf files still did not
specify the full destination file for install.
03/14/88 libstdio/Makefile
The actions for install were commented out.
03/14/88 tools/otb/nreq/Makefile
VPATH had to be augmented to find set_order's new location
in trillium/lib/nreq.
>>><<<
03/16/88 libf77/nreq/TSEND.c
This routine was simply never converted to Fortran glue code.
03/16/88 libf77/nreq/TRECV.c
Removed an extraneous comment.
03/16/88 libf77/nreq/DSEND.c
Removed an unneeded parameter.
03/16/88 libf77/nreq/TWRITE.c
Changed tprintf to TPRINT.
03/16/88 terror.c
It was converted to use write instead of fprintf, thus
eliminating the need to use the standard I/O library.
This was of particular importance ITB.
03/21/88 libf77/kreq/KEXIT.c, libf77/kreq/Makefile
Added KEXIT to the Fortran library, which is the equivalent
of _kexit in C.
03/25/88 libf77/gen/exit.c
Made this routine the equivalent of _exit in C.
03/27/88 NET.h
Corrected NOBUF and added SYSINC.
03/27/88 libf77/Makefile, libf77/t4
Added the transputer access routines SETPRI() and LDTIMER(),
thus starting the f77 equivalent of libc/t4.
03/27/88 libf77/unix/Makefile, libf77/unix/ERRNO.c
Added f77 access to the global error variable errno.
03/28/88 libf77/gen/Makefile, libf77/gen
Added ITOA() and GCVT().
03/28/88 lib/h/trillium
Added FILE.h
03/29/88 sboot/main.c
The -n option was previously ignored. It will now override
the nodeid in the configuration file.
03/29/88 TWRITE.c
Rewrote TPRINT() to accept a FORTRAN `character string'
rather than a simple pointer. The string as given from
FORTRAN is copied with editing (\n, \t, \7 and \0 are
converted to the obvious), then passed to tprint().
A null is appended at the end if there is no explicit '\0'.
03/29/88 ITOA.c
Rewrote to accept a FORTRAN `character string'
rather than a simple pointer.
03/29/88 GCVT.c
Rewrote GCVT() and FTOA() to accept a FORTRAN
`character string' rather than a simple pointer.
03/29/88 tbn/
A new tbn has been received from the Penguin featuring
major performance gains.
03/31/88 TOPEN.c and TCREAT.c
The pathname argument is now a FORTRAN
`character string' rather than a simple pointer.
A copy of the string is made and a null char is appended.
03/31/88 FILE.h
Added O_APPEND.
03/31/88 introf.tblms
Added the Fortran tutorial to the documentation series.
>>>Lboot and vboot now feature frozen booting.<<<
04/01/88 bootreq.h
Two more fields were added to struct bootreq to hold
frozen tag and length.
04/01/88 vboot/
Vboot now understands the z option. A further option
e is the equivalent of fz in sboot and specifies the
name of the frozen file. Fastboot option f can be used in
conjunction with z on vector boards only.
04/01/88 bootd/
Bootd has two new requests to support frozen booting.
The module frozen.c was added. Other modules were
reorganized between files to consolidate data structures.
04/01/88 confs/L/Makefile, confs/V/Makefile
A frozen configuration file will now be created as part
of make install.
04/01/88 lboot
Added the extra option 'e' to support frozen booting.
04/01/88 confs/L/Makefile, confs/V/Makefile
Eliminated the condition for creating a frozen configuration
file.
>>><<<
04/01/88 sboot/main.c
When certain flags are set eliminating the need for certain
devices and files, their existance is not checked.
04/01/88 install.tr
A couple of installation experiences have contributed to
a new revision of the installation notes.
04/15/88 pcreate.c
The contents of the BSS segment will now be initialized to zero.
>>>Problems found at NiCHE<<<
04/18/88 doom.c
A null pointer was being indirected. This is bad news
on some machines.
04/27/88 lib/trillium/terror.c
Changed _atoi to my_atoi and expanded sbuf to 16 bytes.
04/28/88 boot/moses/*/Makefile tools/qlt/boot/moses/Makefile
Changed cc -E to the more portable /lib/cpp -P.
04/25/88 RDIST
The obsolete remote distribution directory was removed.
04/26/88 *
All of the obsolete tty compatible programs were removed.
04/28/88 lib/h/trillium/maconfig.h
Moved maconfig.h from the mallocd directory to the general
trillium header directory.
04/30/88 sboot/doargs.c, qboot, tools/qlt/Makefile, tools/bin/Makefile
Changed qexport to export.
>>><<<
04/18/88 LOC.c
Added to libf77/gen: PEEK/POKE stuff
04/18/88 IOR.c
Added to libf77/gen: bitwise logical ops
04/18/88 STT.c, STOP.c (libf77/gen)
- calls to exit() replaced with _kexit()
04/20/88 RVALLOC.c
Added to libf77/gen: wrappers for MALLOC, FREE,
RMALLOC, RFREE, VALLOC, RVALLOC
04/20/88 ARG.c
Added to libf77/gen: utility to pass arguments
from one fortran function to another BY VALUE.
Allows practical use of the pointers returned
by MALLOC.
04/20/88 IOR.c
Added IEOR (same as IXOR) and ISHFT(a,n) (same as
ISHFTL(a,n) for n>0, same as ISHFTR(a,-n) for n<0).
This is to be more compatible with FPS literature.
04/20/88 libc/h/fps/mldefs.f
Added the FPS file for FORTRAN use of the VPU
(this is a FORTRAN source file, NOT #defines!)
04/20/88 libc/h/fps/MLDEFS.h
Added an include file for FORTRAN use of the VPU via
cpp and the Generic FPS Math Library functions.
Also includes #defines for ANYBANK, BANKA0, etc since
we do not have a FORTRAN version of <fps/vecbrd.h>.
04/25/88 libf77/unix
Added BCOPY.c: a FORTRAN wrapper to access bcopy().
04/25/88 man/
man pages added: BCOPY, LDTIMER, SETPRI
04/28/88 h/*/Makefile
Made depend less verbose.
04/28/88 libc/Makefile
Eliminated redundancy from make depend.
04/28/88 libc/h/fps/Makefile
Added support for .f files.
04/28/88 libf77/gen/ARG.c
ARG() renamed FUNARGS(), SUBARGS() added to support
calling FORTRAN subroutines (not just functions)
passing some parameters by value.
05/06/88 /doc
New versions of introc, introf, refc, refu
with system-specific details isolated in appendices,
reff.tblms added.
05/17/88 libc/gen/itoa.c
Expanded sbuf to 16 bytes.
05/19/88 kenyad/pcreate.c
Do not use argv tag if argc is 0.
05/24/88 loadd.c
Fixed loadd file descriptors to close on error.
05/24/88 libstdio/kexit.c
Removed call to pdetach.
05/24/88 libstdio/Makefile
Added a missing default BASE macro.
05/25/88 rmread() and rmwrite() are macros in <trillium/memreq.h>
and the parameter order is always (node, src, dest, nbytes)
- corrected in rmwrite.l
05/25/88 libf77/RMWRITE.c
New file: wrappers for rmread() and rmwrite().
06/01/88 ulsmch/*-trillium
Added libm to the default Fortran library list.
06/01/88 doc/overview.tr
an updated, glossier version
06/01/88 kenyad.c
Removed redundant (with nreq) set_order function.
06/01/88 rloadgo.c, bloadgo.c
Used different flat tags for argv structure and load module.
06/01/88 libstdio/_doprnt.c
isinf() and isnan() had the word ordering inside a
'double' wrong for the transputer. They should also
be enclosed in an "#if FLOAT / #endif" pair.
>>>Various revisions with respect to the loadgo functionality.<<<
06/01/88 rflat.c, bflat.c
Updated to use new stateless protocol with flatd.
06/01/88 flatd.c
Rewrote FL_LOAD request to spawn a separate process which
receives data messages in any order.
Added FL_DONE request to clean up after worker process.
06/01/88 flatreq.h
Added FL_DONE.
06/01/88 kenyad/pdetach.c
Wait until the client is dead before releasing its memory.
>>><<<
06/01/88 kenyad.c
Removed the redundant (with nreq) stub function.
06/04/88 fish.tty
Deleted one remaining trace of tty days. Fish is
now a stub on goulds and suns.
06/05/88 sboot.tty
Deleted some more tty debris from the sun and gould
object directories.
|