From 24dd58053d0c5202c7072e4a7b9cca0f3aae5a14 Mon Sep 17 00:00:00 2001 From: Tomohiro Kusumi Date: Wed, 4 Feb 2015 05:31:46 +0900 Subject: [PATCH 01/16] sbin/hammer: add get_ondisk() - Cleanup get_buffer_data() and get_node() using a new inline function get_ondisk(). These two actually do the same thing except for the way they release an existing buffer (--ref and eventually free it). - from Submit #2783 --- sbin/hammer/ondisk.c | 47 +++++++++++++++++++++++++++++++------------- 1 file changed, 33 insertions(+), 14 deletions(-) diff --git a/sbin/hammer/ondisk.c b/sbin/hammer/ondisk.c index 985d88b30e..bfdee616f2 100644 --- a/sbin/hammer/ondisk.c +++ b/sbin/hammer/ondisk.c @@ -48,6 +48,8 @@ static void *alloc_blockmap(int zone, int bytes, hammer_off_t *result_offp, struct buffer_info **bufferp); static hammer_off_t alloc_bigblock(struct volume_info *volume, int zone); static void get_buffer_readahead(struct buffer_info *base); +static __inline void *get_ondisk(hammer_off_t buf_offset, + struct buffer_info **bufferp, int isnew); #if 0 static void init_fifo_head(hammer_fifo_head_t head, u_int16_t hdr_type); static hammer_off_t hammer_alloc_fifo(int32_t base_bytes, int32_t ext_bytes, @@ -356,6 +358,11 @@ rel_buffer(struct buffer_info *buffer) } } +/* + * Retrieve a pointer to a buffer data given a buffer offset. The underlying + * bufferp is freed if isnew or the offset is out of range of the cached data. + * If bufferp is freed a referenced buffer is loaded into it. + */ void * get_buffer_data(hammer_off_t buf_offset, struct buffer_info **bufferp, int isnew) @@ -369,11 +376,7 @@ get_buffer_data(hammer_off_t buf_offset, struct buffer_info **bufferp, buffer = *bufferp = NULL; } } - if (buffer == NULL) - buffer = *bufferp = get_buffer(buf_offset, isnew); - if (buffer == NULL) - return (NULL); - return((char *)buffer->ondisk + ((int32_t)buf_offset & HAMMER_BUFMASK)); + return get_ondisk(buf_offset, bufferp, isnew); } /* @@ -383,17 +386,33 @@ get_buffer_data(hammer_off_t buf_offset, struct buffer_info **bufferp, hammer_node_ondisk_t get_node(hammer_off_t node_offset, struct buffer_info **bufp) { - struct buffer_info *buf; - - if (*bufp) + if (*bufp) { rel_buffer(*bufp); - *bufp = buf = get_buffer(node_offset, 0); - if (buf) { - return((void *)((char *)buf->ondisk + - (int32_t)(node_offset & HAMMER_BUFMASK))); - } else { - return(NULL); + *bufp = NULL; } + return get_ondisk(node_offset, bufp, 0); +} + +/* + * Return a pointer to a buffer data given a buffer offset. + * If *bufferp is NULL acquire the buffer otherwise use that buffer. + */ +static __inline +void * +get_ondisk(hammer_off_t buf_offset, struct buffer_info **bufferp, + int isnew) +{ + struct buffer_info *buffer; + + buffer = *bufferp; + if (buffer == NULL) { + buffer = *bufferp = get_buffer(buf_offset, isnew); + if (buffer == NULL) + return(NULL); + } + + return (char *)buffer->ondisk + + ((int32_t)buf_offset & HAMMER_BUFMASK); } /* -- 2.41.0 From f85c5afc79b72a61f6b2402a47aeb9b4bad30341 Mon Sep 17 00:00:00 2001 From: Tomohiro Kusumi Date: Wed, 4 Feb 2015 05:35:56 +0900 Subject: [PATCH 02/16] sbin/hammer: cleanups - Minor cleanups in addition to 24dd5805. - hunk1 - no need to dereference indirect pointer **bufferp via direct pointer *buffer in here anymore. - hunk2 - all the rest of the code use **bufferp instead of **bufp. - from Submit #2783 --- sbin/hammer/ondisk.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/sbin/hammer/ondisk.c b/sbin/hammer/ondisk.c index bfdee616f2..705286fbea 100644 --- a/sbin/hammer/ondisk.c +++ b/sbin/hammer/ondisk.c @@ -367,13 +367,11 @@ void * get_buffer_data(hammer_off_t buf_offset, struct buffer_info **bufferp, int isnew) { - struct buffer_info *buffer; - - if ((buffer = *bufferp) != NULL) { + if (*bufferp != NULL) { if (isnew > 0 || - ((buffer->buf_offset ^ buf_offset) & ~HAMMER_BUFMASK64)) { - rel_buffer(buffer); - buffer = *bufferp = NULL; + (((*bufferp)->buf_offset ^ buf_offset) & ~HAMMER_BUFMASK64)) { + rel_buffer(*bufferp); + *bufferp = NULL; } } return get_ondisk(buf_offset, bufferp, isnew); @@ -381,16 +379,16 @@ get_buffer_data(hammer_off_t buf_offset, struct buffer_info **bufferp, /* * Retrieve a pointer to a B-Tree node given a cluster offset. The underlying - * bufp is freed if non-NULL and a referenced buffer is loaded into it. + * bufferp is freed if non-NULL and a referenced buffer is loaded into it. */ hammer_node_ondisk_t -get_node(hammer_off_t node_offset, struct buffer_info **bufp) +get_node(hammer_off_t node_offset, struct buffer_info **bufferp) { - if (*bufp) { - rel_buffer(*bufp); - *bufp = NULL; + if (*bufferp != NULL) { + rel_buffer(*bufferp); + *bufferp = NULL; } - return get_ondisk(node_offset, bufp, 0); + return get_ondisk(node_offset, bufferp, 0); } /* -- 2.41.0 From 900413c3a6b52cd61e09ad98049ce53aa3ac77de Mon Sep 17 00:00:00 2001 From: Tomohiro Kusumi Date: Sun, 15 Feb 2015 03:27:25 +0900 Subject: [PATCH 03/16] sys/vfs/hammer2: fix typos - Fix trivial typos in comments. --- sys/vfs/hammer2/hammer2_disk.h | 2 +- sys/vfs/hammer2/hammer2_vfsops.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/vfs/hammer2/hammer2_disk.h b/sys/vfs/hammer2/hammer2_disk.h index c6fba0000a..6b933aec70 100644 --- a/sys/vfs/hammer2/hammer2_disk.h +++ b/sys/vfs/hammer2/hammer2_disk.h @@ -318,7 +318,7 @@ /* LEVEL5 is a set of 8 blockrefs in the volume header 16EB */ /* - * Freemap radii. Note that the LEVEL 1 blockref points to a 64KB freemap + * Freemap radix. Note that the LEVEL 1 blockref points to a 64KB freemap * block containing 1024 x LEVEL0 hammer2_bmap_data structures. LEVEL 0 * represents one structure. */ diff --git a/sys/vfs/hammer2/hammer2_vfsops.c b/sys/vfs/hammer2/hammer2_vfsops.c index 0887205eab..80072c4a21 100644 --- a/sys/vfs/hammer2/hammer2_vfsops.c +++ b/sys/vfs/hammer2/hammer2_vfsops.c @@ -2439,7 +2439,7 @@ hammer2_vfs_checkexp(struct mount *mp, struct sockaddr *nam, } /* - * Support code for hammer2_mount(). Read, verify, and install the volume + * Support code for hammer2_vfs_mount(). Read, verify, and install the volume * header into the HMP * * XXX read four volhdrs and use the one with the highest TID whos CRC -- 2.41.0 From a65c5ed16fc487f2fd170da1bf98a0a8ddaa91f5 Mon Sep 17 00:00:00 2001 From: Sascha Wildner Date: Sun, 15 Feb 2015 08:05:53 +0100 Subject: [PATCH 04/16] Update the pciconf(8) database. February 14, 2015 snapshot from http://pciids.sourceforge.net/ --- share/misc/pci_vendors | 137 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 131 insertions(+), 6 deletions(-) diff --git a/share/misc/pci_vendors b/share/misc/pci_vendors index 818695079d..f16fb545bd 100644 --- a/share/misc/pci_vendors +++ b/share/misc/pci_vendors @@ -1,8 +1,8 @@ # # List of PCI ID's # -# Version: 2015.01.05 -# Date: 2015-01-05 03:15:01 +# Version: 2015.02.14 +# Date: 2015-02-14 03:15:02 # # Maintained by Martin Mares and other volunteers from the # PCI ID Project at http://pci-ids.ucw.cz/. @@ -349,9 +349,9 @@ 1028 1f48 PERC H730P Mini (for blades) 1028 1f49 PERC H730 Mini 1028 1f4a PERC H730 Mini (for blades) - 1028 1f4d PERC FS33xS + 1028 1f4d PERC FD33xS 1028 1f4f PERC H730P Slim - 1028 1f54 PERC FS33xD + 1028 1f54 PERC FD33xD 17aa 1052 ThinkServer RAID 720i 17aa 1053 ThinkServer RAID 720ix 005e SAS1066 PCI-X Fusion-MPT SAS @@ -3491,6 +3491,7 @@ 0160 64bit/66MHz PCI ATM 155 MMF 016e GXT4000P Graphics Adapter 0170 GXT6000P Graphics Adapter + 1092 0172 Fire GL2 017d GXT300P Graphics Adapter 0180 Snipe chipset SCSI controller 1014 0241 iSeries 2757 DASD IOA @@ -9437,6 +9438,8 @@ 0e0b GK106 HDMI Audio Controller 0e0c GF114 HDMI Audio Controller 0e0f GK208 HDMI/DP Audio Controller + 0e12 TegraK1 PCIe x4 Bridge + 0e13 TegraK1 PCIe x1 Bridge 0e1a GK110 HDMI Audio 0e1b GK107 HDMI Audio Controller 103c 197b ZBook 15 @@ -9622,6 +9625,7 @@ 10c5 GT218 [GeForce 405] 10d8 GT218 [NVS 300] 1140 GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] + 1019 999f GeForce GT 720M 1025 0600 GeForce GT 620M 1025 0606 GeForce GT 620M 1025 064a GeForce GT 620M @@ -9662,6 +9666,7 @@ 1025 0821 GeForce GT 720M 1025 0823 GeForce GT 720M 1025 0830 GeForce GT 720M + 1025 0833 GeForce GT 720M 1025 0837 GeForce GT 720M 1025 083e GeForce 820M 1025 0841 GeForce 710M @@ -9678,8 +9683,18 @@ 1025 087c GeForce 810M 1025 0881 GeForce 820M 1025 088a GeForce 820M + 1025 089b GeForce 820M 1025 090f GeForce 820M 1025 0921 GeForce 820M + 1025 092e GeForce 810M + 1025 092f GeForce 820M + 1025 093a GeForce 820M + 1025 093c GeForce 820M + 1025 093f GeForce 820M + 1025 0941 GeForce 820M + 1025 0945 GeForce 820M + 1025 0954 GeForce 820M + 1025 0965 GeForce 820M 1028 054d GeForce GT 630M 1028 054e GeForce GT 630M 1028 0554 GeForce GT 620M @@ -9699,8 +9714,12 @@ 1028 05e0 GeForce GT 720M 1028 05e8 GeForce GT 630M 1028 05f4 GeForce GT 720M + 1028 060f GeForce GT 720M 1028 064e GeForce 820M 1028 0652 GeForce 820M + 1028 0653 GeForce 820M + 1028 0655 GeForce 820M + 1028 065e GeForce 820M 1028 0662 GeForce 820M 1028 068d GeForce 820M 103c 18ef GeForce GT 630M @@ -9708,6 +9727,8 @@ 103c 18fb GeForce GT 630M 103c 18fd GeForce GT 630M 103c 18ff GeForce GT 630M + 103c 2335 GeForce 820M + 103c 2337 GeForce 820M 103c 2aef GeForce GT 720A 103c 2af9 GeForce 710A 1043 10dd NVS 5200M @@ -9741,7 +9762,26 @@ 1043 224a GeForce GT 710M 1043 227a GeForce 820M 1043 228a GeForce 820M + 1043 232a GeForce 820M + 1043 233a GeForce 820M + 1043 236a GeForce 820M + 1043 238a GeForce 820M 1043 8595 GeForce GT 720M + 1043 85ea GeForce GT 720M + 1043 85eb GeForce 820M + 1043 85ec GeForce 820M + 1043 85ee GeForce GT 720M + 1043 85f3 GeForce 820M + 1043 860e GeForce 820M + 1043 861a GeForce 820M + 1043 861b GeForce 820M + 1043 8628 GeForce 820M + 1043 8643 GeForce 820M + 1043 864c GeForce 820M + 1043 8652 GeForce 820M + 105b 0dac GeForce GT 720M + 105b 0dad GeForce GT 720M + 105b 0ef3 GeForce GT 720M 1072 152d GeForce GT 720M 10cf 17f5 GeForce GT 720M 1179 fa01 GeForce 710M @@ -9774,17 +9814,27 @@ 144d c0e2 NVS 5200M 144d c0e3 NVS 5200M 144d c0e4 NVS 5200M + 144d c10d GeForce 820M 144d c652 GeForce GT 620M 144d c709 GeForce 710M 144d c711 GeForce 710M 144d c736 GeForce 710M + 144d c737 GeForce 710M + 144d c745 GeForce 820M + 144d c750 GeForce 820M 1462 10b8 GeForce GT 710M 1462 10e9 GeForce GT 720M 1462 1116 GeForce 820M 1462 aa33 GeForce 720M 1462 aaa2 GeForce GT 720M 1462 aaa3 GeForce 820M + 1462 acb2 GeForce GT 720M + 1462 acc1 GeForce GT 720M + 1462 ae61 GeForce 720M + 1462 ae65 GeForce GT 720M + 1462 ae6a GeForce 820M 1462 ae71 GeForce GT 720M + 14c0 0083 GeForce 820M 152d 0926 GeForce 620M 152d 0982 GeForce GT 630M 152d 0983 GeForce GT 630M @@ -9796,6 +9846,7 @@ 152d 1067 GeForce GT 720M 152d 1072 GeForce GT 720M 152d 1086 GeForce 820M + 152d 1092 GeForce 820M 17aa 2200 NVS 5200M 17aa 2213 GeForce GT 720M 17aa 2220 GeForce GT 720M @@ -9813,6 +9864,7 @@ 17aa 369c GeForce 820A 17aa 369d GeForce 820A 17aa 369e GeForce 820A + 17aa 36a9 GeForce 820A 17aa 3800 GeForce GT 720M 17aa 3801 GeForce GT 720M 17aa 3802 GeForce GT 720M @@ -9828,13 +9880,18 @@ 17aa 3813 GeForce 820M 17aa 3816 GeForce 820M 17aa 3818 GeForce 820M + 17aa 381a GeForce 820M + 17aa 381c GeForce 820M 17aa 3901 GeForce 610M / GT 620M 17aa 3902 GeForce 710M 17aa 3903 GeForce 610M/710M 17aa 3904 GeForce GT 620M/625M 17aa 3905 GeForce GT 720M + 17aa 3907 GeForce 820M 17aa 3910 GeForce 720M 17aa 3912 GeForce 720M + 17aa 3913 GeForce 820M + 17aa 3915 GeForce 820M 17aa 3977 GeForce GT 720M 17aa 3983 GeForce 610M 17aa 5001 GeForce 610M @@ -9866,7 +9923,10 @@ 1854 0192 GeForce GT 720M 1b0a 20dd GeForce GT 620M 1b0a 20df GeForce GT 620M + 1b0a 210e GeForce 820M 1b0a 2202 GeForce GT 720M + 1b0a 90d7 GeForce 820M + 1b0a 90dd GeForce 820M 1180 GK104 [GeForce GTX 680] 1043 83f1 GTX680-DC2-2GD5 3842 3682 GeForce GTX 680 Mac Edition @@ -10010,6 +10070,7 @@ 103c 2b22 GeForce GT 810A 1296 GK208M [GeForce 825M] 1298 GK208M [GeForce GT 720M] + 1299 GK208M [GeForce 920M] 12a0 GK208 12b9 GK208GLM [Quadro K610M] 12ba GK208GLM [Quadro K510M] @@ -10019,20 +10080,28 @@ 17aa 3697 GeForce 840A 17aa 3699 GeForce 840A 17aa 369c GeForce 840A + 1346 GM108M [GeForce 930M] + 1347 GM108M [GeForce 940M] 1380 GM107 [GeForce GTX 750 Ti] 1381 GM107 [GeForce GTX 750] 1382 GM107 [GeForce GTX 745] - 1389 GM107GL [GRID M3] + 1389 GM107GL [GRID M30] 1390 GM107M [GeForce 845M] 1391 GM107M [GeForce GTX 850M] 17aa 3697 GeForce GTX 850A 17aa a125 GeForce GTX 850A 1392 GM107M [GeForce GTX 860M] 1393 GM107M [GeForce 840M] + 1398 GM107M [GeForce 845M] + 139a GM107M [GeForce GTX 950M] + 139b GM107M [GeForce GTX 960M] + 139c GM107M [GeForce 940M] + 13b0 GM107GLM [N16P-Q3] 13b3 GM107GLM [Quadro K2200M] 13ba GM107GL [Quadro K2200] 13bb GM107GL [Quadro K620] - 13bd GM107GL [Tesla M40] + 13bc GM107GL [Quadro K1200] + 13bd GM107GL [GRID M40] 13c0 GM204 [GeForce GTX 980] 1043 8504 GTX980-4GD5 13c1 GM204 @@ -10041,6 +10110,7 @@ 13d7 GM204M [GeForce GTX 980M] 13d8 GM204M [GeForce GTX 970M] 13d9 GM204M [GeForce GTX 965M] + 1401 GM206 [GeForce GTX 960] 17f0 GM200GL [Quadro M6000] 10df Emulex Corporation 0720 OneConnect NIC (Skyhawk) @@ -10198,6 +10268,8 @@ 5249 RTS5249 PCI Express Card Reader 103c 1909 ZBook 15 5288 RTS5288 PCI Express Card Reader + 5289 RTL8411 PCI Express Card Reader + 1043 1457 K55A Laptop 8029 RTL-8029(AS) 10b8 2011 EZ-Card (SMC1208) 10ec 8029 RTL-8029(AS) @@ -10639,6 +10711,12 @@ 1458 0691 VT82C691 Apollo Pro System Controller 0693 VT82C693 [Apollo Pro Plus] 0698 VT82C693A [Apollo Pro133 AGP] + 0709 VX11 Standard Host Bridge + 070a VX11 PCI Express Root Port + 070b VX11 PCI Express Root Port + 070c VX11 PCI Express Root Port + 070d VX11 PCI Express Root Port + 070e VX11 PCI Express Root Port 0926 VT82C926 [Amazon] 1000 VT82C570MV 1106 VT82C570MV @@ -10894,6 +10972,14 @@ 1458 5000 GA-7VAX Mainboard # probably all K7VT2/4*/6 1849 3189 K7VT series Motherboards + 31b0 VX11 Standard Host Bridge + 31b1 VX11 Standard Host Bridge + 31b2 VX11 DRAM Controller + 31b3 VX11 Power Management Controller + 31b4 VX11 I/O APIC + 31b5 VX11 Scratch Device + 31b7 VX11 Standard Host Bridge + 31b8 VX11 PCI to PCI Bridge 3204 K8M800 Host Bridge 3205 VT8378 [KM400/A] Chipset Host Bridge 1458 5000 GA-7VM400M Motherboard @@ -10946,6 +11032,9 @@ 3410 VX900 DRAM Bus Control 19da a179 ZBOX nano VD01 3432 VL80x xHCI USB 3.0 Controller + 3456 VX11 Standard Host Bridge + 345b VX11 Miscellaneous Bus + 3a01 VX11 Graphics [Chrome 645/640] 4149 VIA VT6420 (ATA133) Controller 4204 K8M800 Host Bridge 4208 PT890 Host Bridge @@ -11046,6 +11135,9 @@ 8d01 PN133/PN133T [S3 Twister] 8d04 KM266/P4M266/P4M266A/P4N266 [S3 ProSavageDDR] 9001 VX900 Serial ATA Controller + 9082 Standard AHCI 1.0 SATA Controller + 9140 HDMI Audio Device + 9201 USB3.0 Controller 9530 Secure Digital Memory Card Controller 95d0 SDIO Host Controller a208 PT890 PCI to PCI Bridge Controller @@ -11596,6 +11688,7 @@ 0070 8993 WinTV HVR-2200 0070 89a0 WinTV HVR-2200 0070 89a1 WinTV HVR-2200 + 0070 f123 WinTV HVR-2205 7231 SAA7231 5ace 8000 Behold TV H8 5ace 8001 Behold TV H8 @@ -15629,6 +15722,7 @@ 080f Sentry5 DDR/SDR RAM Controller 0811 Sentry5 External Interface Core 0816 BCM3302 Sentry5 MIPS32 CPU + 1570 720p FaceTime HD Camera 1600 NetXtreme BCM5752 Gigabit Ethernet PCI Express 1028 01c1 Precision 490 1028 01c2 Latitude D620 @@ -16727,6 +16821,7 @@ 1541 MACHONE Communications 1542 Concurrent Computer Corporation 9260 RCIM-II Real-Time Clock & Interrupt Module + 9271 RCIM-III Real-Time Clock & Interrupt Module (PCIe) 9272 Pulse Width Modulator Card 9277 5 Volt Delta Sigma Converter Card 9278 10 Volt Delta Sigma Converter Card @@ -17517,6 +17612,12 @@ 6302 XMC Module with user-configurable Virtex-6 FPGA, 365k logic cells, SFP front I/O 6303 XMC Module with user-configurable Virtex-6 FPGA, 240k logic cells, no front I/O 6304 XMC Module with user-configurable Virtex-6 FPGA, 365k logic cells, no front I/O + 7000 XMC-7K325F: User-configurable Kintex-7 FPGA, 325k logic cells plus SFP front I/O + 7001 XMC-7K410F: User-configurable Kintex-7 FPGA, 410k logic cells plus SFP front I/O + 7002 XMC-7K325AX: User-Configurable Kintex-7 FPGA, 325k logic cells with AXM Plug-In I/O + 7003 XMC-7K410AX: User-Configurable Kintex-7 FPGA, 410k logic cells with AXM Plug-In I/O + 7004 XMC-7K325CC: User-Configurable Kintex-7 FPGA, 325k logic cells, conduction-cooled + 7005 XMC-7K410CC: User-Configurable Kintex-7 FPGA, 410k logic cells, conduction-cooled 16da Advantech Co., Ltd. 0011 INES GPIB-PCI 16df PIKA Technologies Inc. @@ -17672,6 +17773,7 @@ 0010 PCIe Counter Timer 0011 SIS1100-e single link 0012 SIS1100-e quad link + 0015 SIS8100 [Gigabit link, MicroTCA] 1797 Techwell Inc. 6801 TW6802 multimedia video card 6802 TW6802 multimedia other device @@ -18843,6 +18945,9 @@ 1cf7 Subspace Dynamics # CEM Solutions Pvt. Ltd. 1d21 Allo +1d26 Kalray Inc. + 0040 Turbocard2 Accelerator + e004 AB01/EMB01 Development Board 1d44 DPT a400 PM2x24/PM3224 1d5c Fantasia Trading LLC @@ -18946,6 +19051,10 @@ 3513 ARCOM Control Systems Ltd 37d9 ITD Firm ltd. 1138 SCHD-PH-8 Phase detector +# 12-ch Relay Actuator Card + 1140 VR-12-PCI +# multiport serial board + 1141 PCI-485(422) 3842 eVga.com. Corp. 38ef 4Links 3d3d 3DLabs @@ -20050,6 +20159,7 @@ 0a22 Haswell-ULT Integrated Graphics Controller 0a26 Haswell-ULT Integrated Graphics Controller 0a2a Haswell-ULT Integrated Graphics Controller + 0a2e Haswell-ULT Integrated Graphics Controller 0be0 Atom Processor D2xxx/N2xxx Integrated Graphics Controller 0be1 Atom Processor D2xxx/N2xxx Integrated Graphics Controller 105b 0d7c D270S/D250S Motherboard @@ -20270,11 +20380,16 @@ 0f0a Atom Processor Z36xxx/Z37xxx Series LPIO1 HSUART Controller #1 0f0c Atom Processor Z36xxx/Z37xxx Series LPIO1 HSUART Controller #2 0f0e Atom Processor Z36xxx/Z37xxx Series LPIO1 SPI Controller + 0f12 Atom Processor E3800 Series SMBus Controller 0f14 Atom Processor Z36xxx/Z37xxx Series SDIO Controller 0f15 Atom Processor Z36xxx/Z37xxx Series SDIO Controller 0f16 Atom Processor Z36xxx/Z37xxx Series SDIO Controller 0f18 Atom Processor Z36xxx/Z37xxx Series Trusted Execution Engine 0f1c Atom Processor Z36xxx/Z37xxx Series Power Control Unit + 0f20 Atom Processor E3800 Series SATA IDE Controller + 0f21 Atom Processor E3800 Series SATA IDE Controller + 0f22 Atom Processor E3800 Series SATA AHCI Controller + 0f23 Atom Processor E3800 Series SATA AHCI Controller 0f28 Atom Processor Z36xxx/Z37xxx Series LPE Audio Controller 0f31 Atom Processor Z36xxx/Z37xxx Series Graphics & Display 0f34 Atom Processor Z36xxx/Z37xxx Series USB EHCI @@ -20289,6 +20404,11 @@ 0f45 Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #5 0f46 Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #6 0f47 Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #7 + 0f48 Atom Processor E3800 Series PCI Express Root Port 1 + 0f4a Atom Processor E3800 Series PCI Express Root Port 2 + 0f4c Atom Processor E3800 Series PCI Express Root Port 3 + 0f4e Atom Processor E3800 Series PCI Express Root Port 4 + 0f50 Atom Processor E3800 Series eMMC 4.5 Controller 1000 82542 Gigabit Ethernet Controller (Fiber) 0e11 b0df NC6132 Gigabit Ethernet Adapter (1000-SX) 0e11 b0e0 NC6133 Gigabit Ethernet Adapter (1000-LX) @@ -21163,6 +21283,11 @@ 15a1 Ethernet Connection (2) I218-V 15a2 Ethernet Connection (3) I218-LM 15a3 Ethernet Connection (3) I218-V + 15a8 Ethernet Connection X552 Virtual Function + 15aa Ethernet Connection X552 10 GbE Backplane + 15ab Ethernet Connection X552 10 GbE Backplane + 15ac Ethernet Connection X552 10 GbE SFP+ + 15ad Ethernet Connection X552/X557-AT 10GBASE-T 15b7 Ethernet Connection (2) I219-LM 15b8 Ethernet Connection (2) I219-V 1600 Broadwell-U Host Bridge -OPI -- 2.41.0 From 7342e0eb934dde5e91f51b7ffd99c1f352c9c25a Mon Sep 17 00:00:00 2001 From: John Marino Date: Sun, 15 Feb 2015 11:48:54 +0100 Subject: [PATCH 05/16] gcc50/libstdc++: Use generated symbol map instead For both gcc47 and gcc50, we've been using pregenerate symbol map for libstdc++ due to the apparently complexity of generating it. That's already come back to bite on gcc50 as several symbols were modified and added in the last couple of weeks. It was time to bite the bullet and figure out how to generate the symbol map. It turns out that it really wasn't that hard. This *should* fix some dports errors (tbc). --- gnu/lib/gcc50/libstdcxx/product/Makefile | 15 +- .../libstdcxx/product/libstdc++-symbols.ver | 1426 ----------------- 2 files changed, 11 insertions(+), 1430 deletions(-) delete mode 100644 gnu/lib/gcc50/libstdcxx/product/libstdc++-symbols.ver diff --git a/gnu/lib/gcc50/libstdcxx/product/Makefile b/gnu/lib/gcc50/libstdcxx/product/Makefile index c0e8274315..a7a1a5a357 100644 --- a/gnu/lib/gcc50/libstdcxx/product/Makefile +++ b/gnu/lib/gcc50/libstdcxx/product/Makefile @@ -1,6 +1,7 @@ RELUP= /.. .include "../../Makefile.inc" SRCDIR= ${GCCDIR}/libstdc++-v3 +PREDIR= ${SRCDIR}/config/abi/pre .include "Makefile.src" LIB= stdc++ @@ -14,7 +15,7 @@ CXXFLAGS+= -fno-implicit-templates CXXFLAGS+= -fdiagnostics-show-location=once CXXFLAGS+= -ffunction-sections -fdata-sections LDFLAGS+= -Wl,-z -Wl,relro -Wl,--gc-sections -VERSION_MAP= ${.CURDIR}/libstdc++-symbols.ver +VERSION_MAP= ${.OBJDIR}/libstdcxx.map FLAGS_GROUPS= gnu11 gnu11_FLAGS= -std=gnu++11 @@ -33,6 +34,7 @@ ARADD= ${CONVARCS} ${LIBM} SRCS= ${libstdc___la_SOURCES:S|++|xx|} PROBLEMS= ${libstdc___la_SOURCES:M*++*} +PROBLEMSXX= ${PROBLEMS:S|++|xx|} libstdc++.a: ${SRCS:.cc=.o} script.ar @${ECHO} building static ${LIB} library via script @@ -40,7 +42,7 @@ libstdc++.a: ${SRCS:.cc=.o} script.ar ${AR} -M < script.ar mv libstdcxx.a ${.TARGET} -${PROBLEMS:S|++|xx|}: ${PROBLEMS} +${PROBLEMSXX}: ${PROBLEMS} cp ${SRCDIR}/src/c++11/${.TARGET:S|xx|++|} ${.TARGET} gstdint.h: @@ -57,7 +59,12 @@ script.ar: @echo "SAVE" >> ${.TARGET} @echo "END" >> ${.TARGET} -beforedepend: gstdint.h script.ar ${PROBLEMS:S|++|xx|} -CLEANFILES= gstdint.h script.ar ${PROBLEMS:S|++|xx|} +libstdcxx.map: ${PREDIR}/gnu.ver ${PREDIR}/float128.ver + cat ${.ALLSRC} | grep -E -v '^[ ]*#(#| |$)' | \ + ${CC} -E -P -include ${.CURDIR}/../headers/config.h - > ${.TARGET} + +GENFILES= gstdint.h script.ar ${PROBLEMSXX} libstdcxx.map +CLEANFILES= ${GENFILES} +beforedepend: ${GENFILES} .include diff --git a/gnu/lib/gcc50/libstdcxx/product/libstdc++-symbols.ver b/gnu/lib/gcc50/libstdcxx/product/libstdc++-symbols.ver deleted file mode 100644 index 3b63c3db4d..0000000000 --- a/gnu/lib/gcc50/libstdcxx/product/libstdc++-symbols.ver +++ /dev/null @@ -1,1426 +0,0 @@ -GLIBCXX_3.4 { - global: - extern "C++" - { - std::[A-Z]*; - std::a[a-c]*; - std::ad[a-n]*; - std::ad[p-z]*; - std::a[e-z]*; - std::basic_[a-e]*; - std::basic_f[a-h]*; - std::basic_f[j-r]*; - std::basic_f[t-z]*; - std::basic_[g-h]*; - std::basic_i[a-e]*; - std::basic_istr[a-d]*; - std::basic_i[t-z]*; - std::basic_[j-n]*; - std::basic_o[a-e]*; - std::basic_o[g-r]*; - std::basic_ostr[a-d]*; - std::basic_[p-r]*; - std::basic_[t-z]*; - std::ba[t-z]*; - std::b[b-z]*; - std::c[a-g]*; - std::c[i-n]*; - std::co[^n]*; - std::c[p-s]*; - std::cu[^r]*; - std::c[v-z]*; - std::d[a-d]*; - std::d[f-n]*; - std::d[p-z]*; - std::e[a-q]*; - std::error[^_]*; - std::e[s-z]*; - std::gslice*; - std::h[^a]*; - std::i[a-m]*; - std::ios_base::[A-Ha-e]*; - std::ios_base::failbit; - std::ios_base::fixed; - std::ios_base::floatfield; - std::ios_base::goodbit; - std::ios_base::[h-z]*; - std::ios_base::_M_grow_words*; - std::ios_base::_M_init*; - std::ios_base::Init::[A-Za-z]*; - std::i[p-r]*; - std::istrstream*; - std::i[t-z]*; - std::[A-Zj-k]*; - std::locale::[A-Za-e]*; - std::locale::facet::[A-Za-z]*; - std::locale::facet::_S_get_c_locale*; - std::locale::facet::_S_clone_c_locale*; - std::locale::facet::_S_create_c_locale*; - std::locale::facet::_S_destroy_c_locale*; - std::locale::[A-Zg-h]*; - std::locale::id::[A-Za-z]*; - std::locale::id::_M_id*; - std::locale::[A-Zj-m]*; - std::locale::none*; - std::locale::numeric*; - std::locale::[A-Zo-z]*; - std::locale::_[A-Ha-z]*; - std::locale::_Impl::[A-Za-z]*; - std::locale::_[J-Ra-z]*; - std::locale::_S_normalize_category*; - std::locale::_[T-Za-z]*; - std::logic_error::what*; - std::[A-Z]*; - std::messages*; - std::money*; - std::n[^aueo]*; - std::nothrow; - std::nu[^m]*; - std::num[^e]*; - std::ostrstream*; - std::r[^aeu]*; - std::runtime_error::what*; - std::set_new_handler*; - std::set_terminate*; - std::set_unexpected*; - std::strstream*; - std::strstreambuf*; - std::t[a-g]*; - std::th[a-h]*; - std::th[j-q]*; - std::th[s-z]*; - std::tr1::h[^a]*; - std::t[s-z]*; - std::uncaught_exception*; - std::unexpected*; - std::[A-Zv-z]*; - std::_List_node_base::hook*; - std::_List_node_base::swap*; - std::_List_node_base::unhook*; - std::_List_node_base::reverse*; - std::_List_node_base::transfer*; - std::__timepunct*; - std::__num_base::_S_format_float*; - std::__num_base::_S_format_int*; - std::__num_base::_S_atoms_in; - std::__num_base::_S_atoms_out; - std::__moneypunct_cache*; - std::__numpunct_cache*; - std::__timepunct_cache* - }; - _ZNSsC[12][EI][PRjmvyN]*; - _ZNSsD*; - _ZNSs[0-58-9]a*; - _ZNSs5beginEv; - _ZNSs[0-58-9][c-e]*; - _ZNSs[0-59][g-z]*; - _ZNSs6appendE[PRcjmvy]*; - _ZNSs6assignE[PRcjmvy]*; - _ZNSs6insertE[PRcjmvy]*; - _ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEE[PRcjmvy]*; - _ZNSs[67][j-z]*E[PRcjmvy]*; - _ZNSs7[a-z]*EES2_[NPRjmy]*; - _ZNSs7[a-z]*EES2_S[12]*; - _ZNSs12_Alloc_hiderC*; - _ZNSs12_M_leak_hardEv; - _ZNSs12_S_constructE[jmy]cRKSaIcE; - _ZNSs12_S_empty_repEv; - _ZNSs13_S_copy_chars*; - _ZNSs[0-9][0-9]_M_replace*; - _ZNSs4_Rep10_M_destroy*; - _ZNSs4_Rep10_M_dispose*; - _ZNSs4_Rep10_M_refcopyEv; - _ZNSs4_Rep10_M_refdataEv; - _ZNSs4_Rep12_S_empty_repEv; - _ZNSs4_Rep13_M_set_leakedEv; - _ZNSs4_Rep15_M_set_sharableEv; - _ZNSs4_Rep7_M_grab*; - _ZNSs4_Rep8_M_clone*; - _ZNSs4_Rep9_S_createE[jmy][jmy]*; - _ZNSs7_M_dataEPc; - _ZNSs7_M_leakEv; - _ZNSs9_M_mutateE[jmy][jmy][jmy]; - _ZNSs4_Rep20_S_empty_rep_storageE; - _ZNSs4_Rep11_S_max_sizeE; - _ZNSs4_Rep11_S_terminalE; - _ZNSsaSE[PRc]*; - _ZNSsixE*; - _ZNSspLE[PRc]*; - _ZNKSs[0-3][a-b]*; - _ZNKSs[5-9][a-b]*; - _ZNKSs[0-9][d-e]*; - _ZNKSs[0-9][g-z]*; - _ZNKSs[0-9][0-9][a-z]*; - _ZNKSs4find*; - _ZNKSs[a-z]*; - _ZNKSs4_Rep12_M_is_leakedEv; - _ZNKSs4_Rep12_M_is_sharedEv; - _ZNKSs6_M_repEv; - _ZNKSs7_M_dataEv; - _ZNKSs7_M_iendEv; - _ZNKSs8_M_check*; - _ZNKSs8_M_limit*; - _ZNKSs9_M_ibeginEv; - _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_E*; - _ZNKSs7compare*; - _ZNKSs5c_strEv; - _ZNKSs8capacityEv; - _ZNKSs4copyEPc[jmy][jmy]; - _ZNSbIwSt11char_traitsIwESaIwEEC[12][EI][PRjmvyN]*; - _ZNSbIwSt11char_traitsIwESaIwEED*; - _ZNSbIwSt11char_traitsIwESaIwEE[0-58-9]a*; - _ZNSbIwSt11char_traitsIwESaIwEE5beginEv; - _ZNSbIwSt11char_traitsIwESaIwEE[0-58-9][c-e]*; - _ZNSbIwSt11char_traitsIwESaIwEE[0-59][g-z]*; - _ZNSbIwSt11char_traitsIwESaIwEE6appendE[PRwjmvy]*; - _ZNSbIwSt11char_traitsIwESaIwEE6assignE[PRwjmvy]*; - _ZNSbIwSt11char_traitsIwESaIwEE6insertE[PRwjmvy]*; - _ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EE[PRwjmvy]*; - _ZNSbIwSt11char_traitsIwESaIwEE[67][j-z]*E[PRwjmvy]*; - _ZNSbIwSt11char_traitsIwESaIwEE7[a-z]*EES6_[NPRjmy]*; - _ZNSbIwSt11char_traitsIwESaIwEE7[a-z]*EES6_S[56]*; - _ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC*; - _ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv; - _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructE[jmy]wRKS1_; - _ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv; - _ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_chars*; - _ZNSbIwSt11char_traitsIwESaIwEE[0-9][0-9]_M_replace*; - _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroy*; - _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_dispose*; - _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv; - _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv; - _ZNSbIwSt11char_traitsIwESaIwEE4_Rep12_S_empty_repEv; - _ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv; - _ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv; - _ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grab*; - _ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_clone*; - _ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createE[jmy][jmy]*; - _ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw; - _ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv; - _ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateE[jmy][jmy][jmy]; - _ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE; - _ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE; - _ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE; - _ZNSbIwSt11char_traitsIwESaIwEEaSE[PRw]*; - _ZNSbIwSt11char_traitsIwESaIwEEixE*; - _ZNSbIwSt11char_traitsIwESaIwEEpLE[PRw]*; - _ZNKSbIwSt11char_traitsIwESaIwEE[0-3][a-b]*; - _ZNKSbIwSt11char_traitsIwESaIwEE[5-9][a-b]*; - _ZNKSbIwSt11char_traitsIwESaIwEE[0-9][d-e]*; - _ZNKSbIwSt11char_traitsIwESaIwEE[0-9][g-z]*; - _ZNKSbIwSt11char_traitsIwESaIwEE[0-9][0-9][a-z]*; - _ZNKSbIwSt11char_traitsIwESaIwEE[a-z]*; - _ZNKSbIwSt11char_traitsIwESaIwEE4find*; - _ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv; - _ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv; - _ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv; - _ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv; - _ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv; - _ZNKSbIwSt11char_traitsIwESaIwEE8_M_check*; - _ZNKSbIwSt11char_traitsIwESaIwEE8_M_limit*; - _ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv; - _ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_E*; - _ZNKSbIwSt11char_traitsIwESaIwEE7compare*; - _ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv; - _ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv; - _ZNKSbIwSt11char_traitsIwESaIwEE4copyEPw[jmy][jmy]; - _ZNSt15basic_streambufI[cw]St11char_traitsI[cw]EE[CD]*; - _ZNKSt15basic_streambufI[cw]St11char_traitsI[cw]EE[0-9]*; - _ZNSt15basic_streambufI[cw]St11char_traitsI[cw]EE4set[gp]*; - _ZNSt15basic_streambufI[cw]St11char_traitsI[cw]EE4sync*; - _ZNSt15basic_streambufI[cw]St11char_traitsI[cw]EE[5-9][a-z][^t]*; - _ZNSt15basic_streambufI[cw]St11char_traitsI[cw]EE[0-9][0-9][a-z][^t]*; - _ZNSt15basic_streambufI[cw]St11char_traitsI[cw]EEaSERKS2_; - _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]E[RS]*; - _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EED[^2]*; - _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE[0-9][a-r]*; - _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE[0-9]seek*; - _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE[0-9]set*; - _ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv; - _ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv; - _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs; - _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E; - _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE[0-9][t-z]*; - _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE[0-9]_M_[a-o]*; - _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE[0-9]_M_[q-z]*; - _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE[0-9][0-9]_M_[a-z]*; - _ZNSt19basic_istringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]E[RS]*; - _ZNSt19basic_istringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EED*; - _ZNSt19basic_istringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EE3str*; - _ZNKSt19basic_istringstreamI*; - _ZNSt19basic_ostringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]E[RS]*; - _ZNSt19basic_ostringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EED*; - _ZNSt19basic_ostringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EE3str*; - _ZNKSt19basic_ostringstreamI*; - _ZNSt18basic_stringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]E[RS]*; - _ZNSt18basic_stringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EED*; - _ZNSt18basic_stringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EE3str*; - _ZNKSt18basic_stringstreamI*; - _ZNSdC[12]Ev; - _ZNSdC[12]EP*; - _ZNSdD*; - _ZNSt14basic_iostreamIwSt11char_traitsIwEEC[12]Ev; - _ZNSt14basic_iostreamIwSt11char_traitsIwEEC[12]EP*; - _ZNSt14basic_iostreamIwSt11char_traitsIwEED*; - _ZNSt9basic_iosI[cw]St11char_traitsI[cw]EEC*; - _ZNSt9basic_iosI[cw]St11char_traitsI[cw]EED*; - _ZNKSt9basic_iosI[cw]St11char_traitsI[cw]EEcvPvEv; - _ZNKSt9basic_iosI[cw]St11char_traitsI[cw]EEntEv*; - _ZNKSt9basic_iosI[cw]St11char_traitsI[cw]EE[0-9]*; - _ZNSt9basic_iosI[cw]St11char_traitsI[cw]EE1[015]*; - _ZNSt9basic_iosI[cw]St11char_traitsI[cw]EE3tie*; - _ZNSt9basic_iosI[cw]St11char_traitsI[cw]EE4fill*; - _ZNSt9basic_iosI[cw]St11char_traitsI[cw]EE4init*; - _ZNSt9basic_iosI[cw]St11char_traitsI[cw]EE[578][a-z]*; - _ZNSt13basic_filebufI[cw]St11char_traitsI[cw]EEC[12]Ev; - _ZNSt13basic_filebufI[cw]St11char_traitsI[cw]EED*; - _ZNSt13basic_filebufI[cw]St11char_traitsI[cw]EE0*; - _ZNSt13basic_filebufI[cw]St11char_traitsI[cw]EE13*; - _ZNSt13basic_filebufI[cw]St11char_traitsI[cw]EE15*; - _ZNSt13basic_filebufI[cw]St11char_traitsI[cw]EE16*; - _ZNSt13basic_filebufI[cw]St11char_traitsI[cw]EE19*; - _ZNSt13basic_filebufI[cw]St11char_traitsI[cw]EE2*; - _ZNSt13basic_filebufI[cw]St11char_traitsI[cw]EE3*; - _ZNSt13basic_filebufI[cw]St11char_traitsI[cw]EE4openEPKc*; - _ZNSt13basic_filebufI[cw]St11char_traitsI[cw]EE4sync*; - _ZNSt13basic_filebufI[cw]St11char_traitsI[cw]EE[5-9]*; - _ZNKSt13basic_filebufI[cw]St11char_traitsI[cw]EE7is_openEv; - _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EEC[12]Ev; - _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EEC[12]EPKc*; - _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EED*; - _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EE5closeEv; - _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EE7is_openEv; - _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EE4openEPKc*; - _ZNKSt13basic_fstreamI[cw]St11char_traitsI[cw]EE5rdbufEv; - _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EEC[12]Ev; - _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EEC[12]EPKc*; - _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EED*; - _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EE5closeEv; - _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EE7is_openEv; - _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EE4openEPKc*; - _ZNKSt14basic_ifstreamI[cw]St11char_traitsI[cw]EE5rdbufEv; - _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EEC[12]Ev; - _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EEC[12]EPKc*; - _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EED*; - _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EE5closeEv; - _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EE7is_openEv; - _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EE4openEPKc*; - _ZNKSt14basic_ofstreamI[cw]St11char_traitsI[cw]EE5rdbufEv; - _ZNSiC[12]Ev; - _ZNSiC[12]EP*; - _ZNSiD*; - _ZNKSi6sentry*; - _ZNKSi6gcount*; - _ZNSi3get*; - _ZNSi4peek*; - _ZNSi4read*; - _ZNSi4sync*; - _ZNSi7getline*; - _ZNSi[5-9][j-z]*; - _ZNSi6ignoreE[ilx][ilx]; - _ZNSirsE*[^g]; - _ZNSt13basic_istreamIwSt11char_traitsIwEEC[12]Ev; - _ZNSt13basic_istreamIwSt11char_traitsIwEEC[12]EP*; - _ZNSt13basic_istreamIwSt11char_traitsIwEED*; - _ZNKSt13basic_istreamIwSt11char_traitsIwEE[0-9][a-z]*; - _ZNSt13basic_istreamIwSt11char_traitsIwEE3get*; - _ZNSt13basic_istreamIwSt11char_traitsIwEE4peek*; - _ZNSt13basic_istreamIwSt11char_traitsIwEE4read*; - _ZNSt13basic_istreamIwSt11char_traitsIwEE4sync*; - _ZNSt13basic_istreamIwSt11char_traitsIwEE[5-9][j-z]*; - _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreE[ilx][ijlmx]; - _ZNSt13basic_istreamIwSt11char_traitsIwEE7getline*; - _ZNSt13basic_istreamIwSt11char_traitsIwEErsE*[^g]; - _ZSt7getlineI[cw]St11char_traitsI[cw]ESaI[cw]EERSt13basic_istreamIT_T0_ES7_RSbI*; - _ZSt2wsI[cw]St11char_traitsI[cw]EE*; - _ZStrsI[cw]St11char_traitsI[cw]EERSt13basic_istream*; - _ZStrsI[cw]St11char_traitsI[cw]ESaI[cw]EERSt13basic_istreamIT_T0_ES7_RSbI*; - _ZStrsISt11char_traitsI[cw]EERSt13basic_istream*; - _ZStrsId[cw]St11char_traitsI[cw]EERSt13basic_istream*; - _ZStrsIe[cw]St11char_traitsI[cw]EERSt13basic_istream*; - _ZStrsIf[cw]St11char_traitsI[cw]EERSt13basic_istream*; - _ZNSoC[12]Ev; - _ZNSoC[12]EP*; - _ZNSoD*; - _ZNKSo6sentrycvbEv; - _ZNSo8_M_writeEPKc[ilx]; - _ZNSo3put*; - _ZNSo[5-9][a-z]*; - _ZNSolsE*[^g]; - _ZNSt13basic_ostreamIwSt11char_traitsIwEEC[12]Ev; - _ZNSt13basic_ostreamIwSt11char_traitsIwEEC[12]EP*; - _ZNSt13basic_ostreamIwSt11char_traitsIwEED*; - _ZNKSt13basic_ostreamIwSt11char_traitsIwEE[0-9][a-z]*; - _ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw; - _ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv; - _ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpE*; - _ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv; - _ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKw*; - _ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentry*; - _ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKw[ilx]; - _ZNSt13basic_ostreamIwSt11char_traitsIwEElsE*[^g]; - _ZSt4end[ls]I[cw]St11char_traitsI[cw]EERSt13basic_ostream*; - _ZSt5flushI[cw]St11char_traitsI[cw]EERSt13basic_ostream*; - _ZStlsI[cw]St11char_traitsI[cw]EERSt13basic_ostream*; - _ZStlsI[cw]St11char_traitsI[cw]ESaI[cw]EERSt13basic_ostreamIT_T0_ES7_RKSbI*; - _ZStlsISt11char_traitsI[cw]EERSt13basic_ostream*; - _ZStlsId[cw]St11char_traitsI[cw]EERSt13basic_ostream*; - _ZStlsIe[cw]St11char_traitsI[cw]EERSt13basic_ostream*; - _ZStlsIf[cw]St11char_traitsI[cw]EERSt13basic_ostream*; - _ZNSt6localeD*; - _ZNKSt6locale4nameEv; - _ZNSt6locale5facetD*; - _ZNSt6locale5_ImplC*; - _ZNSt6locale5_ImplD*; - _ZNSt8ios_baseD*; - _ZNSt8ios_base4InitD*; - _ZNSt8ios_base7failureC*; - _ZNSt8ios_base7failureD*; - _ZNKSt8ios_base7failure4whatEv; - _ZSt9has_facetIS*; - _ZSt9use_facetIS*; - _ZNKSt5ctypeIcE8*; - _ZNKSt5ctypeIcE9*; - _ZNKSt5ctypeIcE10*; - _ZNKSt5ctypeIw*; - _ZNSt5ctypeI[cw]*; - _ZNSt10ctype_base[56][ac-z]*; - _ZNSt12ctype_bynameI[cw]*; - _ZNKSt7num_getI[cw]St19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEE[2-9]*; - _ZNKSt7num_getI[cw]St19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEE14_M_extract_intI*; - _ZNKSt7num_getI[cw]St19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEE16_M_extract_floatI*; - _ZNKSt7num_putI[cw]St19ostreambuf_iteratorI[cw]St11char_traitsI[cw]EEE[2-9]*; - _ZNKSt7num_putI[cw]St19ostreambuf_iteratorI[cw]St11char_traitsI[cw]EEE1[234]*; - _ZNKSt7num_putI[cw]St19ostreambuf_iteratorI[cw]St11char_traitsI[cw]EEE15_M_insert_floatI*; - _ZNKSt9money_getI[cw]St19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEE[2-9]*; - _ZNKSt9money_getI[cw]St19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEE10_M_extractILb[01]EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs; - _ZNKSt9money_putI[cw]St19ostreambuf_iteratorI[cw]St11char_traitsI[cw]EEE[1-8]*; - _ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb[01]EEES3_S3_RSt8ios_basecRKSs; - _ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb[01]EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE; - _ZNSt8time_get*; - _ZNKSt8time_getI[cw]St19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEE1*; - _ZNKSt8time_getI[cw]St19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEE8*; - _ZNKSt8time_getI[cw]St19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEE21*; - _ZNSt15time_get_byname*; - _ZNSt8time_put*; - _ZNKSt8time_put*; - _ZNSt15time_put_byname*; - _ZNSt21__numeric_limits_base[5-9]*; - _ZNSt21__numeric_limits_base1[0-7][hirt]*; - _ZNSt21__numeric_limits_base1[0-7]mi*; - _ZNSt21__numeric_limits_base1[0-7]max_e*; - _ZNSt14numeric_limitsI[a-m]E[5-9]*; - _ZNSt14numeric_limitsI[p-z]E[5-9]*; - _ZNSt14numeric_limitsI[a-m]E1[0-7][hirt]*; - _ZNSt14numeric_limitsI[p-z]E1[0-7][hirt]*; - _ZNSt14numeric_limitsI[a-m]E1[0-7]mi*; - _ZNSt14numeric_limitsI[p-z]E1[0-7]mi*; - _ZNSt14numeric_limitsI[a-m]E1[0-7]max_e*; - _ZNSt14numeric_limitsI[p-z]E1[0-7]max_e*; - _ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base; - _ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base; - _ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base; - _ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base; - _ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_; - _ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_; - _ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_; - _ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_; - _ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_; - _ZNKSt12__basic_fileIcE7is_openEv; - _ZNSt12__basic_fileIcE2fdEv; - _ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei; - _ZNSt12__basic_fileIcE4syncEv; - _ZNSt12__basic_fileIcE5closeEv; - _ZNSt12__basic_fileIcE6xsgetn*; - _ZNSt12__basic_fileIcE6xsputn*; - _ZNSt12__basic_fileIcE7seekoff*; - _ZNSt12__basic_fileIcE8sys_openE*St13_Ios_Openmode; - _ZNSt12__basic_fileIcE8xsputn_2*; - _ZNSt12__basic_fileIcE9showmanycEv; - _ZNSt12__basic_fileIcEC*; - _ZNSt12__basic_fileIcED*; - _ZSt14__convert_to_vI[^g]*; - _ZTVN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE; - _ZN9__gnu_cxx12__atomic_addEPV[il]i; - _ZN9__gnu_cxx18__exchange_and_addEPV[il]i; - _ZN10__gnu_norm15_List_node_base4hook*; - _ZN10__gnu_norm15_List_node_base4swap*; - _ZN10__gnu_norm15_List_node_base6unhookEv; - _ZN10__gnu_norm15_List_node_base7reverseEv; - _ZN10__gnu_norm15_List_node_base8transfer*; - _ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv; - _ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv; - _ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv; - _ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_; - _ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb; - _ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv; - _ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv; - _ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_; - _ZNK11__gnu_debug16_Error_formatter10_M_message*; - _ZNK11__gnu_debug16_Error_formatter10_Parameter*; - _ZNK11__gnu_debug16_Error_formatter13_M_print_word*; - _ZNK11__gnu_debug16_Error_formatter15_M_print_string*; - _ZNK11__gnu_debug16_Error_formatter8_M_error*; - _ZSt16__throw_bad_castv; - _ZSt17__throw_bad_allocv; - _ZSt18__throw_bad_typeidv; - _ZSt19__throw_ios_failurePKc; - _ZSt19__throw_logic_errorPKc; - _ZSt19__throw_range_errorPKc; - _ZSt20__throw_domain_errorPKc; - _ZSt20__throw_length_errorPKc; - _ZSt20__throw_out_of_rangePKc; - _ZSt21__throw_bad_exceptionv; - _ZSt21__throw_runtime_errorPKc; - _ZSt22__throw_overflow_errorPKc; - _ZSt23__throw_underflow_errorPKc; - _ZSt24__throw_invalid_argumentPKc; - _Znw[jmy]; - _Znw[jmy]RKSt9nothrow_t; - _ZdlPv; - _ZdlPvRKSt9nothrow_t; - _Zna[jmy]; - _Zna[jmy]RKSt9nothrow_t; - _ZdaPv; - _ZdaPvRKSt9nothrow_t; - _ZTVNSt8ios_base7failureE; - _ZTVNSt6locale5facetE; - _ZTVS[a-z]; - _ZTVSt[0-9][A-Za-z]*; - _ZTVSt[0-9][0-9][A-Z]*; - _ZTVSt[0-9][0-9]a*; - _ZTVSt10bad_typeid; - _ZTVSt13bad_exception; - _ZTVSt1[34]basic*; - _ZTVSt15basic_streambufI*; - _ZTVSt15basic_stringbufI*; - _ZTVSt18basic_stringstreamI*; - _ZTVSt19basic_istringstreamI*; - _ZTVSt19basic_ostringstreamI*; - _ZTVSt[0-9][0-9][c-d]*; - _ZTVSt[0-9][0-9][g-k]*; - _ZTVSt11logic_error; - _ZTVSt12length_error; - _ZTVSt[0-9][0-9][m]*; - _ZTVSt[0-9][0-9]n[^e]*; - _ZTVSt[0-9][0-9][o-q]*; - _ZTVSt11range_error; - _ZTVSt13runtime_error; - _ZTVSt[0-9][0-9][t-z]*; - _ZTVSt[0-9][0-9]e[^r]*; - _ZTVSt[0-9][0-9]s[^y]*; - _ZTVSt11__timepunctI[cw]E; - _ZTVSt23__codecvt_abstract_baseI[cw]c11__mbstate_tE; - _ZTVSt21__ctype_abstract_baseI[cw]E; - _ZTTS[a-z]; - _ZTTSt[0-9][A-Za-z]*; - _ZTTSt1[0-4]*; - _ZTTSt15a*; - _ZTTSt15basic_streambufI*; - _ZTTSt15basic_stringbufI*; - _ZTTSt15[c-z]*; - _ZTTSt1[67]*; - _ZTTSt18basic_stringstreamI*; - _ZTTSt19basic_istringstreamI*; - _ZTTSt19basic_ostringstreamI*; - _ZTTSt[2-9]*; - _ZTIS[a-z]; - _ZTISt[0-9][A-Za-z]*; - _ZTISt[0-9][0-9][A-Z]*; - _ZTISt[0-9][0-9]a*; - _ZTISt10bad_typeid; - _ZTISt13bad_exception; - _ZTISt1[34]basic*; - _ZTISt15basic_streambufI*; - _ZTISt15basic_stringbufI*; - _ZTISt18basic_stringstreamI*; - _ZTISt19basic_istringstreamI*; - _ZTISt19basic_ostringstreamI*; - _ZTISt[0-9][0-9][c-d]*; - _ZTISt[0-9][0-9][g-k]*; - _ZTISt11logic_error; - _ZTISt12length_error; - _ZTISt[0-9][0-9][m]*; - _ZTISt[0-9][0-9]n[^e]*; - _ZTISt[0-9][0-9][o-q]*; - _ZTISt11range_error; - _ZTISt13runtime_error; - _ZTISt[0-9][0-9][t-z]*; - _ZTISt[0-9][0-9]e[^r]*; - _ZTISt[0-9][0-9]s[^y]*; - _ZTISt11__timepunctI[cw]E; - _ZTISt10__num_base; - _ZTISt21__ctype_abstract_baseI[cw]E; - _ZTISt23__codecvt_abstract_baseI[cw]c11__mbstate_tE; - _ZTINSt8ios_base7failureE; - _ZTINSt6locale5facetE; - _ZTIN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE; - _ZTIN9__gnu_cxx13stdio_filebufI[cw]St11char_traitsI[cw]EEE; - _ZTSNSt8ios_base7failureE; - _ZTSNSt6locale5facetE; - _ZTSS[a-z]; - _ZTSSt[0-9][A-Za-z]*; - _ZTSSt[0-9][0-9][A-Z]*; - _ZTSSt[0-9][0-9]a*; - _ZTSSt10bad_typeid; - _ZTSSt13bad_exception; - _ZTSSt1[34]basic*; - _ZTSSt15basic_stringbufI*; - _ZTSSt15basic_streambufI*; - _ZTSSt18basic_stringstreamI*; - _ZTSSt19basic_istringstreamI*; - _ZTSSt19basic_ostringstreamI*; - _ZTSSt[0-9][0-9][c-d]*; - _ZTSSt[0-9][0-9][g-k]*; - _ZTSSt11logic_error; - _ZTSSt12length_error; - _ZTSSt[0-9][0-9][m]*; - _ZTSSt[0-9][0-9]n[^e]*; - _ZTSSt[0-9][0-9][o-q]*; - _ZTSSt11range_error; - _ZTSSt13runtime_error; - _ZTSSt[0-9][0-9][t-z]*; - _ZTSSt[0-9][0-9]e[^r]*; - _ZTSSt[0-9][0-9]s[^y]*; - _ZTSSt11__timepunctI[cw]E; - _ZTSSt10__num_base; - _ZTSSt21__ctype_abstract_baseI[cw]E; - _ZTSSt23__codecvt_abstract_baseI[cw]c11__mbstate_tE; - _ZTSN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE; - _ZTSN9__gnu_cxx13stdio_filebufI[cw]St11char_traitsI[cw]EEE; - _ZNSt9bad_allocD*; - _ZNSt8bad_castD*; - _ZNSt10bad_typeidD*; - _ZNSt13bad_exceptionD*; - _ZGVNSt[2-6]*; - _ZGVNSt7collateI[cw]*; - _ZGVNSt7num_getI[cw]*; - _ZGVNSt7num_putI[cw]*; - _ZGVNSt8messagesI[cw]*; - _ZGVNSt8numpunctI[cw]*; - _ZGVNSt8time_getI[cw]*; - _ZGVNSt8time_putI[cw]*; - _ZGVNSt9money_getI[cw]*; - _ZGVNSt9money_putI[cw]*; - _ZGVNSt1[^07]*; - _ZGVNSt10moneypunctI[cw]Lb[01]*; - _ZNSt11logic_errorC[12]ERKSs; - _ZNSt13runtime_errorC[12]ERKSs; - _ZNSt11range_errorC[12]ERKSs; - _ZNSt12domain_errorC[12]ERKSs; - _ZNSt12length_errorC[12]ERKSs; - _ZNSt12out_of_rangeC[12]ERKSs; - _ZNSt14overflow_errorC[12]ERKSs; - _ZNSt15underflow_errorC[12]ERKSs; - _ZNSt16invalid_argumentC[12]ERKSs; - _ZNSt11logic_errorD[012]Ev; - _ZNSt13runtime_errorD[012]Ev; - _ZNSt11range_errorD[01]Ev; - _ZNSt12domain_errorD[01]Ev; - _ZNSt12length_errorD[01]Ev; - _ZNSt12out_of_rangeD[01]Ev; - _ZNSt14overflow_errorD[01]Ev; - _ZNSt15underflow_errorD[01]Ev; - _ZNSt16invalid_argumentD[01]Ev; - _ZThn8_NS[dio]*; - _ZThn8_NSt1[0-9]a*; - _ZThn8_NSt1[34]basic*; - _ZThn8_NSt18basic_stringstreamI*; - _ZThn8_NSt19basic_[io]stringstreamI*; - _ZThn8_NSt1[0-9][c-z]*; - _ZThn8_NSt[2-9][a-z0-9]*; - _ZThn16_NS[dio]*; - _ZThn16_NSt1[0-9]a*; - _ZThn16_NSt1[34]basic*; - _ZThn16_NSt18basic_stringstreamI*; - _ZThn16_NSt19basic_[io]stringstreamI*; - _ZThn16_NSt1[0-9][c-z]*; - _ZThn16_NSt[2-9][a-z0-9]*; - _ZTv0_n12_NS[dio]*; - _ZTv0_n12_NSt1[0-9]a*; - _ZTv0_n12_NSt1[34]basic*; - _ZTv0_n12_NSt15basic_streambufI*; - _ZTv0_n12_NSt15basic_stringbufI*; - _ZTv0_n12_NSt18basic_stringstreamI*; - _ZTv0_n12_NSt19basic_[io]stringstreamI*; - _ZTv0_n12_NSt1[0-9][c-z]*; - _ZTv0_n12_NSt[2-9][a-z0-9]*; - _ZTv0_n24_NS[dio]*; - _ZTv0_n24_NSt1[0-9]a*; - _ZTv0_n24_NSt1[34]basic*; - _ZTv0_n24_NSt15basic_streambufI*; - _ZTv0_n24_NSt15basic_stringbufI*; - _ZTv0_n24_NSt18basic_stringstreamI*; - _ZTv0_n24_NSt19basic_[io]stringstreamI*; - _ZTv0_n24_NSt1[0-9][c-z]*; - _ZTv0_n24_NSt[2-9][a-z0-9]*; - sinf; - sinl; - sinhf; - sinhl; - cosf; - cosl; - coshf; - coshl; - tanf; - tanl; - tanhf; - tanhl; - atan2f; - atan2l; - expf; - expl; - hypotf; - hypotl; - hypot; - logf; - logl; - log10f; - log10l; - powf; - powl; - sqrtf; - sqrtl; - copysignf; - _ZNKSs11_M_disjunctEPKc; - _ZNKSs15_M_check_lengthE[jmy][jmy]PKc; - _ZNSs4_Rep26_M_set_length_and_sharableE*; - _ZNSs7_M_copyEPcPKc[jmy]; - _ZNSs7_M_moveEPcPKc[jmy]; - _ZNSs9_M_assignEPc[jmy]c; - _ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw; - _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthE[jmy][jmy]PKc; - _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableE*; - _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKw[jmy]; - _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKw[jmy]; - _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPw[jmy]w; - _ZNKSt13basic_fstreamI[cw]St11char_traitsI[cw]EE7is_openEv; - _ZNKSt14basic_ifstreamI[cw]St11char_traitsI[cw]EE7is_openEv; - _ZNKSt14basic_ofstreamI[cw]St11char_traitsI[cw]EE7is_openEv; - _ZNSi6ignoreE[ilvx]; - _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreE[ilvx]; - _ZNSt11char_traitsI[cw]E2eqERK[cw]S2_; - _ZNSt19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEppEv; - _ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE; - _ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE; - _ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE; - _ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i; - local: - *; -}; -GLIBCXX_3.4.1 { - _ZNSt12__basic_fileIcE4fileEv; -} GLIBCXX_3.4; -GLIBCXX_3.4.2 { - _ZN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EE4fileEv; - _ZN9__gnu_cxx17__pool_alloc_base9_M_refillE[jmy]; - _ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listE[jmy]; - _ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv; -} GLIBCXX_3.4.1; -GLIBCXX_3.4.3 { - acosf; - acosl; - asinf; - asinl; - atanf; - atanl; - ceilf; - ceill; - floorf; - floorl; - fmodf; - fmodl; - frexpf; - frexpl; - ldexpf; - ldexpl; - modff; - modfl; -} GLIBCXX_3.4.2; -GLIBCXX_3.4.4 { - _ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv; - _ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE; - _ZN9__gnu_cxx6__poolILb1EE21_M_destroy_thread_keyEPv; - _ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv; - _ZN9__gnu_cxx6__poolILb[01]EE16_M_reserve_blockE[jmy][jmy]; - _ZN9__gnu_cxx6__poolILb[01]EE16_M_reclaim_blockEPc[jmy]; - _ZN9__gnu_cxx6__poolILb[01]EE10_M_destroyEv; - _ZN9__gnu_cxx9free_list6_M_getE*; - _ZN9__gnu_cxx9free_list8_M_clearEv; -} GLIBCXX_3.4.3; -GLIBCXX_3.4.5 { - _ZNKSs11_M_disjunctEPKc; - _ZNKSs15_M_check_lengthE[jmy][jmy]PKc; - _ZNSs4_Rep26_M_set_length_and_sharableE*; - _ZNSs7_M_copyEPcPKc[jmy]; - _ZNSs7_M_moveEPcPKc[jmy]; - _ZNSs9_M_assignEPc[jmy]c; - _ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw; - _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthE[jmy][jmy]PKc; - _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableE*; - _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKw[jmy]; - _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKw[jmy]; - _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPw[jmy]w; - _ZNKSt13basic_fstreamI[cw]St11char_traitsI[cw]EE7is_openEv; - _ZNKSt14basic_ifstreamI[cw]St11char_traitsI[cw]EE7is_openEv; - _ZNKSt14basic_ofstreamI[cw]St11char_traitsI[cw]EE7is_openEv; - _ZNSi6ignoreE[ilvx]; - _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreE[ilvx]; - _ZNSt11char_traitsI[cw]E2eqERK[cw]S2_; - _ZNSt19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEppEv; -} GLIBCXX_3.4.4; -GLIBCXX_3.4.6 { - _ZSt17__copy_streambufsI[cw]St11char_traitsI[cw]EE[ix]PSt15basic_streambuf*; - _ZNSt8ios_base17_M_call_callbacksENS_5eventE; - _ZNSt8ios_base20_M_dispose_callbacksEv; - _ZNSt6locale5facet13_S_get_c_nameEv; - _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE9showmanycEv; - _ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv; - _ZN9__gnu_cxx6__poolILb1EE13_M_initializeEv; -} GLIBCXX_3.4.5; -GLIBCXX_3.4.7 { - _ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetE[jmy]; -} GLIBCXX_3.4.6; -GLIBCXX_3.4.8 { - _ZSt17__copy_streambufsI[cw]St11char_traitsI[cw]EElPSt15basic_streambuf*; -} GLIBCXX_3.4.7; -GLIBCXX_3.4.9 { - _ZNSt6__norm15_List_node_base4hook*; - _ZNSt6__norm15_List_node_base4swap*; - _ZNSt6__norm15_List_node_base6unhookEv; - _ZNSt6__norm15_List_node_base7reverseEv; - _ZNSt6__norm15_List_node_base8transfer*; - _ZNSo9_M_insertI[^g]*; - _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertI[^g]*; - _ZNSi10_M_extractI[^g]*; - _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractI[^g]*; - _ZSt21__copy_streambufs_eofI[cw]St11char_traitsI[cw]EE[ilx]PSt15basic_streambuf*; - _ZSt16__ostream_insert*; - _ZN11__gnu_debug19_Safe_sequence_base12_M_get_mutexEv; - _ZN11__gnu_debug19_Safe_iterator_base16_M_attach_singleEPNS_19_Safe_sequence_baseEb; - _ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv; - _ZN11__gnu_debug19_Safe_iterator_base12_M_get_mutexEv; - _ZNKSt9bad_alloc4whatEv; - _ZNKSt8bad_cast4whatEv; - _ZNKSt10bad_typeid4whatEv; - _ZNKSt13bad_exception4whatEv; -} GLIBCXX_3.4.8; -GLIBCXX_3.4.10 { - _ZNK11__gnu_debug16_Error_formatter17_M_get_max_lengthEv; - _ZNKSt3tr14hashIRKSbIwSt11char_traitsIwESaIwEEEclES6_; - _ZNKSt3tr14hashIRKSsEclES2_; - _ZNKSt3tr14hashISbIwSt11char_traitsIwESaIwEEEclES4_; - _ZNKSt3tr14hashISsEclESs; - _ZNKSt3tr14hashIeEclEe; - _ZNKSt4hashIRKSbIwSt11char_traitsIwESaIwEEEclES5_; - _ZNKSt4hashIRKSsEclES1_; - _ZNKSt4hashISbIwSt11char_traitsIwESaIwEEEclES3_; - _ZNKSt4hashISsEclESs; - _ZNKSt4hashIeEclEe; - _ZSt17__verify_groupingPKc[mj]RKSs; - _ZNSt8__detail12__prime_listE; - _ZNSt3tr18__detail12__prime_listE; - _ZN14__gnu_parallel9_Settings3getEv; - _ZN14__gnu_parallel9_Settings3setERS0_; - _ZNSt9__cxx199815_List_node_base4hook*; - _ZNSt9__cxx199815_List_node_base4swap*; - _ZNSt9__cxx199815_List_node_base6unhookEv; - _ZNSt9__cxx199815_List_node_base7reverseEv; - _ZNSt9__cxx199815_List_node_base8transfer*; - _ZNSt15basic_streambufI[cw]St11char_traitsI[cw]EE6stosscEv; - _ZN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EE4syncEv; - _ZN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EE[5-9]*; - _ZN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEC[12]EP*; - _ZN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EED[^2]*; -} GLIBCXX_3.4.9; -GLIBCXX_3.4.11 { - __atomic_flag_for_address; - __atomic_flag_wait_explicit; - atomic_flag_clear_explicit; - atomic_flag_test_and_set_explicit; - _ZNVSt9__atomic011atomic_flag12test_and_setESt12memory_order; - _ZNVSt9__atomic011atomic_flag5clearESt12memory_order; - _ZSt10adopt_lock; - _ZSt10defer_lock; - _ZSt11try_to_lock; - _ZTISt10lock_error; - _ZTVSt10lock_error; - _ZTSSt10lock_error; - _ZNKSt10lock_error4whatEv; - _ZSt11__once_call; - _ZSt15__once_callable; - _ZSt14__once_functor; - _ZSt23__get_once_functor_lockv; - __once_proxy; - _ZNSt18condition_variable10notify_allEv; - _ZNSt18condition_variable10notify_oneEv; - _ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE; - _ZNSt18condition_variableC1Ev; - _ZNSt18condition_variableC2Ev; - _ZNSt18condition_variableD1Ev; - _ZNSt18condition_variableD2Ev; - _ZNSt22condition_variable_anyC1Ev; - _ZNSt22condition_variable_anyC2Ev; - _ZNSt22condition_variable_anyD1Ev; - _ZNSt22condition_variable_anyD2Ev; - _ZNSt6thread4joinEv; - _ZNSt6thread6detachEv; - _ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEE; - _ZSt15system_categoryv; - _ZSt16generic_categoryv; - _ZNKSt10error_code23default_error_conditionEv; - _ZNKSt14error_category23default_error_conditionEi; - _ZNKSt14error_category10equivalentERKSt10error_codei; - _ZNKSt14error_category10equivalentEiRKSt15error_condition; - _ZTISt14error_category; - _ZTSSt14error_category; - _ZTVSt14error_category; - _ZTSSt12system_error; - _ZTISt12system_error; - _ZTVSt12system_error; - _ZNSt12system_errorD*Ev; - _ZNKSt4hashISt10error_codeEclES0_; - _ZSt20__throw_system_errori; - _ZNSt14numeric_limitsIDiE[5-9]*; - _ZNSt14numeric_limitsIDsE[5-9]*; - _ZNSt14numeric_limitsIDiE1[0-7][hirt]*; - _ZNSt14numeric_limitsIDsE1[0-7][hirt]*; - _ZNSt14numeric_limitsIDiE1[0-7]mi*; - _ZNSt14numeric_limitsIDsE1[0-7]mi*; - _ZNSt14numeric_limitsIDiE1[0-7]max_e*; - _ZNSt14numeric_limitsIDsE1[0-7]max_e*; - _ZNSt6chrono12system_clock12is_monotonicE; - _ZNSt6chrono12system_clock3nowEv; - _ZNSt6chrono15monotonic_clock12is_monotonicE; - _ZNSt6chrono15monotonic_clock3nowEv; - _ZNSs6appendESt16initializer_listIcE; - _ZNSs6assignESt16initializer_listIcE; - _ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEESt16initializer_listIcE; - _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_St16initializer_listIcE; - _ZNSsC1ESt16initializer_listIcERKSaIcE; - _ZNSsC2ESt16initializer_listIcERKSaIcE; - _ZNSsaSESt16initializer_listIcE; - _ZNSspLESt16initializer_listIcE; - _ZNSbIwSt11char_traitsIwESaIwEE6appendESt16initializer_listIwE; - _ZNSbIwSt11char_traitsIwESaIwEE6assignESt16initializer_listIwE; - _ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EESt16initializer_listIwE; - _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_St16initializer_listIwE; - _ZNSbIwSt11char_traitsIwESaIwEEC1ESt16initializer_listIwERKS1_; - _ZNSbIwSt11char_traitsIwESaIwEEC2ESt16initializer_listIwERKS1_; - _ZNSbIwSt11char_traitsIwESaIwEEaSESt16initializer_listIwE; - _ZNSbIwSt11char_traitsIwESaIwEEpLESt16initializer_listIwE; - _ZNKSt5ctypeIcE14_M_narrow_initEv; - _ZNKSt5ctypeIcE13_M_widen_initEv; -} GLIBCXX_3.4.10; -GLIBCXX_3.4.12 { - _ZSt27__set_once_functor_lock_ptrPSt11unique_lockISt5mutexE; - _ZSt16__get_once_mutexv; -} GLIBCXX_3.4.11; -GLIBCXX_3.4.13 { - _ZNSt13basic_filebufI[cw]St11char_traitsI[cw]EE4openERKSsSt13_Ios_Openmode; - _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EEC[12]ERKSsSt13_Ios_Openmode; - _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EE4openERKSsSt13_Ios_Openmode; - _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EEC[12]ERKSsSt13_Ios_Openmode; - _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EE4openERKSsSt13_Ios_Openmode; - _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EEC[12]ERKSsSt13_Ios_Openmode; - _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EE4openERKSsSt13_Ios_Openmode; -} GLIBCXX_3.4.12; -GLIBCXX_3.4.14 { - _ZNSt9__atomic011atomic_flag12test_and_setESt12memory_order; - _ZNSt9__atomic011atomic_flag5clearESt12memory_order; - _ZNSt12future_errorD*; - _ZNKSt12future_error4whatEv; - _ZTSSt12future_error; - _ZTVSt12future_error; - _ZTISt12future_error; - _ZSt20__throw_future_errori; - _ZSt15future_category; - _ZNKSs6cbeginEv; - _ZNKSs4cendEv; - _ZNKSs7crbeginEv; - _ZNKSs5crendEv; - _ZNKSbIwSt11char_traitsIwESaIwEE4cendEv; - _ZNKSbIwSt11char_traitsIwESaIwEE6cbeginEv; - _ZNKSbIwSt11char_traitsIwESaIwEE7crbeginEv; - _ZNKSbIwSt11char_traitsIwESaIwEE5crendEv; - _ZNSs12_S_constructI*; - _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructI*; - _ZNSs18_S_construct_aux_2*; - _ZNSbIwSt11char_traitsIwESaIwEE18_S_construct_aux_2*; - _ZNSs13shrink_to_fitEv; - _ZNSbIwSt11char_traitsIwESaIwEE13shrink_to_fitEv; - _ZNSsC1EOSs; - _ZNSbIwSt11char_traitsIwESaIwEEC1EOS2_; - _ZNSsaSEOSs; - _ZNSbIwSt11char_traitsIwESaIwEEaSEOS2_; - _ZNSs6assignEOSs; - _ZNSbIwSt11char_traitsIwESaIwEE6assignEOS2_; - _ZSt25__throw_bad_function_callv; - _ZNKSt8time_getI[cw]St19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEE24_M_extract_wday_or_month*; - _ZNSt15_List_node_base7_M_hook*; - _ZNSt15_List_node_base9_M_unhookEv; - _ZNSt15_List_node_base10_M_reverseEv; - _ZNSt15_List_node_base11_M_transfer*; - _ZNSt6__norm15_List_node_base7_M_hook*; - _ZNSt6__norm15_List_node_base9_M_unhookEv; - _ZNSt6__norm15_List_node_base10_M_reverseEv; - _ZNSt6__norm15_List_node_base11_M_transfer*; - _ZNSt9__cxx199815_List_node_base7_M_hook*; - _ZNSt9__cxx199815_List_node_base9_M_unhookEv; - _ZNSt9__cxx199815_List_node_base10_M_reverseEv; - _ZNSt9__cxx199815_List_node_base11_M_transfer*; - _ZNSt21__numeric_limits_base12max_digits10E; - _ZNSt14numeric_limitsI[a-m]E12max_digits10E; - _ZNSt14numeric_limitsI[p-z]E12max_digits10E; - _ZNSt14numeric_limitsID[is]E12max_digits10E; -} GLIBCXX_3.4.13; -GLIBCXX_3.4.15 { - _ZNSs5frontEv; - _ZNKSs5frontEv; - _ZNSbIwSt11char_traitsIwESaIwEE5frontEv; - _ZNKSbIwSt11char_traitsIwESaIwEE5frontEv; - _ZNSs4backEv; - _ZNKSs4backEv; - _ZNSbIwSt11char_traitsIwESaIwEE4backEv; - _ZNKSbIwSt11char_traitsIwESaIwEE4backEv; - _ZNSsC2EOSs; - _ZNSbIwSt11char_traitsIwESaIwEEC2EOS2_; - _ZNSt13basic_filebufI[cw]St11char_traitsI[cw]EE14_M_get_ext_pos*; - __emutls_v._ZSt11__once_call; - __emutls_v._ZSt15__once_callable; - _ZSt15future_categoryv; - _ZNSt12placeholders*; - _ZNSt8__detail15_List_node_base7_M_hook*; - _ZNSt8__detail15_List_node_base9_M_unhookEv; - _ZNSt8__detail15_List_node_base10_M_reverseEv; - _ZNSt8__detail15_List_node_base11_M_transfer*; - _ZNSt8__detail15_List_node_base4swapERS0_S1_; - _ZNSt11range_errorD2Ev; - _ZNSt12domain_errorD2Ev; - _ZNSt12length_errorD2Ev; - _ZNSt12out_of_rangeD2Ev; - _ZNSt14overflow_errorD2Ev; - _ZNSt15underflow_errorD2Ev; - _ZNSt16invalid_argumentD2Ev; - _ZNSt11regex_errorD*; - _ZNKSt11regex_error4whatEv; - _ZTVSt11regex_error; - _ZTISt11regex_error; - _ZSt19__throw_regex_errorNSt15regex_constants10error_typeE; - _ZNSt12bad_weak_ptrD*; - _ZNKSt12bad_weak_ptr4whatEv; - _ZTVSt12bad_weak_ptr; - _ZTISt12bad_weak_ptr; - _ZNSt17bad_function_callD*; - _ZTISt17bad_function_call; - _ZTVSt17bad_function_call; - _ZNSt14error_categoryC*; - _ZNSt14error_categoryD*; - _ZNSt13__future_base12_Result_baseC*; - _ZNSt13__future_base12_Result_baseD*; - _ZTINSt13__future_base12_Result_baseE; - _ZTVNSt13__future_base12_Result_baseE; - _ZNSt13__future_base11_State_baseD*; - _ZTINSt13__future_base11_State_baseE; - _ZTVNSt13__future_base11_State_baseE; -} GLIBCXX_3.4.14; -GLIBCXX_3.4.16 { - _ZNSs10_S_compareE[jmy][jmy]; - _ZNSbIwSt11char_traitsIwESaIwEE10_S_compareE[jmy][jmy]; - _ZNSt15basic_streambufI[cw]St11char_traitsI[cw]EE12__safe_gbumpE*; - _ZNSt15basic_streambufI[cw]St11char_traitsI[cw]EE12__safe_pbumpE*; - _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE8_M_pbumpE*; -} GLIBCXX_3.4.15; -GLIBCXX_3.4.17 { - _ZNSt6thread20hardware_concurrencyEv; - _ZN11__gnu_debug30_Safe_unordered_container_base7_M_swapERS0_; - _ZN11__gnu_debug30_Safe_unordered_container_base13_M_detach_allEv; - _ZN11__gnu_debug25_Safe_local_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb; - _ZN11__gnu_debug25_Safe_local_iterator_base9_M_detachEv; - _ZNSt14numeric_limitsInE*; - _ZNSt14numeric_limitsIoE*; - _ZNSs8pop_backEv; - _ZNSbIwSt11char_traitsIwESaIwEE8pop_backEv; - _ZTINSt13__future_base19_Async_state_commonE; - _ZTSNSt13__future_base19_Async_state_commonE; - _ZTVNSt13__future_base19_Async_state_commonE; - _ZNSt13__future_base19_Async_state_commonD0Ev; - _ZNSt13__future_base19_Async_state_commonD1Ev; - _ZNSt13__future_base19_Async_state_commonD2Ev; - _ZNSt6chrono12steady_clock3nowEv; -} GLIBCXX_3.4.16; -GLIBCXX_3.4.18 { - global: - extern "C++" - { - std::__detail::_Prime_rehash_policy::*; - }; - _ZNSt13random_device14_M_init_pretr1ERKSs; - _ZNSt13random_device16_M_getval_pretr1Ev; - _ZNSt13random_device7_M_finiEv; - _ZNSt13random_device7_M_initERKSs; - _ZNSt13random_device9_M_getvalEv; - _ZNSt11this_thread11__sleep_for*; - _ZNKSt17bad_function_call4whatEv; -} GLIBCXX_3.4.17; -GLIBCXX_3.4.19 { - _ZNSt6chrono3_V212steady_clock3nowEv; - _ZNSt6chrono3_V212steady_clock9is_steadyE; - _ZNSt6chrono3_V212system_clock3nowEv; - _ZNSt6chrono3_V212system_clock9is_steadyE; -} GLIBCXX_3.4.18; -GLIBCXX_3.4.20 { - _ZSt15get_new_handlerv; - _ZSt13get_terminatev; - _ZSt14get_unexpectedv; - _ZSt24__throw_out_of_range_fmtPKcz; - _ZNSt11regex_errorC1ENSt15regex_constants10error_typeE; -} GLIBCXX_3.4.19; -GLIBCXX_3.4.21 { - _ZNSt11regex_errorC2ENSt15regex_constants10error_typeE; - _ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEEPFvvE; - _ZNSt8ios_base7_M_swapERS_; - _ZNSt8ios_base7_M_moveERS_; - _ZNSt9basic_iosI[cw]St11char_traitsI[cw]EE4moveE[OR]S2_; - _ZNSt9basic_iosI[cw]St11char_traitsI[cw]EE4swapERS2_; - _ZNSt9basic_iosI[cw]St11char_traitsI[cw]EE9set_rdbuf*; - _ZNSt15basic_streambufI[cw]St11char_traitsI[cw]EE4swapERS2_; - _ZNS[dio]4swapERS[dio]; - _ZNS[dio]aSEOS[dio]; - _ZNS[dio]C[12]EOS[dio]; - _ZNSt13basic_[io]streamIwSt11char_traitsIwEE4swapERS2_; - _ZNSt13basic_[io]streamIwSt11char_traitsIwEEaSEOS2_; - _ZNSt13basic_[io]streamIwSt11char_traitsIwEEC[12]EOS2_; - _ZNSt14basic_iostreamIwSt11char_traitsIwEE4swapERS2_; - _ZNSt14basic_iostreamIwSt11char_traitsIwEEaSEOS2_; - _ZNSt14basic_iostreamIwSt11char_traitsIwEEC[12]EOS2_; - _ZNSt13basic_filebufI[cw]St11char_traitsI[cw]EE4swapERS2_; - _ZNSt13basic_filebufI[cw]St11char_traitsI[cw]EEaSEOS2_; - _ZNSt13basic_filebufI[cw]St11char_traitsI[cw]EEC[12]EOS2_; - _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EE4swapERS2_; - _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EEaSEOS2_; - _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EEC[12]EOS2_; - _ZNSt14basic_[io]fstreamI[cw]St11char_traitsI[cw]EE4swapERS2_; - _ZNSt14basic_[io]fstreamI[cw]St11char_traitsI[cw]EEaSEOS2_; - _ZNSt14basic_[io]fstreamI[cw]St11char_traitsI[cw]EEC[12]EOS2_; - _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE4swapERS3_; - _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EEaSEOS3_; - _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]EOS3_; - _ZNSt18basic_stringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EE4swapERS3_; - _ZNSt18basic_stringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EEaSEOS3_; - _ZNSt18basic_stringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]EOS3_; - _ZNSt19basic_[io]stringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EE4swapERS3_; - _ZNSt19basic_[io]stringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EEaSEOS3_; - _ZNSt19basic_[io]stringstreamI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]EOS3_; - _ZN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEaSEOS3_; - _ZN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEC[12]EOS3_; - _ZNSoC[12]ERSd; - _ZNSt13basic_ostreamIwSt11char_traitsIwEEC[12]ERSt14basic_iostreamIwS1_E; - _ZNKSt9basic_iosI[cw]St11char_traitsI[cw]EEcvbEv; - _ZNKSt8ios_base7failureB5cxx114whatEv; - _ZNSt8ios_base7failureB5cxx11C[12]ERKSs; - _ZNSt8ios_base7failureB5cxx11C[12]EPKcRKSt10error_code; - _ZNSt8ios_base7failureB5cxx11C[12]ERKNSt7__cxx1112basic_string*; - _ZNSt8ios_base7failureB5cxx11C[12]ERKSsB5cxx11RKSt10error_code; - _ZNSt8ios_base7failureB5cxx11D[012]Ev; - _ZTINSt8ios_base7failureB5cxx11E; - _ZTSNSt8ios_base7failureB5cxx11E; - _ZTVNSt8ios_base7failureB5cxx11E; - _ZSt17iostream_categoryv; - _ZNSt10ctype_base5blankE; - _ZNSt10_Sp_locker[CD]*; - _ZSt25notify_all_at_thread_exitRSt18condition_variableSt11unique_lockISt5mutexE; - _ZNSt13__future_base13_State_baseV211_Make_ready6_M_setEv; - _ZNSt7__cxx1112basic_string*; - _ZNKSt7__cxx1112basic_string*; - _ZNSt7__cxx1115basic_stringbuf*; - _ZNSt7__cxx1118basic_stringstream*; - _ZNSt7__cxx1119basic_istringstream*; - _ZNSt7__cxx1119basic_ostringstream*; - _ZNKSt7__cxx1115basic_stringbuf*; - _ZNKSt7__cxx1118basic_stringstream*; - _ZNKSt7__cxx1119basic_istringstream*; - _ZNKSt7__cxx1119basic_ostringstream*; - _ZT[ISTV]NSt7__cxx1115basic_stringbuf*; - _ZT[ISTV]NSt7__cxx1118basic_stringstream*; - _ZT[ISTV]NSt7__cxx1119basic_istringstream*; - _ZT[ISTV]NSt7__cxx1119basic_ostringstream*; - _ZThn8_NSt7__cxx1118basic_stringstream*; - _ZThn16_NSt7__cxx1118basic_stringstream*; - _ZTv0_n12_NSt7__cxx1115basic_stringbuf*; - _ZTv0_n12_NSt7__cxx1118basic_stringstream*; - _ZTv0_n12_NSt7__cxx1119basic_istringstream*; - _ZTv0_n12_NSt7__cxx1119basic_ostringstream*; - _ZTv0_n24_NSt7__cxx1115basic_stringbuf*; - _ZTv0_n24_NSt7__cxx1118basic_stringstream*; - _ZTv0_n24_NSt7__cxx1119basic_istringstream*; - _ZTv0_n24_NSt7__cxx1119basic_ostringstream*; - _ZSt7getlineI[cw]St11char_traitsI[cw]ESaI[cw]EERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_string*; - _ZStlsI[cw]St11char_traitsI[cw]ESaI[cw]EERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_string*; - _ZStrsI[cw]St11char_traitsI[cw]ESaI[cw]EERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_string*; - _ZNKSt6locale4nameB5cxx11Ev; - _ZT[ISTV]NSt7__cxx117collateI[cw]*; - _ZT[ISTV]NSt7__cxx1114collate_bynameI[cw]*; - _ZT[ISTV]NSt7__cxx118messagesI[cw]*; - _ZT[ISTV]NSt7__cxx1115messages_bynameI[cw]*; - _ZT[ISTV]NSt7__cxx119money_getI[cw]*; - _ZT[ISTV]NSt7__cxx119money_putI[cw]*; - _ZT[ISTV]NSt7__cxx1110moneypunctI[cw]Lb[01]*; - _ZT[ISTV]NSt7__cxx1117moneypunct_bynameI[cw]Lb[01]*; - _ZT[ISTV]NSt7__cxx118numpunctI[cw]*; - _ZT[ISTV]NSt7__cxx1115numpunct_bynameI[cw]*; - _ZT[ISTV]NSt7__cxx118time_getI[cw]*; - _ZT[ISTV]NSt7__cxx1115time_get_bynameI[cw]*; - _ZGVNSt7__cxx117collateI[cw]*; - _ZGVNSt7__cxx118messagesI[cw]*; - _ZGVNSt7__cxx1110moneypunctI[cw]Lb[01]*; - _ZGVNSt7__cxx119money_getI[cw]*; - _ZGVNSt7__cxx119money_putI[cw]*; - _ZGVNSt7__cxx118numpunctI[cw]*; - _ZGVNSt7__cxx118time_getI[cw]*; - _ZNSt7__cxx117collateI*; - _ZNSt7__cxx1114collate_bynameI*; - _ZNSt7__cxx118messagesI*; - _ZNSt7__cxx1115messages_bynameI*; - _ZNSt7__cxx119money_getI*; - _ZNSt7__cxx119money_putI*; - _ZNSt7__cxx1110moneypunctI*; - _ZNSt7__cxx1117moneypunct_bynameI*; - _ZNSt7__cxx118numpunctI*; - _ZNSt7__cxx1115numpunct_bynameI*; - _ZNSt7__cxx118time_getI*; - _ZNSt7__cxx1115time_get_bynameI*; - _ZNKSt7__cxx117collateI*; - _ZNKSt7__cxx118messagesI*; - _ZNKSt7__cxx119money_getI*; - _ZNKSt7__cxx119money_putI*; - _ZNKSt7__cxx1110moneypunctI*; - _ZNKSt7__cxx118numpunctI*; - _ZNKSt7__cxx118time_getI*; - _ZSt9has_facetINSt7__cxx117collate*; - _ZSt9has_facetINSt7__cxx118messages*; - _ZSt9has_facetINSt7__cxx119money_get*; - _ZSt9has_facetINSt7__cxx119money_put*; - _ZSt9has_facetINSt7__cxx1110moneypunct*; - _ZSt9has_facetINSt7__cxx118numpunct*; - _ZSt9has_facetINSt7__cxx118time_get*; - _ZSt9use_facetINSt7__cxx117collate*; - _ZSt9use_facetINSt7__cxx118messages*; - _ZSt9use_facetINSt7__cxx119money_get*; - _ZSt9use_facetINSt7__cxx119money_put*; - _ZSt9use_facetINSt7__cxx1110moneypunct*; - _ZSt9use_facetINSt7__cxx118numpunct*; - _ZSt9use_facetINSt7__cxx118time_get*; - _ZSt17__verify_groupingPKc[mj]RKNSt7__cxx1112basic_string*; - _ZNSt3_V214error_category*; - _ZNKSt3_V214error_category*; - _ZTVNSt3_V214error_categoryE; - _ZTINSt3_V214error_categoryE; - _ZNSt3_V215system_categoryEv; - _ZNSt3_V216generic_categoryEv; - _ZNSt11logic_errorC[12]EPKc; - _ZNSt11logic_errorC[12]ERKS_; - _ZNSt11logic_erroraSERKS_; - _ZNSt11logic_errorC[12]ERKNSt7__cxx1112basic_string*; - _ZNSt11range_errorC[12]EPKc; - _ZNSt11range_errorC[12]ERKNSt7__cxx1112basic_string*; - _ZNSt12domain_errorC[12]EPKc; - _ZNSt12domain_errorC[12]ERKNSt7__cxx1112basic_string*; - _ZNSt12length_errorC[12]EPKc; - _ZNSt12length_errorC[12]ERKNSt7__cxx1112basic_string*; - _ZNSt12out_of_rangeC[12]EPKc; - _ZNSt12out_of_rangeC[12]ERKNSt7__cxx1112basic_string*; - _ZNSt13runtime_errorC[12]EPKc; - _ZNSt13runtime_errorC[12]ERKS_; - _ZNSt13runtime_erroraSERKS_; - _ZNSt13runtime_errorC[12]ERKNSt7__cxx1112basic_string*; - _ZNSt14overflow_errorC[12]EPKc; - _ZNSt14overflow_errorC[12]ERKNSt7__cxx1112basic_string*; - _ZNSt15underflow_errorC[12]EPKc; - _ZNSt15underflow_errorC[12]ERKNSt7__cxx1112basic_string*; - _ZNSt16invalid_argumentC[12]EPKc; - _ZNSt16invalid_argumentC[12]ERKNSt7__cxx1112basic_string*; - _ZNSt13random_device14_M_init_pretr1ERKNSt7__cxx1112basic_string*; - _ZNSt13random_device7_M_initERKNSt7__cxx1112basic_string*; - _ZNKSt3tr14hashINSt7__cxx1112basic_string*; - _ZNKSt8time_getI[cw]St19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPK[cw]SC_; - _ZNKSt8time_getI[cw]St19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmcc; -} GLIBCXX_3.4.20; -CXXABI_1.3 { - global: - __cxa_allocate_exception; - __cxa_bad_cast; - __cxa_bad_typeid; - __cxa_begin_catch; - __cxa_begin_cleanup; - __cxa_call_unexpected; - __cxa_current_exception_type; - __cxa_demangle; - __cxa_end_catch; - __cxa_end_cleanup; - __cxa_free_exception; - __cxa_get_globals; - __cxa_get_globals_fast; - __cxa_guard_abort; - __cxa_guard_acquire; - __cxa_guard_release; - __cxa_pure_virtual; - __cxa_rethrow; - __cxa_throw; - __cxa_type_match; - __cxa_vec_ctor; - __cxa_vec_cctor; - __cxa_vec_cleanup; - __cxa_vec_delete; - __cxa_vec_delete2; - __cxa_vec_delete3; - __cxa_vec_dtor; - __cxa_vec_new; - __cxa_vec_new2; - __cxa_vec_new3; - __gxx_personality_v0; - __gxx_personality_sj0; - __gxx_personality_seh0; - __dynamic_cast; - _ZN10__cxxabiv117__array_type_info*; - _ZN10__cxxabiv117__class_type_info*; - _ZN10__cxxabiv116__enum_type_info*; - _ZN10__cxxabiv120__function_type_info*; - _ZN10__cxxabiv123__fundamental_type_info*; - _ZN10__cxxabiv117__pbase_type_info*; - _ZN10__cxxabiv129__pointer_to_member_type_info*; - _ZN10__cxxabiv119__pointer_type_info*; - _ZN10__cxxabiv120__si_class_type_info*; - _ZN10__cxxabiv121__vmi_class_type_info*; - _ZNK10__cxxabiv117__class_type_info*; - _ZNK10__cxxabiv120__function_type_info*; - _ZNK10__cxxabiv117__pbase_type_info*; - _ZNK10__cxxabiv129__pointer_to_member_type_info*; - _ZNK10__cxxabiv119__pointer_type_info*; - _ZNK10__cxxabiv120__si_class_type_info*; - _ZNK10__cxxabiv121__vmi_class_type_info*; - _ZTVN10__cxxabiv117__array_type_infoE; - _ZTVN10__cxxabiv117__class_type_infoE; - _ZTVN10__cxxabiv116__enum_type_infoE; - _ZTVN10__cxxabiv120__function_type_infoE; - _ZTVN10__cxxabiv123__fundamental_type_infoE; - _ZTVN10__cxxabiv117__pbase_type_infoE; - _ZTVN10__cxxabiv129__pointer_to_member_type_infoE; - _ZTVN10__cxxabiv119__pointer_type_infoE; - _ZTVN10__cxxabiv120__si_class_type_infoE; - _ZTVN10__cxxabiv121__vmi_class_type_infoE; - _ZTI[a-fh-mp-z]; - _ZTIP[a-fh-mp-z]; - _ZTIPK[a-fh-mp-z]; - _ZTIN10__cxxabiv117__array_type_infoE; - _ZTIN10__cxxabiv117__class_type_infoE; - _ZTIN10__cxxabiv116__enum_type_infoE; - _ZTIN10__cxxabiv120__function_type_infoE; - _ZTIN10__cxxabiv123__fundamental_type_infoE; - _ZTIN10__cxxabiv117__pbase_type_infoE; - _ZTIN10__cxxabiv129__pointer_to_member_type_infoE; - _ZTIN10__cxxabiv119__pointer_type_infoE; - _ZTIN10__cxxabiv120__si_class_type_infoE; - _ZTIN10__cxxabiv121__vmi_class_type_infoE; - _ZTS[a-fh-mp-z]; - _ZTSP[a-fh-mp-z]; - _ZTSPK[a-fh-mp-z]; - _ZTSN10__cxxabiv117__array_type_infoE; - _ZTSN10__cxxabiv117__class_type_infoE; - _ZTSN10__cxxabiv116__enum_type_infoE; - _ZTSN10__cxxabiv120__function_type_infoE; - _ZTSN10__cxxabiv123__fundamental_type_infoE; - _ZTSN10__cxxabiv117__pbase_type_infoE; - _ZTSN10__cxxabiv129__pointer_to_member_type_infoE; - _ZTSN10__cxxabiv119__pointer_type_infoE; - _ZTSN10__cxxabiv120__si_class_type_infoE; - _ZTSN10__cxxabiv121__vmi_class_type_infoE; - _ZN9__gnu_cxx27__verbose_terminate_handlerEv; -}; -CXXABI_1.3.1 { - __cxa_get_exception_ptr; -} CXXABI_1.3; -CXXABI_1.3.2 { - _ZTIN10__cxxabiv115__forced_unwindE; - _ZTIN10__cxxabiv119__foreign_exceptionE; -} CXXABI_1.3.1; -CXXABI_1.3.3 { - _ZTIDs; - _ZTIPDs; - _ZTIPKDs; - _ZTIDi; - _ZTIPDi; - _ZTIPKDi; - _ZNSt15__exception_ptr13exception_ptrC1Ev; - _ZNSt15__exception_ptr13exception_ptrC2Ev; - _ZNSt15__exception_ptr13exception_ptrC1ERKS0_; - _ZNSt15__exception_ptr13exception_ptrC2ERKS0_; - _ZNSt15__exception_ptr13exception_ptrC1EMS0_FvvE; - _ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE; - _ZNSt15__exception_ptr13exception_ptrD1Ev; - _ZNSt15__exception_ptr13exception_ptrD2Ev; - _ZNSt15__exception_ptr13exception_ptraSERKS0_; - _ZNKSt15__exception_ptr13exception_ptrcvMS0_FvvEEv; - _ZNKSt15__exception_ptr13exception_ptrntEv; - _ZNKSt15__exception_ptr13exception_ptr20__cxa_exception_typeEv; - _ZNSt15__exception_ptr13exception_ptr4swapERS0_; - _ZNSt15__exception_ptreqERKNS_13exception_ptrES2_; - _ZNSt15__exception_ptrneERKNS_13exception_ptrES2_; - _ZSt17current_exceptionv; - _ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE; -} CXXABI_1.3.2; -CXXABI_1.3.4 { - _ZTID[fde]; - _ZTIPD[fde]; - _ZTIPKD[fde]; -} CXXABI_1.3.3; -CXXABI_1.3.5 { - _ZTIDn; - _ZTIPDn; - _ZTIPKDn; - _ZTI[no]; - _ZTIP[no]; - _ZTIPK[no]; - _ZSt11_Hash_bytesPKv*; - _ZSt15_Fnv_hash_bytesPKv*; - _ZNSt16nested_exceptionD*; - _ZTISt16nested_exception; - _ZTVSt16nested_exception; -} CXXABI_1.3.4; -CXXABI_1.3.6 { - __cxa_allocate_dependent_exception; - __cxa_free_dependent_exception; - __cxa_deleted_virtual; -} CXXABI_1.3.5; -CXXABI_1.3.7 { - __cxa_thread_atexit; -} CXXABI_1.3.6; -CXXABI_1.3.8 { - __cxa_throw_bad_array_new_length; - _Z*St20bad_array_new_length*; - __cxa_throw_bad_array_length; - _Z*St16bad_array_length*; - _Z17__VLTRegisterPair*; - _Z22__VLTRegisterPairDebug*; - _Z16__VLTRegisterSet*; - _Z21__VLTRegisterSetDebug*; - _Z24__VLTVerifyVtablePointer*; - _Z29__VLTVerifyVtablePointerDebug*; - __VLTChangePermission; -} CXXABI_1.3.7; -CXXABI_1.3.9 { - _ZTS[no]; - _ZTSP[no]; - _ZTSPK[no]; - _ZdlPv[jmy]; - _ZdaPv[jmy]; -} CXXABI_1.3.8; -CXXABI_TM_1 { - global: - __cxa_tm_cleanup; -}; -CXXABI_FLOAT128 { - _ZT[IS]g; - _ZT[IS]Pg; - _ZT[IS]PKg; -}; -- 2.41.0 From 2426f861a8fe51254a118ced119ce98dcbb586cc Mon Sep 17 00:00:00 2001 From: Tomohiro Kusumi Date: Sun, 15 Feb 2015 20:44:39 +0900 Subject: [PATCH 06/16] sys/vfs/hammer: minor zone cleanup - hammer_generate_undo() takes either zone 1 or zone 2 address (hammer generates undos for both volume metadata and buffers). --- sys/vfs/hammer/hammer.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/vfs/hammer/hammer.h b/sys/vfs/hammer/hammer.h index 151f1c5e4c..0921035ec9 100644 --- a/sys/vfs/hammer/hammer.h +++ b/sys/vfs/hammer/hammer.h @@ -1318,7 +1318,7 @@ void *hammer_alloc_data(hammer_transaction_t trans, int32_t data_len, hammer_off_t hint, int *errorp); int hammer_generate_undo(hammer_transaction_t trans, - hammer_off_t zone1_offset, void *base, int len); + hammer_off_t zone_offset, void *base, int len); int hammer_generate_redo(hammer_transaction_t trans, hammer_inode_t ip, hammer_off_t file_offset, u_int32_t flags, void *base, int len); -- 2.41.0 From 254817bd7d6b589089830101b9a8c2df4a9c9e97 Mon Sep 17 00:00:00 2001 From: Sepherosa Ziehau Date: Sat, 14 Feb 2015 22:47:02 +0800 Subject: [PATCH 07/16] memtemp/e5: Send devctl notify, if DIMM is too hot, and set sensor status - There is no need to save DIMM external id in dimm softc; use a stack variable instead. - White space cleanup. --- sbin/devd/devd.conf.5 | 23 +++- sys/dev/misc/ecc/e5_imc_reg.h | 14 +++ sys/dev/powermng/memtemp/memtemp_e5.c | 149 +++++++++++++++++++++++--- 3 files changed, 173 insertions(+), 13 deletions(-) diff --git a/sbin/devd/devd.conf.5 b/sbin/devd/devd.conf.5 index 5baa1cf9de..0a33b46cd4 100644 --- a/sbin/devd/devd.conf.5 +++ b/sbin/devd/devd.conf.5 @@ -41,7 +41,7 @@ .\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS .\" SOFTWARE. .\" -.Dd February 22, 2013 +.Dd February 14, 2015 .Dt DEVD.CONF 5 .Os .Sh NAME @@ -244,6 +244,8 @@ Device name of parent bus. Device node path if one is created by the .Xr devfs 5 filesystem. +.It Li channel +Channel of the DIMM (memtemp). .It Li cisproduct CIS-product. .It Li cisvendor @@ -258,6 +260,8 @@ Device Class (USB) Device Sub-class (USB) .It Li device-name Name of attached/detached device. +.It Li dimm +DIMM id within the channel and node (memtemp). .It Li endpoints Endpoint count (USB) .It Li function @@ -284,6 +288,8 @@ Parent device Hub port number (USB) .It Li product Product ID (pccard/USB). +.It Li node +Node of the DIMM (memtemp). .It Li release Hardware revision (USB) .It Li sernum @@ -406,6 +412,20 @@ Notification that the CPU core has reached critical temperature. String containing the temperature of the core that has become too hot. .El .El +.It Li memtemp +Events related to the +.Xr memtemp 4 +device. +.Bl -tag -width ".Sy Subsystem" -compact +.It Sy Subsystem +.It Li Thermal +Notification that the DIMM has reached critical temperature. +.Bl -tag -width ".Ar temperature" -compact +.It Sy Type +.It Ar temperature +String containing the temperature of the DIMM that has become too hot. +.El +.El .Pp .It Li kern Events related to the kernel. @@ -546,6 +566,7 @@ The installed has many additional examples. .Sh SEE ALSO .Xr coretemp 4 , +.Xr memtemp 4 , .Xr devfs 5 , .Xr re_format 7 , .Xr devd 8 diff --git a/sys/dev/misc/ecc/e5_imc_reg.h b/sys/dev/misc/ecc/e5_imc_reg.h index 7946492b98..3672f4bd7a 100644 --- a/sys/dev/misc/ecc/e5_imc_reg.h +++ b/sys/dev/misc/ecc/e5_imc_reg.h @@ -180,7 +180,21 @@ #define PCIFUNC_E5V3_IMC1_THERMAL_CHN1 1 #define PCI_E5V3_IMC1_THERMAL_CHN1_DID_ID 0x2fd1 /* Thermal regs */ +#define PCI_E5_IMC_THERMAL_DIMM_TEMP_TH(dimm) (0x120 + ((dimm) * 4)) +#define PCI_E5_IMC_THERMAL_DIMM_TEMP_TH_TEMPHI __BITS(16, 23) +#define PCI_E5_IMC_THERMAL_DIMM_TEMP_TH_TEMPMID __BITS(8, 15) +#define PCI_E5_IMC_THERMAL_DIMM_TEMP_TH_TEMPLO __BITS(0, 7) +#define PCI_E5_IMC_THERMAL_DIMM_TEMP_TH_TEMPMIN 32 /* [MIN, MAX) */ +#define PCI_E5_IMC_THERMAL_DIMM_TEMP_TH_TEMPMAX 128 +#define PCI_E5_IMC_THERMAL_DIMM_TEMP_TH_DISABLE 255 #define PCI_E5_IMC_THERMAL_DIMMTEMPSTAT(dimm) (0x150 + ((dimm) * 4)) +#define PCI_E5_IMC_THERMAL_DIMMTEMPSTAT_TEMPHI __BIT(28) +#define PCI_E5_IMC_THERMAL_DIMMTEMPSTAT_TEMPMID __BIT(27) +#define PCI_E5_IMC_THERMAL_DIMMTEMPSTAT_TEMPLO __BIT(26) +#define PCI_E5_IMC_THERMAL_DIMMTEMPSTAT_TEMPOEMLO __BIT(25) +#define PCI_E5_IMC_THERMAL_DIMMTEMPSTAT_TEMPOEMHI __BIT(24) #define PCI_E5_IMC_THERMAL_DIMMTEMPSTAT_TEMP __BITS(0, 7) +#define PCI_E5_IMC_THERMAL_DIMMTEMPSTAT_TEMPMIN 0 /* [MIN, MAX) */ +#define PCI_E5_IMC_THERMAL_DIMMTEMPSTAT_TEMPMAX 127 #endif /* !_E5_IMC_REG_H_ */ diff --git a/sys/dev/powermng/memtemp/memtemp_e5.c b/sys/dev/powermng/memtemp/memtemp_e5.c index 05a56729be..16a335f927 100644 --- a/sys/dev/powermng/memtemp/memtemp_e5.c +++ b/sys/dev/powermng/memtemp/memtemp_e5.c @@ -52,6 +52,9 @@ #include #include +#define MEMTEMP_E5_DIMM_TEMP_HIWAT 85 /* spec default TEMPLO */ +#define MEMTEMP_E5_DIMM_TEMP_STEP 5 /* spec TEMPLO/MID/HI step */ + struct memtemp_e5_softc; struct memtemp_e5_dimm { @@ -60,9 +63,13 @@ struct memtemp_e5_dimm { struct ksensor dimm_sensor; struct memtemp_e5_softc *dimm_parent; int dimm_id; - int dimm_extid; + int dimm_temp_hiwat; + int dimm_temp_lowat; + int dimm_flags; }; +#define MEMTEMP_E5_DIMM_FLAG_CRIT 0x1 + struct memtemp_e5_softc { device_t temp_dev; const struct e5_imc_chan *temp_chan; @@ -74,6 +81,8 @@ static int memtemp_e5_probe(device_t); static int memtemp_e5_attach(device_t); static int memtemp_e5_detach(device_t); +static int memtemp_e5_tempth_adjust(int); +static void memtemp_e5_tempth_str(int, char *, int); static void memtemp_e5_sensor_task(void *); #define MEMTEMP_E5_CHAN(v, imc, c, c_ext) \ @@ -90,7 +99,7 @@ static void memtemp_e5_sensor_task(void *); #define MEMTEMP_E5_CHAN_IMC0_V3(c) MEMTEMP_E5_CHAN(3, 0, c, c) #define MEMTEMP_E5_CHAN_IMC1_V3(c, c_ext) \ MEMTEMP_E5_CHAN(3, 1, c, c_ext) -#define MEMTEMP_E5_CHAN_END E5_IMC_CHAN_END +#define MEMTEMP_E5_CHAN_END E5_IMC_CHAN_END static const struct e5_imc_chan memtemp_e5_chans[] = { MEMTEMP_E5_CHAN_V2(0), @@ -170,6 +179,28 @@ memtemp_e5_probe(device_t dev) return ENXIO; } +static int +memtemp_e5_tempth_adjust(int temp) +{ + if (temp == PCI_E5_IMC_THERMAL_DIMM_TEMP_TH_DISABLE) + return 0; + else if (temp < PCI_E5_IMC_THERMAL_DIMM_TEMP_TH_TEMPMIN || + temp >= PCI_E5_IMC_THERMAL_DIMM_TEMP_TH_TEMPMAX) + return -1; + return temp; +} + +static void +memtemp_e5_tempth_str(int temp, char *temp_str, int temp_strlen) +{ + if (temp < 0) + strlcpy(temp_str, "reserved", temp_strlen); + else if (temp == 0) + strlcpy(temp_str, "disabled", temp_strlen); + else + ksnprintf(temp_str, temp_strlen, "%dC", temp); +} + static int memtemp_e5_attach(device_t dev) { @@ -180,10 +211,12 @@ memtemp_e5_attach(device_t dev) TAILQ_INIT(&sc->temp_dimm); for (dimm = 0; dimm < PCI_E5_IMC_CHN_DIMM_MAX; ++dimm) { + char temp_lostr[16], temp_midstr[16], temp_histr[16]; struct memtemp_e5_dimm *dimm_sc; - uint32_t dimmmtr; + int dimm_extid, temp_lo, temp_mid, temp_hi; + uint32_t dimmmtr, temp_th; - dimmmtr = IMC_CTAD_READ_4(sc->temp_dev, sc->temp_chan, + dimmmtr = IMC_CTAD_READ_4(dev, sc->temp_chan, PCI_E5_IMC_CTAD_DIMMMTR(dimm)); if ((dimmmtr & PCI_E5_IMC_CTAD_DIMMMTR_DIMM_POP) == 0) @@ -193,24 +226,70 @@ memtemp_e5_attach(device_t dev) M_WAITOK | M_ZERO); dimm_sc->dimm_id = dimm; dimm_sc->dimm_parent = sc; - dimm_sc->dimm_extid = + + dimm_extid = (sc->temp_node * PCI_E5_IMC_CHN_MAX * PCI_E5_IMC_CHN_DIMM_MAX) + (sc->temp_chan->chan_ext * PCI_E5_IMC_CHN_DIMM_MAX) + dimm; - ksnprintf(dimm_sc->dimm_sensordev.xname, sizeof(dimm_sc->dimm_sensordev.xname), - "dimm%d", dimm_sc->dimm_extid); + "dimm%d", dimm_extid); dimm_sc->dimm_sensor.type = SENSOR_TEMP; sensor_attach(&dimm_sc->dimm_sensordev, &dimm_sc->dimm_sensor); if (sensor_task_register(dimm_sc, memtemp_e5_sensor_task, 2)) { - device_printf(sc->temp_dev, "DIMM%d sensor task " - "register failed\n", dimm); + device_printf(dev, "DIMM%d sensor task register " + "failed\n", dimm); kfree(dimm_sc, M_DEVBUF); continue; } sensordev_install(&dimm_sc->dimm_sensordev); TAILQ_INSERT_TAIL(&sc->temp_dimm, dimm_sc, dimm_link); + + temp_th = pci_read_config(dev, + PCI_E5_IMC_THERMAL_DIMM_TEMP_TH(dimm), 4); + + temp_lo = __SHIFTOUT(temp_th, + PCI_E5_IMC_THERMAL_DIMM_TEMP_TH_TEMPLO); + temp_lo = memtemp_e5_tempth_adjust(temp_lo); + memtemp_e5_tempth_str(temp_lo, temp_lostr, sizeof(temp_lostr)); + + temp_mid = __SHIFTOUT(temp_th, + PCI_E5_IMC_THERMAL_DIMM_TEMP_TH_TEMPMID); + temp_mid = memtemp_e5_tempth_adjust(temp_mid); + memtemp_e5_tempth_str(temp_mid, temp_midstr, + sizeof(temp_midstr)); + + temp_hi = __SHIFTOUT(temp_th, + PCI_E5_IMC_THERMAL_DIMM_TEMP_TH_TEMPHI); + temp_hi = memtemp_e5_tempth_adjust(temp_hi); + memtemp_e5_tempth_str(temp_hi, temp_histr, sizeof(temp_histr)); + + /* + * NOTE: + * - TEMPHI initiates THRTCRIT. + * - TEMPMID initiates THRTHI, so it is also taken into + * consideration. + * - Some BIOSes program temp_lo to a rediculous low value, + * so ignore TEMPLO here. + */ + if (temp_mid <= 0) { + if (temp_hi <= 0) + dimm_sc->dimm_temp_hiwat = MEMTEMP_E5_DIMM_TEMP_HIWAT; + else + dimm_sc->dimm_temp_hiwat = temp_hi; + } else { + dimm_sc->dimm_temp_hiwat = temp_mid; + } + if (dimm_sc->dimm_temp_hiwat < MEMTEMP_E5_DIMM_TEMP_STEP) + dimm_sc->dimm_temp_hiwat = MEMTEMP_E5_DIMM_TEMP_HIWAT; + dimm_sc->dimm_temp_lowat = dimm_sc->dimm_temp_hiwat - + MEMTEMP_E5_DIMM_TEMP_STEP; + + device_printf(dev, "DIMM%d " + "temp_hi %s, temp_mid %s, temp_lo %s\n", dimm, + temp_histr, temp_midstr, temp_lostr); + device_printf(dev, "DIMM%d hiwat %dC, lowat %dC\n", dimm, + dimm_sc->dimm_temp_hiwat, dimm_sc->dimm_temp_lowat); } return 0; } @@ -237,13 +316,59 @@ memtemp_e5_sensor_task(void *xdimm_sc) { struct memtemp_e5_dimm *dimm_sc = xdimm_sc; struct ksensor *sensor = &dimm_sc->dimm_sensor; + device_t dev = dimm_sc->dimm_parent->temp_dev; + int dimm = dimm_sc->dimm_id; uint32_t val; - int temp; + int temp, reg; + + reg = PCI_E5_IMC_THERMAL_DIMMTEMPSTAT(dimm); + + val = pci_read_config(dev, reg, 4); + if (val & (PCI_E5_IMC_THERMAL_DIMMTEMPSTAT_TEMPHI | + PCI_E5_IMC_THERMAL_DIMMTEMPSTAT_TEMPMID | + PCI_E5_IMC_THERMAL_DIMMTEMPSTAT_TEMPLO)) + pci_write_config(dev, reg, val, 4); - val = pci_read_config(dimm_sc->dimm_parent->temp_dev, - PCI_E5_IMC_THERMAL_DIMMTEMPSTAT(dimm_sc->dimm_id), 4); temp = __SHIFTOUT(val, PCI_E5_IMC_THERMAL_DIMMTEMPSTAT_TEMP); + if (temp < PCI_E5_IMC_THERMAL_DIMMTEMPSTAT_TEMPMIN || + temp >= PCI_E5_IMC_THERMAL_DIMMTEMPSTAT_TEMPMAX) { + sensor->status = SENSOR_S_UNSPEC; + sensor->flags |= SENSOR_FINVALID; + sensor->value = 0; + return; + } + + /* + * Some BIOSes will always turn on TEMPMID, so we rely on + * our own hiwat/lowat to send the notification. + */ + if (temp >= dimm_sc->dimm_temp_hiwat && + (dimm_sc->dimm_flags & MEMTEMP_E5_DIMM_FLAG_CRIT) == 0) { + int node, chan; + char temp_str[16], data[64]; + + node = dimm_sc->dimm_parent->temp_node; + chan = dimm_sc->dimm_parent->temp_chan->chan_ext; + + ksnprintf(temp_str, sizeof(temp_str), "%d", temp); + ksnprintf(data, sizeof(data), + "node=%d channel=%d dimm=%d", node, chan, dimm); + devctl_notify("memtemp", "Thermal", temp_str, data); + + device_printf(dev, "node%d channel%d DIMM%d " + "temperature (%dC) is too high (>= %d)\n", + node, chan, dimm, temp, dimm_sc->dimm_temp_hiwat); + + dimm_sc->dimm_flags |= MEMTEMP_E5_DIMM_FLAG_CRIT; + } else if ((dimm_sc->dimm_flags & MEMTEMP_E5_DIMM_FLAG_CRIT) && + temp < dimm_sc->dimm_temp_lowat) { + dimm_sc->dimm_flags &= ~MEMTEMP_E5_DIMM_FLAG_CRIT; + } + if (dimm_sc->dimm_flags & MEMTEMP_E5_DIMM_FLAG_CRIT) + sensor->status = SENSOR_S_CRIT; + else + sensor->status = SENSOR_S_OK; sensor->flags &= ~SENSOR_FINVALID; sensor->value = (temp * 1000000) + 273150000; } -- 2.41.0 From 65c1e3dd8843d4f7498700f202f9e3f15ddf7a16 Mon Sep 17 00:00:00 2001 From: Sepherosa Ziehau Date: Mon, 16 Feb 2015 15:13:22 +0800 Subject: [PATCH 08/16] memtemp/e5: Setup hiwat and lowat before sensor task register. --- sys/dev/powermng/memtemp/memtemp_e5.c | 36 +++++++++++++-------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/sys/dev/powermng/memtemp/memtemp_e5.c b/sys/dev/powermng/memtemp/memtemp_e5.c index 16a335f927..c4e212afc0 100644 --- a/sys/dev/powermng/memtemp/memtemp_e5.c +++ b/sys/dev/powermng/memtemp/memtemp_e5.c @@ -227,24 +227,6 @@ memtemp_e5_attach(device_t dev) dimm_sc->dimm_id = dimm; dimm_sc->dimm_parent = sc; - dimm_extid = - (sc->temp_node * PCI_E5_IMC_CHN_MAX * PCI_E5_IMC_CHN_DIMM_MAX) + - (sc->temp_chan->chan_ext * PCI_E5_IMC_CHN_DIMM_MAX) + dimm; - ksnprintf(dimm_sc->dimm_sensordev.xname, - sizeof(dimm_sc->dimm_sensordev.xname), - "dimm%d", dimm_extid); - dimm_sc->dimm_sensor.type = SENSOR_TEMP; - sensor_attach(&dimm_sc->dimm_sensordev, &dimm_sc->dimm_sensor); - if (sensor_task_register(dimm_sc, memtemp_e5_sensor_task, 2)) { - device_printf(dev, "DIMM%d sensor task register " - "failed\n", dimm); - kfree(dimm_sc, M_DEVBUF); - continue; - } - sensordev_install(&dimm_sc->dimm_sensordev); - - TAILQ_INSERT_TAIL(&sc->temp_dimm, dimm_sc, dimm_link); - temp_th = pci_read_config(dev, PCI_E5_IMC_THERMAL_DIMM_TEMP_TH(dimm), 4); @@ -290,6 +272,24 @@ memtemp_e5_attach(device_t dev) temp_histr, temp_midstr, temp_lostr); device_printf(dev, "DIMM%d hiwat %dC, lowat %dC\n", dimm, dimm_sc->dimm_temp_hiwat, dimm_sc->dimm_temp_lowat); + + dimm_extid = + (sc->temp_node * PCI_E5_IMC_CHN_MAX * PCI_E5_IMC_CHN_DIMM_MAX) + + (sc->temp_chan->chan_ext * PCI_E5_IMC_CHN_DIMM_MAX) + dimm; + ksnprintf(dimm_sc->dimm_sensordev.xname, + sizeof(dimm_sc->dimm_sensordev.xname), + "dimm%d", dimm_extid); + dimm_sc->dimm_sensor.type = SENSOR_TEMP; + sensor_attach(&dimm_sc->dimm_sensordev, &dimm_sc->dimm_sensor); + if (sensor_task_register(dimm_sc, memtemp_e5_sensor_task, 2)) { + device_printf(dev, "DIMM%d sensor task register " + "failed\n", dimm); + kfree(dimm_sc, M_DEVBUF); + continue; + } + sensordev_install(&dimm_sc->dimm_sensordev); + + TAILQ_INSERT_TAIL(&sc->temp_dimm, dimm_sc, dimm_link); } return 0; } -- 2.41.0 From 673bdc16bff3eec85dafe3156312ea4424947054 Mon Sep 17 00:00:00 2001 From: John Marino Date: Mon, 16 Feb 2015 11:57:04 +0100 Subject: [PATCH 09/16] make(1): Create custom variable .MAKE.BUILT.BY The value of .MAKE.BUILT.BY is normally either "gcc47" or "gcc50" depending on which base compiler built the DragonFly world. It could also be any valid CCVER for a dports compiler such as "clang35". This capability is needed to handle the c++ ABI change that has been introduced by gcc50. The problem hits when gcc50 is used to build when the system libraries have been built by gcc47. The sys.mk file will need .MAKE.BUILT.BY to adjust c++ flags appropriately. --- contrib/bmake/bmake.1 | 3 +++ contrib/bmake/main.c | 1 + usr.bin/bmake/Makefile | 1 + 3 files changed, 5 insertions(+) diff --git a/contrib/bmake/bmake.1 b/contrib/bmake/bmake.1 index 23a3035fda..bfa86761a4 100644 --- a/contrib/bmake/bmake.1 +++ b/contrib/bmake/bmake.1 @@ -897,6 +897,9 @@ The process-id of .It Va .MAKE.PPID The parent process-id of .Nm . +.It Va .MAKE.BUILT.BY +The compiler CCVER that built the +.Dx world. .It Va MAKE_PRINT_VAR_ON_ERROR When .Nm diff --git a/contrib/bmake/main.c b/contrib/bmake/main.c index fb356018de..1a8b5b31bd 100644 --- a/contrib/bmake/main.c +++ b/contrib/bmake/main.c @@ -1042,6 +1042,7 @@ main(int argc, char **argv) Var_Set(".MAKE.PID", tmp, VAR_GLOBAL, 0); snprintf(tmp, sizeof(tmp), "%u", getppid()); Var_Set(".MAKE.PPID", tmp, VAR_GLOBAL, 0); + Var_Set(".MAKE.BUILT.BY", CCVER, VAR_GLOBAL, 0); } if (makelevel > 0) { char pn[1024]; diff --git a/usr.bin/bmake/Makefile b/usr.bin/bmake/Makefile index 88323a1c16..fb8faebea1 100644 --- a/usr.bin/bmake/Makefile +++ b/usr.bin/bmake/Makefile @@ -39,6 +39,7 @@ CFLAGS+= -I${.CURDIR} CFLAGS+= -I${.OBJDIR} CFLAGS+= -I${srcdir} CFLAGS+= -DHAVE_CONFIG_H +CFLAGS+= -DCCVER=\"${CCVER}\" CFLAGS+= ${XDEFS} CFLAGS+= ${CFLAGS_${.TARGET:T}} CFLAGS+= ${COPTS.${.ALLSRC:M*.c:T}} -- 2.41.0 From 6682d8f03835736e2d0aa968a1774b43b8dfb14d Mon Sep 17 00:00:00 2001 From: Sepherosa Ziehau Date: Mon, 16 Feb 2015 20:56:28 +0800 Subject: [PATCH 10/16] memtemp/e5: Don't attach if CLTT is not set by BIOS in chn_temp_cfg Tested-by: mneumann@ --- sys/dev/misc/ecc/e5_imc_reg.h | 3 +++ sys/dev/powermng/memtemp/memtemp_e5.c | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/sys/dev/misc/ecc/e5_imc_reg.h b/sys/dev/misc/ecc/e5_imc_reg.h index 3672f4bd7a..62b1d7ed82 100644 --- a/sys/dev/misc/ecc/e5_imc_reg.h +++ b/sys/dev/misc/ecc/e5_imc_reg.h @@ -180,6 +180,9 @@ #define PCIFUNC_E5V3_IMC1_THERMAL_CHN1 1 #define PCI_E5V3_IMC1_THERMAL_CHN1_DID_ID 0x2fd1 /* Thermal regs */ +#define PCI_E5_IMC_THERMAL_CHN_TEMP_CFG 0x108 +#define PCI_E5_IMC_THERMAL_CHN_TEMP_CFG_OLTT_EN __BIT(31) +#define PCI_E5_IMC_THERMAL_CHN_TEMP_CFG_CLTT __BIT(29) #define PCI_E5_IMC_THERMAL_DIMM_TEMP_TH(dimm) (0x120 + ((dimm) * 4)) #define PCI_E5_IMC_THERMAL_DIMM_TEMP_TH_TEMPHI __BITS(16, 23) #define PCI_E5_IMC_THERMAL_DIMM_TEMP_TH_TEMPMID __BITS(8, 15) diff --git a/sys/dev/powermng/memtemp/memtemp_e5.c b/sys/dev/powermng/memtemp/memtemp_e5.c index c4e212afc0..237e302a5b 100644 --- a/sys/dev/powermng/memtemp/memtemp_e5.c +++ b/sys/dev/powermng/memtemp/memtemp_e5.c @@ -160,12 +160,23 @@ memtemp_e5_probe(device_t dev) if (c->did == did && c->slot == slot && c->func == func) { struct memtemp_e5_softc *sc = device_get_softc(dev); char desc[128]; + uint32_t cfg; int node; node = e5_imc_node_probe(dev, c); if (node < 0) break; + /* + * XXX + * It seems that memory thermal sensor is available, + * only if CLTT is set (OLTT_EN does not seem matter). + */ + cfg = pci_read_config(dev, + PCI_E5_IMC_THERMAL_CHN_TEMP_CFG, 4); + if ((cfg & PCI_E5_IMC_THERMAL_CHN_TEMP_CFG_CLTT) == 0) + break; + ksnprintf(desc, sizeof(desc), "%s node%d channel%d", c->desc, node, c->chan_ext); device_set_desc_copy(dev, desc); -- 2.41.0 From 7a1f111f6e64f28e7390df5dd028b0ce30babd55 Mon Sep 17 00:00:00 2001 From: John Marino Date: Mon, 16 Feb 2015 14:18:38 +0100 Subject: [PATCH 11/16] sys.mk: Add _GLIBCXX_USE_CXX11_ABI=0 definition in some cases When the world is built by gcc47, and sys.mk isn't being used to build the system, the CXXFLAGS will have -D_GLIBCXX_USE_CXX11_ABI=0 added to it to force gcc50 to use the c++ ABI that gcc47 used when building the system libraries. If the world was built with gcc50, the system libraries were built against the new c++ ABI so this flag would not be added in that case. Due to new SYSBUILD definition in Makefile.inc1, this flag is never added during the build of the world. --- Makefile.inc1 | 29 +++++++++++++++-------------- share/mk/sys.mk | 3 +++ 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index b6f793ef00..c9d58d6b00 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -263,7 +263,7 @@ BMAKEENV= MAKEOBJDIRPREFIX=${BTOOLSDEST} \ BMAKE= ${BMAKEENV} make -f Makefile.inc1 -DBOOTSTRAPPING \ -DNOINFO -DNOMAN -DNOPIC -DNOPROFILE -DNOSHARED \ - -DNO_WERROR -DNO_NLS + -DNO_WERROR -DNO_NLS -DSYSBUILD # build-tool stage # @@ -274,7 +274,8 @@ TMAKEENV= MAKEOBJDIRPREFIX=${BTOOLSDEST} \ M4=${BTOOLSDEST}/usr/bin/m4 \ INSTALL="sh ${.CURDIR}/tools/install.sh" -TMAKE= ${TMAKEENV} make -f Makefile.inc1 -DBOOTSTRAPPING -DNOSHARED +TMAKE= ${TMAKEENV} make -f Makefile.inc1 -DBOOTSTRAPPING \ + -DNOSHARED -DSYSBUILD # cross-tool stage # @@ -294,7 +295,7 @@ XMAKEENV= MAKEOBJDIRPREFIX=${CTOOLSDEST} \ PATH=${BTOOLSPATH}:${PATH} XMAKE= ${XMAKEENV} make -f Makefile.inc1 -DNO_GDB \ - -DBOOTSTRAPPING -DNOSHARED + -DBOOTSTRAPPING -DNOSHARED -DSYSBUILD # world stage, note the strict path and note that TOOLS_PREFIX is left # unset and USRDATA_PREFIX (which defaults to TOOLS_PREFIX) is set to empty, @@ -321,13 +322,13 @@ WMAKEENV= ${CROSSENV} \ M4=${BTOOLSDEST}/usr/bin/m4 \ PATH=${STRICTTMPPATH} -WMAKE= ${WMAKEENV} make -f Makefile.inc1 +WMAKE= ${WMAKEENV} make -f Makefile.inc1 -DSYSBUILD # install stage # IMAKEENV= ${CROSSENV} \ PATH=${STRICTTMPPATH} -IMAKE= ${IMAKEENV} make -f Makefile.inc1 +IMAKE= ${IMAKEENV} make -f Makefile.inc1 -DSYSBUILD # kernel stage # @@ -977,16 +978,16 @@ hierarchy: libraries: cd ${.CURDIR}; \ HOST_CCVER=${HOST_CCVER} CCVER=gcc47 \ - make -f Makefile.inc1 _startup_libs47; + make -f Makefile.inc1 _startup_libs47 -DSYSBUILD; .if !defined(NO_GCC50) cd ${.CURDIR}; \ HOST_CCVER=${HOST_CCVER} CCVER=gcc50 \ - make -f Makefile.inc1 _startup_libs50; + make -f Makefile.inc1 _startup_libs50 -DSYSBUILD; .endif cd ${.CURDIR}; \ - make -f Makefile.inc1 _startup_libs; \ - make -f Makefile.inc1 _prebuild_libs; \ - make -f Makefile.inc1 _generic_libs; + make -f Makefile.inc1 _startup_libs -DSYSBUILD; \ + make -f Makefile.inc1 _prebuild_libs -DSYSBUILD; \ + make -f Makefile.inc1 _generic_libs -DSYSBUILD; touch ${WORLDDEST}/.libraries_done # These dependencies are not automatically generated: @@ -1088,25 +1089,25 @@ par-${__target}: ${SUBDIR:S/$/.${__target}__D/} # world build environment. # wmake: - @echo '${WMAKEENV} make ${WMAKE_ARGS}' + @echo '${WMAKEENV} make ${WMAKE_ARGS} -DSYSBUILD' wmakeenv: @echo '${WMAKEENV} /bin/sh' bmake: - @echo '${BMAKEENV} make ${BMAKE_ARGS}' + @echo '${BMAKEENV} make ${BMAKE_ARGS} -DSYSBUILD' bmakeenv: @echo '${BMAKEENV} /bin/sh' tmake: - @echo '${TMAKEENV} make ${TMAKE_ARGS}' + @echo '${TMAKEENV} make ${TMAKE_ARGS} -DSYSBUILD' tmakeenv: @echo '${TMAKEENV} /bin/sh' xmake: - @echo '${XMAKEENV} make ${XMAKE_ARGS}' + @echo '${XMAKEENV} make ${XMAKE_ARGS} -DSYSBUILD' xmakeenv: @echo '${XMAKEENV} /bin/sh' diff --git a/share/mk/sys.mk b/share/mk/sys.mk index dd434eccbc..0025fdefc6 100644 --- a/share/mk/sys.mk +++ b/share/mk/sys.mk @@ -60,6 +60,9 @@ CXX_LINK ?= ${CXX} NXCXX ?= ${NXENV} ${CXX} NXCXX_LINK ?= ${NXENV} ${CXX_LINK} CXXFLAGS ?= ${CXXINCLUDES} ${CFLAGS:N-std=*:N-Wnested-externs:N-W*-prototypes:N-Wno-pointer-sign:N-Wold-style-definition} +.if !defined(SYSBUILD) && ${.MAKE.BUILT.BY:Mgcc47} +CXXFLAGS += -D_GLIBCXX_USE_CXX11_ABI=0 +.endif CPP ?= cpp -- 2.41.0 From 2a66d7e272714700a8fcd4850a837f3c4ab9552d Mon Sep 17 00:00:00 2001 From: John Marino Date: Mon, 16 Feb 2015 15:32:03 +0100 Subject: [PATCH 12/16] unbreak world Upgrading from a world with the older bmake that didn't know .MAKE.BUILT.BY results in a broken world, immediately. Change the check from "&&" to two separate checks to avoid the malformed condition. --- share/mk/sys.mk | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/share/mk/sys.mk b/share/mk/sys.mk index 0025fdefc6..011fadb642 100644 --- a/share/mk/sys.mk +++ b/share/mk/sys.mk @@ -60,8 +60,10 @@ CXX_LINK ?= ${CXX} NXCXX ?= ${NXENV} ${CXX} NXCXX_LINK ?= ${NXENV} ${CXX_LINK} CXXFLAGS ?= ${CXXINCLUDES} ${CFLAGS:N-std=*:N-Wnested-externs:N-W*-prototypes:N-Wno-pointer-sign:N-Wold-style-definition} -.if !defined(SYSBUILD) && ${.MAKE.BUILT.BY:Mgcc47} +.if !defined(SYSBUILD) +. if ${.MAKE.BUILT.BY:Mgcc47} CXXFLAGS += -D_GLIBCXX_USE_CXX11_ABI=0 +. endif .endif CPP ?= cpp -- 2.41.0 From f9931f0499c3e12bab6e371d21decb89d9e4df18 Mon Sep 17 00:00:00 2001 From: John Marino Date: Mon, 16 Feb 2015 15:38:24 +0100 Subject: [PATCH 13/16] unbreak world, take 2 The previous style works in the world makefiles but not here. Try to fix the unbreak by checking if .MAKE.BUILT.BY is defined before attempting to use it. --- share/mk/sys.mk | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/share/mk/sys.mk b/share/mk/sys.mk index 011fadb642..39968792e7 100644 --- a/share/mk/sys.mk +++ b/share/mk/sys.mk @@ -60,10 +60,8 @@ CXX_LINK ?= ${CXX} NXCXX ?= ${NXENV} ${CXX} NXCXX_LINK ?= ${NXENV} ${CXX_LINK} CXXFLAGS ?= ${CXXINCLUDES} ${CFLAGS:N-std=*:N-Wnested-externs:N-W*-prototypes:N-Wno-pointer-sign:N-Wold-style-definition} -.if !defined(SYSBUILD) -. if ${.MAKE.BUILT.BY:Mgcc47} +.if !defined(SYSBUILD) && defined(.MAKE.BUILT.BY) && ${.MAKE.BUILT.BY:Mgcc47} CXXFLAGS += -D_GLIBCXX_USE_CXX11_ABI=0 -. endif .endif CPP ?= cpp -- 2.41.0 From 00b462680cebe956bc13002be60ec06e75493c7f Mon Sep 17 00:00:00 2001 From: Antonio Huete Jimenez Date: Mon, 16 Feb 2015 16:02:59 +0100 Subject: [PATCH 14/16] Revert "hammer - Fix 'history' directive" This reverts commit 417cb1b104fd140d4e31775d8873ad473216f7e4 which broke the behaviour described in the manpage. Spotted-by: tkusumi --- sbin/hammer/cmd_history.c | 6 +++--- sbin/hammer/hammer.c | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sbin/hammer/cmd_history.c b/sbin/hammer/cmd_history.c index 5ecf7f0365..29315da487 100644 --- a/sbin/hammer/cmd_history.c +++ b/sbin/hammer/cmd_history.c @@ -47,7 +47,7 @@ void hammer_cmd_history(const char *offset_str, char **av, int ac) { off_t off; - int i = 0; + int i; int len; char *rptr; @@ -56,12 +56,11 @@ hammer_cmd_history(const char *offset_str, char **av, int ac) off = strtoll(offset_str + 1, &rptr, 0); if (*rptr == ',') len = strtol(rptr + 1, NULL, 0); - i = 1; } else { off = -1; } - for (; i < ac; ++i) + for (i = 0; i < ac; ++i) hammer_do_history(av[i], off, len); } @@ -174,3 +173,4 @@ timestr32(u_int32_t time32) strftime(timebuf, sizeof(timebuf), "%d-%b-%Y %H:%M:%S", tp); return(timebuf); } + diff --git a/sbin/hammer/hammer.c b/sbin/hammer/hammer.c index 48bb9db611..2db8f96dcd 100644 --- a/sbin/hammer/hammer.c +++ b/sbin/hammer/hammer.c @@ -444,7 +444,7 @@ main(int ac, char **av) } if (strncmp(av[0], "history", 7) == 0) { - hammer_cmd_history(av[0] + 8, av + 1, ac - 1); + hammer_cmd_history(av[0] + 7, av + 1, ac - 1); exit(0); } if (strcmp(av[0], "rebalance") == 0) { -- 2.41.0 From cf09d62635d724ca4d9f4d37ae37f71f473d8469 Mon Sep 17 00:00:00 2001 From: Sascha Wildner Date: Mon, 16 Feb 2015 19:40:35 +0100 Subject: [PATCH 15/16] keyserv(8): Raise WARNS to 2 and fix warnings. --- usr.sbin/keyserv/Makefile | 3 +-- usr.sbin/keyserv/crypt_server.c | 2 +- usr.sbin/keyserv/keyserv.c | 18 +++++++++--------- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/usr.sbin/keyserv/Makefile b/usr.sbin/keyserv/Makefile index 65affe4516..ddb6468410 100644 --- a/usr.sbin/keyserv/Makefile +++ b/usr.sbin/keyserv/Makefile @@ -1,9 +1,8 @@ # $FreeBSD: src/usr.sbin/keyserv/Makefile,v 1.5.2.1 2001/04/25 12:09:50 ru Exp $ -# $DragonFly: src/usr.sbin/keyserv/Makefile,v 1.5 2008/11/03 00:25:45 pavalos Exp $ PROG= keyserv SRCS= keyserv.c setkey.c crypt_svc.c crypt_server.c crypt.h -WARNS?= 1 +WARNS?= 2 MAN= keyserv.8 diff --git a/usr.sbin/keyserv/crypt_server.c b/usr.sbin/keyserv/crypt_server.c index 6bd332c281..ad1f8cc3f5 100644 --- a/usr.sbin/keyserv/crypt_server.c +++ b/usr.sbin/keyserv/crypt_server.c @@ -241,7 +241,7 @@ des_crypt_1_svc(desargs *argp, struct svc_req *rqstp) * getting ECB mode. */ #ifdef BROKEN_DES - if (_my_crypt != &_arcfour_crypt && argp->des_mode == CBC) { + if (_my_crypt != &_arcfour_crypt && argp->des_mode == (des_mode)CBC) { #else if (_my_crypt != &_arcfour_crypt && argp->des_mode == ECB) { #endif diff --git a/usr.sbin/keyserv/keyserv.c b/usr.sbin/keyserv/keyserv.c index 41281889ec..8bc0465abd 100644 --- a/usr.sbin/keyserv/keyserv.c +++ b/usr.sbin/keyserv/keyserv.c @@ -323,7 +323,7 @@ key_set_1_svc_prog(uid_t uid, keybuf key) static keystatus status; if (debugging) { - fprintf(stderr, "set(%ld, %.*s) = ", uid, + fprintf(stderr, "set(%d, %.*s) = ", uid, (int) sizeof (keybuf), key); } status = pk_setkey(uid, key); @@ -340,7 +340,7 @@ key_encrypt_pk_2_svc_prog(uid_t uid, cryptkeyarg2 *arg) static cryptkeyres res; if (debugging) { - fprintf(stderr, "encrypt(%ld, %s, %08x%08x) = ", uid, + fprintf(stderr, "encrypt(%d, %s, %08x%08x) = ", uid, arg->remotename, arg->deskey.key.high, arg->deskey.key.low); } @@ -366,7 +366,7 @@ key_decrypt_pk_2_svc_prog(uid_t uid, cryptkeyarg2 *arg) static cryptkeyres res; if (debugging) { - fprintf(stderr, "decrypt(%ld, %s, %08x%08x) = ", uid, + fprintf(stderr, "decrypt(%d, %s, %08x%08x) = ", uid, arg->remotename, arg->deskey.key.high, arg->deskey.key.low); } @@ -414,7 +414,7 @@ key_net_get_2_svc_prog(uid_t uid, void *arg) static key_netstres keynetname; if (debugging) - fprintf(stderr, "net_get(%ld) = ", uid); + fprintf(stderr, "net_get(%d) = ", uid); keynetname.status = pk_netget(uid, &keynetname.key_netstres_u.knet); if (debugging) { @@ -441,7 +441,7 @@ key_get_conv_2_svc_prog(uid_t uid, keybuf arg) static cryptkeyres res; if (debugging) - fprintf(stderr, "get_conv(%ld, %.*s) = ", uid, + fprintf(stderr, "get_conv(%d, %.*s) = ", uid, (int)sizeof (xdrproc_t), arg); @@ -467,7 +467,7 @@ key_encrypt_1_svc_prog(uid_t uid, cryptkeyarg *arg) static cryptkeyres res; if (debugging) { - fprintf(stderr, "encrypt(%ld, %s, %08x%08x) = ", uid, + fprintf(stderr, "encrypt(%d, %s, %08x%08x) = ", uid, arg->remotename, arg->deskey.key.high, arg->deskey.key.low); } @@ -493,7 +493,7 @@ key_decrypt_1_svc_prog(uid_t uid, cryptkeyarg *arg) static cryptkeyres res; if (debugging) { - fprintf(stderr, "decrypt(%ld, %s, %08x%08x) = ", uid, + fprintf(stderr, "decrypt(%d, %s, %08x%08x) = ", uid, arg->remotename, arg->deskey.key.high, arg->deskey.key.low); } @@ -727,7 +727,7 @@ root_auth(SVCXPRT *trans, struct svc_req *rqstp) } if (debugging) - fprintf(stderr, "local_uid %ld\n", uid); + fprintf(stderr, "local_uid %d\n", uid); if (uid == 0) return (1); if (rqstp->rq_cred.oa_flavor == AUTH_SYS) { @@ -738,7 +738,7 @@ root_auth(SVCXPRT *trans, struct svc_req *rqstp) } else { if (debugging) fprintf(stderr, - "local_uid %ld mismatches auth %ld\n", uid, + "local_uid %d mismatches auth %u\n", uid, ((uid_t) ((struct authunix_parms *)rqstp->rq_clntcred)->aup_uid)); return (0); } -- 2.41.0 From 14781434ad0717f2d5aa5dec62db4b70b1fc4b6f Mon Sep 17 00:00:00 2001 From: Sascha Wildner Date: Mon, 16 Feb 2015 20:12:56 +0100 Subject: [PATCH 16/16] keyserv(8): Fix sizeof() of a pointer. Commit 748a243b13dd295c04c9e06923a801157f6943e5 tried to fix this, but did it wrongly, because xdrproc_t is a function pointer type and the sizeof will still give 8. The correct way is to use keybuf which is the type and has the correct size (aka HEXKEYBYTES). It is done like this in key_set_1_svc_prog() already. --- usr.sbin/keyserv/keyserv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/keyserv/keyserv.c b/usr.sbin/keyserv/keyserv.c index 8bc0465abd..1f0cd6ad75 100644 --- a/usr.sbin/keyserv/keyserv.c +++ b/usr.sbin/keyserv/keyserv.c @@ -442,7 +442,7 @@ key_get_conv_2_svc_prog(uid_t uid, keybuf arg) if (debugging) fprintf(stderr, "get_conv(%d, %.*s) = ", uid, - (int)sizeof (xdrproc_t), arg); + (int)sizeof (keybuf), arg); res.status = pk_get_conv_key(uid, arg, &res); -- 2.41.0