ATA RAID performance
Greetings, I have tried using both atacontrol and ccdconfig to create stripes and mirrors of various sizes, and have found that in all cases, read performance *decreased*. Is this typical? I have a Promise controller in another computer running Windows which sees a considerable performance increase while striping, but in the FreeBSD machine, no controller is present. thanks, sh To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: ATA RAID performance
It seems Sean Hamilton wrote: Greetings, I have tried using both atacontrol and ccdconfig to create stripes and mirrors of various sizes, and have found that in all cases, read performance *decreased*. Uhm, what kind of disks, stripesize etc are you using, without that info noone can tell you why... -Søren To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: ATA RAID performance
I have tried using both atacontrol and ccdconfig to create stripes and mirrors of various sizes, and have found that in all cases, read performance *decreased*. Have you formatted your filesystem to the correct fragment/blocksizes? This usually helps on raid controllers in conjunction with the correct stripe size. man tuning for more information. To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
An amr dump problem (I guess)
Hello, I am trying to make crashdumps on FreeBSD 5.0, because I get panics very often. Here is what I do: ddb panic panic: from debugger syncing disks, buffers remaining... done Uptime: 17m32s amr0: flushing cache...done Dumping 511 MB Dump failed writing header (19) Dump failed writing data (19) Dump failed writing trailer (19) Dump complete Terminate ACPI Automatic reboot in 15 seconds - press a key on the console to abort The dump device is a big swap partition on the amr0 controller. Is it possible that the amr0 controller becomes inactive after it flushed its cache and that's why the kernel cannot make the crashdump? If it's related to the amr driver and it's hard to fix, would it be possible to mention in amr(4) that making crash dumps through this device is not supported? Thanks, --[ Free Software ISOs - http://www.fsn.hu/?f=download ]-- Attila Nagy e-mail: [EMAIL PROTECTED] Free Software Network (FSN.HU)phone @work: +361 210 1415 (194) cell.: +3630 306 6758 To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: Timing with clock_gettime(2) (sysutils/clockspeed port)
Mario Sergio Fujikawa Ferreira wrote: #define timing_diffi(x,y) \ ( \ (double) ( ((x)-t.tv_sec - (y)-t.tv_sec) + \ (double) ( \ ((x)-t.tv_nsec - (double) (y)-t.tv_nsec) * 4294967296.0 / 1e9 \ ) \ ) \ ) [skip] printf(Avg getpid() time = %lld nsec\n, timing_diffi(end,start)/iters); Please, please read `man 3 printf`. Consider using %f instead of %lld. -- Lev Walkin [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: ATA RAID performance (numerous fs related questions)
From: Soeren Schmidt [EMAIL PROTECTED] | Uhm, what kind of disks, stripesize etc are you using, without that info | noone can tell you why... Two Seagate 80GB 7200RPM drives each on their own ATA66 channel. They're not very fast, but they are quiet. Quick tests with dd show about 20 MB/s reads off them with a blocksize of 64KB. I then created a stripe with atacontrol create stripe 128 ad4 ad6 and performed the same dd on ar0, I get about 17 MB/s (on a K7 500.) The performance isn't very relevant in this case. I was just curious. Is there any reason to use span instead of stripe? I am booting off a different disk, and as I understand, if either drive craps out, there's not much hope of recovery for me anyways. Also, which newfs settings would be wise for me? I will only be storing files of exactly 10,000,000 bytes, they will be deleted and recreated often. They will be written slowly and sequentially, at around 40 KB/s (always one at a time.) They will be read as fast as possible several times thereafter, then deleted. The application I am using does not ftruncate before writing, and I am not in a position to change the code. I'm trying -m 0 -o space, though I've heard this is unwise. Can I prevent newfs from writing out superblock backups? Is async faster than softupdates? Is there any reason to use async and softupdates simultaneously, or are they mutually exclusive? (tries, but fails to think of more lingering questions) thanks, sh To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: Reading rc.conf from C programs?
On Wed, 1 Jan 2003 18:24:40 -0500 (EST) Chuck Robey [EMAIL PROTECTED] wrote: Hi, Since my little baby was mentioned, I thought I'd just comment :) You could perhaps copy the way that The Fish does it? Take a look at ports/sysutils/thefish. The parser.c code appears to read /etc/{,defaults/}rc.conf and place all the options into a linked list. I can tell you I wholeheartedly hate parser.c :) and regret having not started with lex/yacc since day 1. Since the next major release will support not only FreeBSD, but NetBSD as well, I'm redoing the parser in a more flexible way. But again, it was my first parser, and so far seems to work fine :) I've concentrated more on other aspects of the program too. Jordan has also mentioned the parsing code in sysinstall. I think we took really different approaches to the problem. thefish has no previous knowledge of what it's going to find, save for the 'exception list', that it needs to tell some variables that are set to NO but aren't really knobs. It should actually be able to parse /etc/make.conf happily, or any other conf file in the system. easy to extend, easy to special-case, easy to error-control. Learning lex is harder than just C code, but it's such a good tool to know just for general purposes, it's worth the small time spent. Every C programmer ought to spend some time with lex/flex (and obviously yacc/bison). If you don't know it for an employer, you're really hobbled, it's *such* a good tool. Agreed 100% You could also use embedded perl /me ducks Cheers, -- Miguel Mendez - [EMAIL PROTECTED] GPG Public Key :: http://energyhq.homeip.net/files/pubkey.txt EnergyHQ :: http://www.energyhq.tk Of course it runs NetBSD! To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: FEC on 5.x
Hello, do you have FEC working in an old version? i.e. do you have it working in 4.x somewhere? Yes, I am using it on a box with two fxps. It is: FreeBSD 4.6-STABLE #2: Thu Jul 11 15:13:00 CEST 2002 if so, can you show a tcpdump of it1 running and a tcpdump of it NOT running on 5.x? You won't see too much from that... 4.6 (the above box): # tcpdump -i fec0 host FE0.GE.BMF-HBONE.bmf.hu tcpdump: listening on fec0 15:14:43.397883 chuck.intra FE0.GE.BMF-HBONE.bmf.hu: icmp: echo request 15:14:43.398639 FE0.GE.BMF-HBONE.bmf.hu chuck.intra: icmp: echo reply # tcpdump -i fxp0 host FE0.GE.BMF-HBONE.bmf.hu \ tcpdump -i fxp1 host FE0.GE.BMF-HBONE.bmf.hu [1] 87345 tcpdump: WARNING: fxp0: no IPv4 address assigned tcpdump: WARNING: fxp1: no IPv4 address assigned tcpdump: listening on fxp0 tcpdump: listening on fxp1 15:16:17.908213 chuck.intra FE0.GE.BMF-HBONE.bmf.hu: icmp: echo request 15:16:17.909004 FE0.GE.BMF-HBONE.bmf.hu chuck.intra: icmp: echo reply RELENG_5_0: # tcpdump -i fec0 tcpdump: listening on fec0 15:30:15.851109 arp who-has 193.6.21.133 (2e:2f:30:31:32:33) tell test.fsn.hu 15:30:16.766530 arp who-has 193.6.21.133 (2e:2f:30:31:32:33) tell test.fsn.hu 15:30:17.869761 arp who-has 193.6.21.133 (2e:2f:30:31:32:33) tell test.fsn.hu (193.6.21.133 is the GW and that is I pinged) # tcpdump -i fxp0 -p host \ tcpdump -i fxp1 -p host tcpdump: listening on fxp0 tcpdump: listening on fxp1 And nothing. That's why I said previously it seems that the packets don't get down to the physycal interface. Or at least they don't get out to the wire... However, when I ping the test machine from another one, I get: Fatal trap 12: page fault while in kernel mode fault virtual address = 0x1 fault code = supervisor read, page not present instruction pointer = 0x8:0xc02ca7ee stack pointer = 0x10:0xd69a8b88 frame pointer = 0x10:0xd69a8bb0 code segment= base 0x0, limit 0xf, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags= interrupt enabled, resume, IOPL = 0 current process = 22 (irq10: fxp0) kernel: type 12 trap, code=0 Stopped at generic_bcopy+0x1a: repe movsl (%esi),%es:(%edi) db I will attach a disk onto this machine to its Adaptec controller and will be able to send you the dumps. (some people helped me to figure out that most of the RAID drivers in FreeBSD doesn't implement dump...) Thanks, --[ Free Software ISOs - http://www.fsn.hu/?f=download ]-- Attila Nagy e-mail: [EMAIL PROTECTED] Free Software Network (FSN.HU)phone @work: +361 210 1415 (194) cell.: +3630 306 6758 To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Kernel panic with ATA RAID
Seems my toying with atacontrol caused a reproducable panic. I have a perl script which causes the panic right away every time, I'll mail that to anybody @freebsd.org that wants it. (Or is such paranoia unnecessary?) I believe everything else needed is here. sh --- Fatal trap 12: page fault while in kernel mode fault virtual address = 0x88 fault code = supervisor write, page not present instruction pointer = 0x8:0xc014e4fd stack pointer = 0x10:0xcfce6d4c frame pointer = 0x10:0xcfce6d60 code segment= base 0x0, limit 0xf, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags= interrupt enabled, resume, IOPL = 0 current process = 112 (dd) interrupt mask = none trap number = 12 panic: page fault --- --- (kgdb) where #0 0xc01447b6 in dumpsys () #1 0xc0144587 in boot () #2 0xc01449ac in poweroff_wait () #3 0xc01dddb2 in trap_fatal () #4 0xc01dda85 in trap_pfault () #5 0xc01dd66f in trap () #6 0xc014e4fd in dsclose () #7 0xc014de75 in diskclose () #8 0xc01782e8 in spec_close () #9 0xc01abc3a in ufsspec_close () #10 0xc01ac201 in ufs_vnoperatespec () #11 0xc0175f5c in vn_close () #12 0xc0176887 in vn_closefile () #13 0xc013ac9f in fdrop () #14 0xc013abe7 in closef () #15 0xc013a7f4 in fdfree () #16 0xc013d4b1 in exit1 () #17 0xc0146432 in sigexit () #18 0xc01461ac in postsig () #19 0xc01de114 in syscall2 () #20 0xc01d2465 in Xint0x80_syscall () #21 0x8055585 in ?? () #22 0x8048f00 in ?? () #23 0x8048135 in ?? () --- --- machine i386 cpu I686_CPU ident SOAP maxusers0 options INET options FFS options FFS_ROOT options SOFTUPDATES options UFS_DIRHASH options COMPAT_43 options ICMP_BANDLIM device apm device isa device pci device ata device atadisk device atapicd options ATA_STATIC_ID device atkbdc0 at isa? port IO_KBD device atkbd0 at atkbdc? irq 1 flags 0x1 device vga0at isa? device sc0 at isa? flags 0x100 device npx0at nexus? port IO_NPX irq 13 device miibus device rl pseudo-device loop pseudo-device ether pseudo-device pty pseudo-device bpf device fdc0at isa? port IO_FD1 irq 6 drq 2 device fd0 at fdc0 drive 0 --- --- Copyright (c) 1992-2002 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 4.7-RELEASE #2: Wed Jan 1 06:52:01 PST 2003 [snip] Timecounter i8254 frequency 1193182 Hz CPU: Pentium III/Pentium III Xeon/Celeron (451.02-MHz 686-class CPU) Origin = GenuineIntel Id = 0x672 Stepping = 2 Features=0x383f9ffFPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV, PAT,PSE36,MMX,FXSR,SSE real memory = 335544320 (327680K bytes) avail memory = 323653632 (316068K bytes) Preloaded elf kernel kernel at 0xc0279000. Pentium Pro MTRR support enabled Using $PIR table, 7 entries at 0xc00fdf00 apm0: APM BIOS on motherboard apm: found APM BIOS v1.2, connected at v1.2 npx0: math processor on motherboard npx0: INT 16 interface pcib0: Intel 82443BX (440 BX) host to PCI bridge on motherboard pci0: PCI bus on pcib0 pcib1: Intel 82443BX (440 BX) PCI-PCI (AGP) bridge at device 1.0 on pci0 pci1: PCI bus on pcib1 pci1: NVidia Riva Ultra Vanta TNT2 graphics accelerator at 0.0 irq 11 isab0: Intel 82371AB PCI to ISA bridge at device 7.0 on pci0 isa0: ISA bus on isab0 atapci0: Intel PIIX4 ATA33 controller port 0xf000-0xf00f at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 pci0: Intel 82371AB/EB (PIIX4) USB controller at 7.2 irq 10 chip1: Intel 82371AB Power management controller port 0x5000-0x500f at device 7.3 on pci0 rl0: D-Link DFE-530TX+ 10/100BaseTX port 0xe400-0xe4ff mem 0xe800-0xe8ff irq 10 at device 17.0 on pci0 rl0: Ethernet address: [snip] miibus0: MII bus on rl0 rlphy0: RealTek internal media interface on miibus0 rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto orm0: Option ROM at iomem 0xc-0xc on isa0 atkbdc0: Keyboard controller (i8042) at port 0x60,0x64 on isa0 atkbd0: AT Keyboard flags 0x1 irq 1 on atkbdc0 vga0: Generic ISA VGA at port 0x3c0-0x3df iomem 0xa-0xb on isa0 sc0: System console at flags 0x100 on isa0 sc0: VGA 16 virtual consoles, flags=0x300 fdc0: NEC 72065B or clone at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fdc0: FIFO enabled, 8 bytes threshold ad0: 9732MB SAMSUNG SV1021H [19774/16/63] at ata0-master UDMA33 ad2: 76319MB ST380021A [155061/16/63] at ata1-master UDMA33 ad3: 76319MB ST380021A [155061/16/63] at ata1-slave UDMA33 Mounting root from ufs:/dev/ad0s1a --- To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: pw(8): $ (dollar sign) in username
On Sun, Dec 29, 2002, Philip Reynolds wrote: with a machine name of ``mname'' do: ``pw useradd mname'' then use ``vipw(8)'' to add the dollar. Simple as that. This is a known issue, however, some people like to ignore it :) Tell that to the system administrator who wants to use samba, he's got more than say... 50 machines to add to the domain, and he doesn't care to waste his time gathering all the machine names. This has come up more than a few times in the past. vipw does allow the $ character, and works great in a 'couple of machines' network. It's not a viable solution for using samba's machine trust accounts in an *automated* environment. Having to manually add your domain trust accounts is unneeded when samba can do it for you - after a 1 character change in pw. Mahlon E. Smithjabber id: [EMAIL PROTECTED] http://www.martini.nu/ get pgp key: [EMAIL PROTECTED] Ode to Stinky Meat; I've seen things more disgusting; Okay, no I haven't. - Mike Polowick msg38935/pgp0.pgp Description: PGP signature
Re: Reading rc.conf from C programs?
Terry Lambert wrote: Tim Kientzle wrote: I'm trying to figure out how to read and use /etc/rc.conf configuration variables from within a C program. #!/bin/sh # Throw all of rc.conf into the environemnet so a C program # named fred can read any of them with getenv. . /etc/rc.conf fred This doesn't work. /etc/rc.conf does not export its variables to the environment. It only sets them in the local shell. Try the above where 'fred' is #!/bin/sh printenv and you'll see what I mean. Has anyone done anything like this before? Yeah. fopen(3), for(;;) { fgets(3), strtok(3) } fclose(3). This is what 'thefish' and 'sysinstall' both do, more or less. Of course, this doesn't work in all cases. (Witness the last 20 lines or so of /etc/defaults/rc.conf to understand why this doesn't work.) rc.conf is _not_ a list of variable=value pairs. It is a shell script that sets a number of shell variables. Nothing less than a full-fledged implementation of /bin/sh is gauranteed to work in all cases. Which comes back to the question in my original posting: does anyone have sample code for manipulating a slave /bin/sh using popen? or, alternatively, has anyone modified /bin/sh to operate as an embedded interpreter? Tim Kientzle To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: Reading rc.conf from C programs?
In message [EMAIL PROTECTED], Tim Kientzle writes: Terry Lambert wrote: Tim Kientzle wrote: I'm trying to figure out how to read and use /etc/rc.conf configuration variables from within a C program. #!/bin/sh # Throw all of rc.conf into the environemnet so a C program # named fred can read any of them with getenv. . /etc/rc.conf fred You can get a decent simulation this way: #!/bin/sh echo *** NOISE set echo *** DATA+NOISE . /etc/rc.conf set Then pipe this into your program and separate the data from the noise. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 [EMAIL PROTECTED] | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: Reading rc.conf from C programs?
Well, perhaps I'm missing something here, but can't you just tokenize the items in rc.conf using strtok after opening up the file in your C program? And char buffer sizes is a problem, you can record where the file pointer is, do you a strtok on say '=', subtract the new file pointer size with the old one, malloc your char string, then move the file pointer back to its previous location. I mean, I may certainly be missing something here, but I've never noticed rc.conf be anything other than a left hand value and a right hand value (often enclosed in quotes), with both sides being separated by an equal sign. -Mike Quoting [EMAIL PROTECTED]: In message [EMAIL PROTECTED], Tim Kientzle writes: Terry Lambert wrote: Tim Kientzle wrote: I'm trying to figure out how to read and use /etc/rc.conf configuration variables from within a C program. #!/bin/sh # Throw all of rc.conf into the environemnet so a C program # named fred can read any of them with getenv. . /etc/rc.conf fred You can get a decent simulation this way: #!/bin/sh echo *** NOISE set echo *** DATA+NOISE . /etc/rc.conf set Then pipe this into your program and separate the data from the noise. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 [EMAIL PROTECTED] | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message - SIUE Web Mail To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: Reading rc.conf from C programs?
Oh, and changing a bit of what I said in my previous post, you could instead just pass the strtok to strlen I think and then rewind your file pointer. This should save some CPU cycles or at least save code complexity by doing it this way (in my mind at least). Anyway, just a couple thoughts. -Mike Quoting [EMAIL PROTECTED]: In message [EMAIL PROTECTED], Tim Kientzle writes: Terry Lambert wrote: Tim Kientzle wrote: I'm trying to figure out how to read and use /etc/rc.conf configuration variables from within a C program. #!/bin/sh # Throw all of rc.conf into the environemnet so a C program # named fred can read any of them with getenv. . /etc/rc.conf fred You can get a decent simulation this way: #!/bin/sh echo *** NOISE set echo *** DATA+NOISE . /etc/rc.conf set Then pipe this into your program and separate the data from the noise. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 [EMAIL PROTECTED] | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message - SIUE Web Mail To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: Reading rc.conf from C programs?
In message [EMAIL PROTECTED], [EMAIL PROTECTED] wri tes: Well, perhaps I'm missing something here, but can't you just tokenize the items in rc.conf using strtok after opening up the file in your C program? Only if you parse and evaluate the entire /bin/sh syntax. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 [EMAIL PROTECTED] | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: Reading rc.conf from C programs?
In a message written on Thu, Jan 02, 2003 at 12:18:55PM -0800, Tim Kientzle wrote: rc.conf is _not_ a list of variable=value pairs. It is a shell script that sets a number of shell variables. Nothing less than a full-fledged implementation of /bin/sh is gauranteed to work in all cases. Might it be worth restricting rc.conf to be a (very small?) subset of sh syntax so that it remains both a valid sh script and also easier to parse in a program? Clearly things like the end of /etc/defaults/rc.conf would have to be handled differently, but that might be a good trade off to make the file more easily parseable in many languages. -- Leo Bicknell - [EMAIL PROTECTED] - CCIE 3440 PGP keys at http://www.ufp.org/~bicknell/ Read TMBG List - [EMAIL PROTECTED], www.tmbg.org msg38941/pgp0.pgp Description: PGP signature
Re: pw(8): $ (dollar sign) in username
Mahlon wrote: This has come up more than a few times in the past. vipw does allow the $ character, and works great in a 'couple of machines' network. It's not a viable solution for using samba's machine trust accounts in an *automated* environment. Having to manually add your domain trust accounts is unneeded when samba can do it for you - after a 1 character change in pw. Probably the correct approach is to use the PAM module that allows the UNIX machine to perform authentication against the domain controller, instead of its local password database. You talk about the difficulty of adding all these account to a UNIX machine, and then having to modify them with vipw, but you don't complain about the difficulty *still* involved in adding them, if the vipw step is removed. Better to eliminate the need to create the accounts at all. -- Terry To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: Reading rc.conf from C programs?
Tim Kientzle wrote: [ ... simple script ... ] This doesn't work. /etc/rc.conf does not export its variables to the environment. It only sets them in the local shell. Try the above where 'fred' is #!/bin/sh printenv and you'll see what I mean. Someone else has already pointed out set -e. rc.conf is _not_ a list of variable=value pairs. It is a shell script that sets a number of shell variables. Nothing less than a full-fledged implementation of /bin/sh is gauranteed to work in all cases. Then this is broken, and needs to be fixed, not worked around by adding the ability to interpret the code that shouldn't be there. -- Terry To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: Reading rc.conf from C programs?
[EMAIL PROTECTED] wrote: Well, perhaps I'm missing something here, but can't you just tokenize the items in rc.conf using strtok after opening up the file in your C program? You are missing something. Someone violated policy, and put shell code into rc.conf, instead of leaving it a name/value pairs. -- Terry To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: Reading rc.conf from C programs?
On Thu, 02 Jan 2003 13:35:03 -0800 Terry Lambert [EMAIL PROTECTED] wrote: Hi, You are missing something. Someone violated policy, and put shell code into rc.conf, instead of leaving it a name/value pairs. So where are you patches? :-) Parsing rc.conf is not rocket science anway. Cheers, -- Miguel Mendez - [EMAIL PROTECTED] GPG Public Key :: http://energyhq.homeip.net/files/pubkey.txt EnergyHQ :: http://www.energyhq.tk Of course it runs NetBSD! To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: Reading rc.conf from C programs?
You're somewhat mistaken if you think there was EVER any defined policy with respect to this, it was simply a shell configuration file that gained prominance as it went along, from its humble beginnings as /etc/sysconfig or whatever it was we called it back then. There was never any specific mandate that it be a key/value pair configuration variable database, that was simply a de-facto standard and one which was never clearly documented. In hindsight, if we'd really wanted a key/value pair database then we should have done it in XML and simply dealt with it at arm's length through a accessor utility, e.g. instead of: case ${ipsec_enable} in We'd have: case `sysconfig -r ipsec_enable` in Or something to that effect. If you're really looking for the real solution underlying this problem then you need to look past the format being used at the moment and at the fundamental problem it was originally trying to solve. - Jordan On Thursday, January 2, 2003, at 01:35 PM, Terry Lambert wrote: [EMAIL PROTECTED] wrote: Well, perhaps I'm missing something here, but can't you just tokenize the items in rc.conf using strtok after opening up the file in your C program? You are missing something. Someone violated policy, and put shell code into rc.conf, instead of leaving it a name/value pairs. -- Terry To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message -- Jordan K. Hubbard Engineering Manager, BSD technology group Apple Computer To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: Reading rc.conf from C programs?
Hi all, On Thu, Jan 02, 2003 at 09:56:16PM +0100, [EMAIL PROTECTED] wrote: In message [EMAIL PROTECTED], [EMAIL PROTECTED] wri tes: Well, perhaps I'm missing something here, but can't you just tokenize the items in rc.conf using strtok after opening up the file in your C program? Only if you parse and evaluate the entire /bin/sh syntax. So, I've come up with the following. With 'env -' you can clear all environment variables, with 'set -a' you can mark all shell variables as exported and with '. /etc/rc.conf' or '. /etc/defaults/rc.conf' you can suck in those variables into a shell. Put this all together into: env - sh -ac '. /etc/defaults/rc.conf; /usr/bin/printenv' and parse the output of that. If you are worried about special characters (notably newlines) in the output of printenv, you can grab my own version of printenv at ftp://ftp.psconsult.nl/pub/src/myprintenv/myprintenv.c and put the binary in /usr/local/bin. Then change the above command in: env - sh -ac '. /etc/defaults/rc.conf; /usr/local/bin/myprintenv -q' Myprintenv -q puts double quotes around the value of each variable and precedes the following characters by a backslash: \$` Parsing this output should not be that difficult and is unambiguous with regards to special characters. The only caveat is special characters in variable names but '. /etc/defaults/rc.conf' will take care of that. Hope this helps. If people think that -q is a good option for printenv, I can come up with a patch for the standard printenv. Opinions? -- Paul Schenkeveld, Consultant PSconsult ICT Services BV To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
freebsd running on a cdrom
Hello, I've been trying to get FreeBSD to run off a cdrom. Why, well longs story, the shot version is it needs to be able to be turned off and on like a lite switch. (I understand the on part will take longer, but the off is just hit the button). When I release this box it will have no console access. I have found 2 articles that talked about doing this and made a cdrom. The problem is that I used the boot.flp from the install, with my own custom kernel and it went into sysinstall like I wanted to install the system. Without building the entire FreeBSD distro how do I make my own boot.flp file and what goes on it? Any help is greatly appreciated. Thanks, Joe __ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: Reading rc.conf from C programs?
Miguel Mendez wrote: Terry Lambert [EMAIL PROTECTED] wrote: You are missing something. Someone violated policy, and put shell code into rc.conf, instead of leaving it a name/value pairs. So where are you patches? :-) Parsing rc.conf is not rocket science anway. They're in the CVS repository. Do a cvs diff -c before and after the code was added to the file, and you'll get my diffs. 8-). -- Terry To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: iicbb(4)/iic(4) debuging
On Tue, Dec 10, 2002 at 08:51:17PM +0100, Alexander Funcke wrote: Hi, I've more or less written a bus for GPIO kind of hardware and a device-driver for National Geode's SCx200 GPIO pins. I'd like to connect the gpiobus(4) till the iicbb(4) 'device' so I can talk to the lm-sensors and other stuff that hangs on the iicbus(4) (i.e. two GPIOs). Is there any small programs that talks to iic(4) that can be used for debuging purposes? I have tried to scan the archives and google but with out result. healtd in the ports use it or smb(4). Did you already write the bit-banging driver routines like lpbb(4) does? Nicholas -- Nicholas Souchu - [EMAIL PROTECTED] - [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: SCM_CREDS
In the FreeBSD implimentation, the sender must attach a message of type SCM_CREDS and the kernel will correctly fill in the fields. Thanks! That was the missing piece of the puzzle. jim... To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: Reading rc.conf from C programs?
So far, it sounds like noone has actually implemented a completely robust way to read rc.conf data into a shell program, although a lot of people have had good experiences with simple variable=value parsing of the raw files. PHK's idea (use 'set' to dump the shell vars before and after sourcing rc.conf) is pretty close, but can be fooled by the following (admittedly pathalogical) example: a='b c=d' However, I had missed 'set -a'; that just might solve the problem completely, while still supporting arbitrary shell code: * Use popen() to capture the output of the following script: #!/bin/sh set -a if [ -r /etc/defaults/rc.conf ]; then . /etc/defaults/rc.conf source_rc_confs elif [ -r /etc/rc.conf ]; then . /etc/rc.conf fi my_custom_printenv * my_custom_printenv is a C program like /usr/bin/printenv, but it encodes newlines, etc, so that the text output is unambiguous (the stock printenv generates ambiguous output from examples like the one above) * capture and decode the output in the main program; discard anything that's present in the main program's environment. Can anyone see any way that this could fail? This would certainly be _much_ simpler than the approaches I had originally envisioned. Thanks for everyone's input! Tim Kientzle To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: Reading rc.conf from C programs?
Paul Schenkeveld wrote: If people think that -q is a good option for printenv, I can come up with a patch for the standard printenv. Opinions? Some form of unambiguous output from printenv would be nice. I would suggest quoting both the variable name and the value just to be on the safe side. Even better: modify 'env' to support that format as input. Then you could use, e.g., printenv -q saved_environment to record the environment and then use env - -r saved_environment command to recreate that environment. Tim Kientzle To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: Reading rc.conf from C programs?
On Thu, Jan 02, 2003 at 03:25:01PM +0100, Miguel Mendez wrote: On Wed, 1 Jan 2003 18:24:40 -0500 (EST) Chuck Robey [EMAIL PROTECTED] wrote: Hi, Since my little baby was mentioned, I thought I'd just comment :) You could perhaps copy the way that The Fish does it? Take a look at ports/sysutils/thefish. The parser.c code appears to read /etc/{,defaults/}rc.conf and place all the options into a linked list. I can tell you I wholeheartedly hate parser.c :) and regret having not started with lex/yacc since day 1. Since the next major release will support not only FreeBSD, but NetBSD as well, I'm redoing the parser in a more flexible way. But again, it was my first parser, and so far seems to work fine :) I've concentrated more on other aspects of the program too. Here is a very simple lex/yacc parser that reads simple key value pairs. The whole thing took about 30 minutes to write. Exclusive states may not be the easiest or best way to handle the parts of the sh syntax that need to be ignored, but it was a quick way to handle the if, which was all I cared about. -- Chad David[EMAIL PROTECTED] www.FreeBSD.org [EMAIL PROTECTED] ISSci Inc.Calgary, Alberta Canada readrc.tar.gz Description: application/tar-gz
Re: freebsd running on a cdrom
On Thu, Jan 02, 2003 at 02:03:50PM -0800, Joe wrote: Without building the entire FreeBSD distro how do I make my own boot.flp file and what goes on it? See if this article can help you: Building a CD Bootable Firewall http://www.bsdtoday.com/2002/March/Features646.html -- Craig Rodrigues http://home.attbi.com/~rodrigc [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: freebsd running on a cdrom
On Thu, 2 Jan 2003, Joe wrote: I've been trying to get FreeBSD to run off a cdrom. Why, well longs story, the shot version is it needs to be able to be turned off and on like a lite switch. (I understand the on part will take longer, but the off is just hit the button). When I release this box it will have no console access. Just run everything from MFS. From a couple of weeks ago on this list, here's the most effective CD-building package I've found yet: http://www.freesbie.org It does look for and mount FreeBSD and other types of harddrive partitions in its startup, but that should be easy to remove. -Warren Block * Rapid City, South Dakota USA To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: Reading rc.conf from C programs?
On Thu, Jan 02, 2003 at 03:16:54PM -0800, Tim Kientzle wrote: Paul Schenkeveld wrote: If people think that -q is a good option for printenv, I can come up with a patch for the standard printenv. Opinions? Some form of unambiguous output from printenv would be nice. I would suggest quoting both the variable name and the value just to be on the safe side. Even better: modify 'env' to support that format as input. Then you could use, e.g., printenv -q saved_environment to record the environment and then use env - -r saved_environment command to recreate that environment. I've rolled a patch for a recent -STABLE printenv (see below). Comments? Anyone care to commit this? Will see if I can do a patch for env over the weekend. -- Paul Schenkeveld, Consultant PSconsult ICT Services BV --- /usr/src/usr.bin/printenv/printenv.1Wed Jun 26 10:25:30 2002 +++ src/printenv/printenv.1 Fri Jan 3 02:14:11 2003 @@ -42,6 +42,9 @@ .Nd print out the environment, set and print environment .Sh SYNOPSIS .Nm +.Op Fl e +.Op Fl q +.Op Fl Q .Op Ar name .Nm env .Op Fl @@ -81,6 +84,17 @@ .Pp The options are as follows: .Bl -tag -width indent +.It Fl e +Output +.Nm export +commands for every environment variable. +.It Fl q +Double quote the value of every environment variable, +special characters (\\`$) will be preceeded bay a backslash. +.It Fl Q +Like +.Fl q +but also quote the name of the variable. .It Fl i Execute the .Ar utility --- /usr/src/usr.bin/printenv/printenv.cSat Mar 29 05:31:36 1997 +++ src/printenv/printenv.c Fri Jan 3 02:18:32 2003 @@ -49,6 +49,8 @@ #include unistd.h void usage __P((void)); +void print_var __P((char *, int)); +void print_quoted __P((char *)); /* * printenv @@ -62,12 +64,25 @@ char *argv[]; { extern char **environ; - register char *cp, **ep; + register char *cp, **ep, *eq; register size_t len; int ch; + int flags = 0; +#defineeFLAG 1 +#defineqFLAG 2 +#defineQFLAG 4 - while ((ch = getopt(argc, argv, )) != -1) + while ((ch = getopt(argc, argv, eqQ)) != -1) switch(ch) { + case 'e': + flags |= eFLAG; + break; + case 'q': + flags |= qFLAG; + break; + case 'Q': + flags |= qFLAG | QFLAG; + break; case '?': default: usage(); @@ -76,8 +91,18 @@ argv += optind; if (argc == 0) { - for (ep = environ; *ep; ep++) - (void)printf(%s\n, *ep); + for (ep = environ; *ep; ep++) { + if (flags eFLAG) { + for (eq = *ep; *eq *eq != '='; ) + eq++; + printf(export %s%.*s%s; , + flags QFLAG ? \ : , + eq - *ep, + *ep, + flags QFLAG ? \ : ); + } + print_var(*ep, flags); + } exit(0); } len = strlen(*argv); @@ -85,7 +110,12 @@ if (!memcmp(*ep, *argv, len)) { cp = *ep + len; if (!*cp || *cp == '=') { - (void)printf(%s\n, *cp ? cp + 1 : cp); + if (flags qFLAG) { + print_quoted(*ep); + putchar('\n'); + } + else + (void)printf(%s\n, *cp ? cp + 1 : cp); exit(0); } } @@ -93,8 +123,50 @@ } void +print_var(var, flags) + char *var; + int flags; +{ + register char *eq; + for (eq = var; eq *eq *eq != '='; ) + eq++; + if (*eq == '=') { + *eq++ = '\0'; + if (flags QFLAG) + print_quoted(var); + else + printf(%s, var); + putchar('='); + if (flags qFLAG) + print_quoted(eq); + else + printf(%s, eq); + putchar('\n'); + } +} + +void +print_quoted(str) + char *str; +{ + putchar(''); + for ( ; *str; str++) + switch (*str) { + case '\\': + case '': + case '`': + case '$': + putchar('\\'); + /* FALL THRU */ + default: +
Re: Reading rc.conf from C programs?
In message [EMAIL PROTECTED], Tim Kientzle cleopede: Terry Lambert wrote: Tim Kientzle wrote: I'm trying to figure out how to read and use /etc/rc.conf configuration variables from within a C program. #!/bin/sh # Throw all of rc.conf into the environemnet so a C program # named fred can read any of them with getenv. . /etc/rc.conf fred This doesn't work. /etc/rc.conf does not export its variables to the environment. It only sets them in the local shell. Try the above where 'fred' is #!/bin/sh printenv and you'll see what I mean. Try using the set -a command before reading rc.conf and it will work: #!/bin/sh set -a . /etc/rc.conf exec yourprog Greg Shenaut To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: freebsd running on a cdrom
Thanks, but that was actually one of the articles I had already read. It suggests taking the boot.flp image from 4.4-RELEASE and just using your own boot0, loader.4th and kernel.gz. When I did that I ended up with the system booting, but it complained about a missing something(I cannot remember the exact message, would have to run it again) and then went into sysinstall. The problem with the article is that it is not clean what the 4.4-RELEASE is and it kinda sounded like a live filesystem. Joe --- Craig Rodrigues [EMAIL PROTECTED] wrote: On Thu, Jan 02, 2003 at 02:03:50PM -0800, Joe wrote: Without building the entire FreeBSD distro how do I make my own boot.flp file and what goes on it? See if this article can help you: Building a CD Bootable Firewall http://www.bsdtoday.com/2002/March/Features646.html -- Craig Rodrigues http://home.attbi.com/~rodrigc [EMAIL PROTECTED] __ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: freebsd running on a cdrom
Hello, I've been having the exact same problem. I've found a page that gives a more complete detail of bootable freebsd cd's, including how to supress the /stand/sysinstall invocation. http://www.zamaz.com/brian/firewall.html I haven't tried it yet, so I can't vouche for it, but if you read through the script the author writes, it mentions the creation of a loader.rc file. I'm hoping this will work. Good luck, matt - Original Message - From: Joe [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, January 02, 2003 4:03 PM Subject: freebsd running on a cdrom Hello, I've been trying to get FreeBSD to run off a cdrom. Why, well longs story, the shot version is it needs to be able to be turned off and on like a lite switch. (I understand the on part will take longer, but the off is just hit the button). When I release this box it will have no console access. I have found 2 articles that talked about doing this and made a cdrom. The problem is that I used the boot.flp from the install, with my own custom kernel and it went into sysinstall like I wanted to install the system. Without building the entire FreeBSD distro how do I make my own boot.flp file and what goes on it? Any help is greatly appreciated. Thanks, Joe __ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: devd, crunchgen, C++, and /rescue
In message: [EMAIL PROTECTED] Tim Kientzle [EMAIL PROTECTED] writes: : For now, this means that devd will not be in : /rescue. I'm not entirely happy about this. devd typically wouldn't be all that useful for a /rescue environment. : Policy question: Is C++ considered acceptable in /bin : and /sbin? (I presume so, since Warner's doing it.) Yes. I don't see why not. : Technical Question: Does anyone know how to get : crunchgen to play nicely with C++ programs? (I've : tried a couple of simple changes to the generated : makefile with no success.) What's the problem. : Usability Question: How necessary is devd likely to : be for people recovering from serious disaster? Not very. It certainly isn't REQUIRED since you can always do what devd forks by hand... Warner To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: Reading rc.conf from C programs?
In message: [EMAIL PROTECTED] Tim Kientzle [EMAIL PROTECTED] writes: : I'm trying to figure out how to read and use : /etc/rc.conf configuration variables from within : a C program. The standard technique, of course, : is to use a shell-script wrapper and pass the : extracted values to the C program on the command : line. But I want access to _all_ of the rc.conf : variables, not just a couple of them, and I don't : see any reasonable way to accomplish that with a : shell wrapper. The easy way to do this would be to exec a small shell script that execs /etc/rc.conf, et al, then execs your program. Then it is as simple as getenv... Warner To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
MAKEDEV unknown major/minor devtype /dev/pst0s2b
I am trying to install freebsd-4.7 stable on a promise sx6000 controller. Since the pst driver is not enabled on the kernel image i had to recompile the kernel to support it (kern.flp ) and also modified the mfsroot.gz to have /dev/pst0 entries. But when i am just about to install, sysinstall complains with something like this: DEBUG: MAKEDEV Unknown major/minor devtype /dev/pst0s2b Is there anything I need to modify ? To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: freebsd running on a cdrom
Thanks, I looked at the ports/sysutils/cdroot/mkcdroot script and hacked togeather a boot.flp that worked. Only problem is that ssh does not work, but its a cd-rw so I'll have to change a few things. The boot went though okay, but now I gotta make changes so that it is console access and ssh only. Thanks, Joe --- Matthew Saunders [EMAIL PROTECTED] wrote: Hello, I've been having the exact same problem. I've found a page that gives a more complete detail of bootable freebsd cd's, including how to supress the /stand/sysinstall invocation. http://www.zamaz.com/brian/firewall.html I haven't tried it yet, so I can't vouche for it, but if you read through the script the author writes, it mentions the creation of a loader.rc file. I'm hoping this will work. Good luck, matt - Original Message - From: Joe [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, January 02, 2003 4:03 PM Subject: freebsd running on a cdrom Hello, I've been trying to get FreeBSD to run off a cdrom. Why, well longs story, the shot version is it needs to be able to be turned off and on like a lite switch. (I understand the on part will take longer, but the off is just hit the button). When I release this box it will have no console access. I have found 2 articles that talked about doing this and made a cdrom. The problem is that I used the boot.flp from the install, with my own custom kernel and it went into sysinstall like I wanted to install the system. Without building the entire FreeBSD distro how do I make my own boot.flp file and what goes on it? Any help is greatly appreciated. Thanks, Joe __ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message __ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
key=value in rc.conf (was Re: Reading rc.conf from C programs?)
On Thu, 2 Jan 2003, Terry Lambert wrote: They're in the CVS repository. Do a cvs diff -c before and after the code was added to the file, and you'll get my diffs. 8-). Perhaps the stuff at the bottom of defaults/rc.conf needs to be in a seperate file (like read_rc_conf.sh) with another line or 2 to read in defaults/rc.conf first. That way shell scripts needing to parse rc.conf call upon a tool to do it in the same way as C programs are having to. From that point on rc.conf can be key=value pairs only. Would this solve everyones problems or am I overlookign something? Andrew To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: devd, crunchgen, C++, and /rescue
Tim Kientzle [EMAIL PROTECTED] writes: : Does anyone know how to get crunchgen to play nicely with C++ programs? M. Warner Losh asks: What's the problem. Using crunchgen directly gives the expected linkage problems: # cat test.conf srcdirs /usr/src/sbin progs devd libs -ll # crunchgen -q test.conf Run make -f test.mk to build crunched binary. # make -f test.mk (cd /usr/src/sbin/devd make depend make devd.o token.o parse.o) `devd.o' is up to date. `token.o' is up to date. `parse.o' is up to date. cc -O -pipe -mcpu=pentiumpro -c test.c echo int _crunched_devd_stub(int argc, char **argv, char **envp){return main(argc,argv,envp);} devd_stub.c cc -O -pipe -mcpu=pentiumpro -c devd_stub.c ld -dc -r -o devd.lo devd_stub.o /usr/src/sbin/devd/devd.o /usr/src/sbin/devd/token.o /usr/src/sbin/devd/parse.o crunchide -k _crunched_devd_stub devd.lo cc -static -o test test.o devd.lo -ll devd.lo: In function `event_proc::~event_proc()': devd.lo(.text+0x223): undefined reference to `operator delete(void*)' devd.lo: In function `action::action(char const*)': devd.lo(.text+0x347): undefined reference to `std::string::string(char const*, std::allocatorchar const)' devd.lo: In function `action::action(char const*)': 230 additional lines of errors deleted ... Attempting to re-link with c++ instead of cc gives just one error (this would be the obvious change to 'crunchgen' if it worked): # c++ -static -o test test.o devd.lo -ll /usr/lib/libstdc++.a(locale-inst.o): In function `std::money_getchar, std::istreambuf_iteratorchar, std::char_traitschar ::do_get(std::istreambuf_iteratorchar, std::char_traitschar , std::istreambuf_iteratorchar, std::char_traitschar , bool, std::ios_base, std::_Ios_Iostate, std::string) const': locale-inst.o(.gnu.linkonce.t._ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs+0xa44): undefined reference to `unsigned const std::minunsigned(unsigned const, unsigned const)' For the record, cd /usr/src/sbin/devd make clean make works just fine on this machine, so I'm reasonably confident that the compiler, libs, etc, are all correctly installed. This one has me stumped. Any ideas? Tim To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: devd, crunchgen, C++, and /rescue
In message: [EMAIL PROTECTED] Tim Kientzle [EMAIL PROTECTED] writes: : devd.lo: In function `event_proc::~event_proc()': ... : This one has me stumped. Any ideas? I'm not. event_proc::~event_proc() is really one of the following: 0180 T event_proc::~event_proc [in-charge deleting]() 0100 T event_proc::~event_proc [in-charge]() 0080 T event_proc::~event_proc [not-in-charge]() which aren't what they seem either: 0180 T _ZN10event_procD0Ev 0100 T _ZN10event_procD1Ev 0080 T _ZN10event_procD2Ev Which gives crunchgen fits, I'm guessing. crunchgen is likely changing them to something like: 0180 T devd_ZN10event_procD0Ev or 0180 T devd__ZN10event_procD0Ev So I'd say that crunchgen doesn't grok c++ mangled symbols, which isn't that surprising... Warner To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message