From owner-freebsd-hackers Sun Mar 31 1:17:48 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from patrocles.silby.com (d177.as7.nwbl0.wi.voyager.net [169.207.130.115]) by hub.freebsd.org (Postfix) with ESMTP id 38EA437B405 for ; Sun, 31 Mar 2002 01:17:44 -0800 (PST) Received: from patrocles.silby.com (localhost [127.0.0.1]) by patrocles.silby.com (8.12.2/8.12.2) with ESMTP id g2VFGQUH040894; Sun, 31 Mar 2002 09:16:26 -0600 (CST) (envelope-from silby@silby.com) Received: from localhost (silby@localhost) by patrocles.silby.com (8.12.2/8.12.2/Submit) with ESMTP id g2VFGNOX040891; Sun, 31 Mar 2002 09:16:25 -0600 (CST) X-Authentication-Warning: patrocles.silby.com: silby owned process doing -bs Date: Sun, 31 Mar 2002 09:16:18 -0600 (CST) From: Mike Silbersack To: Leo Bicknell Cc: Paul Halliday , Subject: Re: GPS time. In-Reply-To: <20020330142859.GA19243@ussenterprise.ufp.org> Message-ID: <20020331091304.U40871-100000@patrocles.silby.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Sat, 30 Mar 2002, Leo Bicknell wrote: > Your NTP servers are better. > > I tested a III Plus, and without a 1 PPS source (which that model > doesn't provide) it's accurate to about 100ms, give or take. Since > real NTP servers are < 1ms, they really aren't that good. It's > not that the time isn't accurate, it's that they were not designed > to communicate with that accuracy to an external device. OTOH, 100ms is pretty close; I doubt many people need time better than that. The one big advantage I can see with using a GPS receiver vs NTP servers is security & reliability; I've always worried that my clock might start to drift to a misconfigured NTP server. Taken to a paranoid level, you could worry that someone was faking NTP replies to throw your clocks off. :) So, even at 100ms accuracy, it might be better to use a local GPS unit. Mike "Silby" Silbersack To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Sun Mar 31 4:19:28 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mailout01.sul.t-online.com (mailout01.sul.t-online.com [194.25.134.80]) by hub.freebsd.org (Postfix) with ESMTP id 5F99837B416; Sun, 31 Mar 2002 04:19:12 -0800 (PST) Received: from fwd03.sul.t-online.de by mailout01.sul.t-online.com with smtp id 16re4X-0000tk-00; Sun, 31 Mar 2002 14:04:33 +0200 Received: from Magelan.Leidinger.net (520065502893-0001@[217.83.20.61]) by fmrl03.sul.t-online.com with esmtp id 16re4P-1bku1YC; Sun, 31 Mar 2002 14:04:25 +0200 Received: from Leidinger.net (netchild@localhost [127.0.0.1]) by Magelan.Leidinger.net (8.12.2/8.12.2) with ESMTP id g2VB4FFL003781; Sun, 31 Mar 2002 13:04:19 +0200 (CEST) (envelope-from netchild@Leidinger.net) Message-Id: <200203311104.g2VB4FFL003781@Magelan.Leidinger.net> Date: Sun, 31 Mar 2002 13:04:15 +0200 (CEST) From: Alexander Leidinger Subject: Re: lang/icc doesn't compile c++ sources To: tlambert2@mindspring.com Cc: nick-lists@netability.ie, hackers@FreeBSD.ORG, ports@FreeBSD.ORG, cy@FreeBSD.org In-Reply-To: <3CA67AAD.58C6DC82@mindspring.com> MIME-Version: 1.0 Content-Type: TEXT/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8BIT X-Sender: 520065502893-0001@t-dialin.net Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On 30 Mär, Terry Lambert wrote: >> "/usr/include/stdlib.h", line 57: error: invalid combination of type specifiers >> typedef _BSD_WCHAR_T_ wchar_t; > > This seems to be a problem with the wchar_t being intrinsic, > and defined anyway for the compiler. So we just have to "#if !defined(__ICC)" it? Hmm, I have to test this, perhaps tomorrow. >> [piles more warnings chopped >> >> This, of course, indicates nothing more than that the linux_devtools >> package hasn't been installed: a simple "pkg_add -r linux_devtools" >> appears to fix the problem. The devtools package should be included on >> the port dependency list to fix it properly. > > Actually, when you install the Linux devtools, then what you > get is a Linux binary search path inserted first. This is > actually the *wrong* thing, if what you want is to use the > compiler to generate native FreeBSD binaries. ACK. > Probably, it would be best to handle the warnings, each on a > case-by-case basis. > > Unless what you really want is to generate Linux binaries on > FreeBSD? The we have to provide a different icc port (linux_icc?) for it. The actual port is specially designed to _not_ be able to produce linux object files (some replacement headers get removed). >> Also, the intel folks don't seem to understand csh syntax very well, >> according to the last line of compiler50/ia32/bin/iccvars.csh, which >> states: >> >> > setenv INTEL_FLEXLM_LICENSE=/licenses >> >> Oops - that should have been caught by QA. Unfortunately, this file is >> modified by pre-patch:, which means that a simple patch won't do the >> trick if people decide to install the port in a different location. >> Hmmm. >> >> I've mailed gnats about both of these problems, and have included >> suggested fixes for each. > > I think this is just a "sed" path that is supposed to be replaced > during the installation. This is a probably bug in the FreeBSD > install replacement, rather than an Intel bug. No, it's an Intel bug. And it will be fixed in the next PORTREVISION (I'm waiting a little bit to see if I need to do something for the C++ problem). Bye, Alexander. -- The best things in life are free, but the expensive ones are still worth a look. http://www.Leidinger.net Alexander @ Leidinger.net GPG fingerprint = C518 BC70 E67F 143F BE91 3365 79E2 9C60 B006 3FE7 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Sun Mar 31 8:43:28 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from saruman.xwin.net (saruman.xwin.net [205.219.158.250]) by hub.freebsd.org (Postfix) with ESMTP id 0467237B416 for ; Sun, 31 Mar 2002 08:43:23 -0800 (PST) Received: from localhost (dp@localhost) by saruman.xwin.net (8.11.4/8.11.4) with ESMTP id g2VGit109003; Sun, 31 Mar 2002 10:44:55 -0600 Date: Sun, 31 Mar 2002 10:44:55 -0600 (CST) From: Paul Halliday X-X-Sender: dp@saruman.xwin.net To: Mike Silbersack Cc: Leo Bicknell , Subject: Re: GPS time. In-Reply-To: <20020331091304.U40871-100000@patrocles.silby.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Sun, 31 Mar 2002, Mike Silbersack wrote: > > On Sat, 30 Mar 2002, Leo Bicknell wrote: > > > Your NTP servers are better. > > > > I tested a III Plus, and without a 1 PPS source (which that model > > doesn't provide) it's accurate to about 100ms, give or take. Since > > real NTP servers are < 1ms, they really aren't that good. It's > > not that the time isn't accurate, it's that they were not designed > > to communicate with that accuracy to an external device. > > OTOH, 100ms is pretty close; I doubt many people need time better than > that. The one big advantage I can see with using a GPS receiver vs NTP > servers is security & reliability; I've always worried that my clock > might start to drift to a misconfigured NTP server. Taken to a paranoid > level, you could worry that someone was faking NTP replies to throw your > clocks off. :) This is the answer I was kinda hoping for. I think that accuracy to ~100ms from a known source is a little more comforting than <1ms from a server that I have no control over. I am not maintaining a space program, just a dozen machines in my room that really serve no other purpose than personal entertainment. Thanks for all the replies! > > So, even at 100ms accuracy, it might be better to use a local GPS unit. > > > > Mike "Silby" Silbersack > > Paul H. "Don't underestimate the power of stupid people in large groups" ___________________ http://dp.penix.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Sun Mar 31 9:32:21 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from maild.telia.com (maild.telia.com [194.22.190.101]) by hub.freebsd.org (Postfix) with ESMTP id 36D2637B419 for ; Sun, 31 Mar 2002 09:32:15 -0800 (PST) Received: from d1o913.telia.com (d1o913.telia.com [195.252.44.241]) by maild.telia.com (8.11.6/8.11.6) with ESMTP id g2VHWE118076 for ; Sun, 31 Mar 2002 19:32:14 +0200 (CEST) Received: from falcon.midgard.homeip.net (h68n2fls20o913.telia.com [212.181.163.68]) by d1o913.telia.com (8.8.8/8.8.8) with SMTP id TAA12069 for ; Sun, 31 Mar 2002 19:32:13 +0200 (CEST) Received: (qmail 11685 invoked by uid 1001); 31 Mar 2002 17:32:01 -0000 Date: Sun, 31 Mar 2002 19:32:01 +0200 From: Erik Trulsson To: Paul Halliday Cc: Mike Silbersack , Leo Bicknell , hackers@FreeBSD.ORG Subject: Re: GPS time. Message-ID: <20020331173200.GB11505@student.uu.se> Mail-Followup-To: Paul Halliday , Mike Silbersack , Leo Bicknell , hackers@FreeBSD.ORG References: <20020331091304.U40871-100000@patrocles.silby.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.3.28i Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Sun, Mar 31, 2002 at 10:44:55AM -0600, Paul Halliday wrote: > On Sun, 31 Mar 2002, Mike Silbersack wrote: > > > > > On Sat, 30 Mar 2002, Leo Bicknell wrote: > > > > > Your NTP servers are better. > > > > > > I tested a III Plus, and without a 1 PPS source (which that model > > > doesn't provide) it's accurate to about 100ms, give or take. Since > > > real NTP servers are < 1ms, they really aren't that good. It's > > > not that the time isn't accurate, it's that they were not designed > > > to communicate with that accuracy to an external device. > > > > OTOH, 100ms is pretty close; I doubt many people need time better than > > that. The one big advantage I can see with using a GPS receiver vs NTP > > servers is security & reliability; I've always worried that my clock > > might start to drift to a misconfigured NTP server. Taken to a paranoid > > level, you could worry that someone was faking NTP replies to throw your > > clocks off. :) > > This is the answer I was kinda hoping for. I think that accuracy > to ~100ms from a known source is a little more comforting than <1ms from a > server that I have no control over. I am not maintaining a space program, > just a dozen machines in my room that really serve no other purpose than > personal entertainment. Yes, but that is why one shouldn't rely on *a* server. When using NTP it is a good idea to get the time from several NTP servers. The chance that all of them are misconfigured at the same time is fairly small. OTOH, taking the time from a local GPS receiver doesn't sound like a bad idea either if one doesn't need extremely good timekeeping. -- Erik Trulsson ertr1013@student.uu.se To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Sun Mar 31 10:25: 6 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from troutmask.apl.washington.edu (troutmask.apl.washington.edu [128.208.78.105]) by hub.freebsd.org (Postfix) with ESMTP id 818A837B419 for ; Sun, 31 Mar 2002 10:25:04 -0800 (PST) Received: from troutmask.apl.washington.edu (localhost [127.0.0.1]) by troutmask.apl.washington.edu (8.12.2/8.12.2) with ESMTP id g2VIP4Cc014066 for ; Sun, 31 Mar 2002 10:25:04 -0800 (PST) (envelope-from sgk@troutmask.apl.washington.edu) Received: (from sgk@localhost) by troutmask.apl.washington.edu (8.12.2/8.12.2/Submit) id g2VIP4k1014065 for freebsd-hackers@freebsd.org; Sun, 31 Mar 2002 10:25:04 -0800 (PST) Date: Sun, 31 Mar 2002 10:25:04 -0800 From: Steve Kargl To: freebsd-hackers@freebsd.org Subject: Linux OpenOffice Message-ID: <20020331102504.A14036@troutmask.apl.washington.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG I know Martin Blapp is working on getting the native port of OpenOffice into the ports collections. Until he is finished, people can get a glimpse of OpenOffice by installing the Linux version. OpenOffice build 641d appears to work fairly well. It loaded some complicated Word, Excel, and PowerPoint persentation. -- Steve To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Sun Mar 31 10:55:17 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mailout07.sul.t-online.com (mailout07.sul.t-online.com [194.25.134.83]) by hub.freebsd.org (Postfix) with ESMTP id 4565A37B41A; Sun, 31 Mar 2002 10:55:08 -0800 (PST) Received: from fwd09.sul.t-online.de by mailout07.sul.t-online.com with smtp id 16rkRS-0003PC-09; Sun, 31 Mar 2002 20:52:38 +0200 Received: from Magelan.Leidinger.net (520065502893-0001@[217.83.20.61]) by fmrl09.sul.t-online.com with esmtp id 16rkRM-1Xwh0qC; Sun, 31 Mar 2002 20:52:32 +0200 Received: from Leidinger.net (netchild@localhost [127.0.0.1]) by Magelan.Leidinger.net (8.12.2/8.12.2) with ESMTP id g2VHqLFL006965; Sun, 31 Mar 2002 19:52:25 +0200 (CEST) (envelope-from netchild@Leidinger.net) Message-Id: <200203311752.g2VHqLFL006965@Magelan.Leidinger.net> Date: Sun, 31 Mar 2002 19:52:21 +0200 (CEST) From: Alexander Leidinger Subject: Re: lang/icc doesn't compile c++ sources To: tlambert2@mindspring.com Cc: nick-lists@netability.ie, hackers@FreeBSD.ORG, ports@FreeBSD.ORG, cy@FreeBSD.ORG In-Reply-To: <200203311104.g2VB4FFL003781@Magelan.Leidinger.net> MIME-Version: 1.0 Content-Type: TEXT/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8BIT X-Sender: 520065502893-0001@t-dialin.net Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On 31 Mär, I wrote: >>> "/usr/include/stdlib.h", line 57: error: invalid combination of type specifiers >>> typedef _BSD_WCHAR_T_ wchar_t; >> >> This seems to be a problem with the wchar_t being intrinsic, >> and defined anyway for the compiler. > > So we just have to "#if !defined(__ICC)" it? Hmm, I have to test this, > perhaps tomorrow. I had time to do it now, and yes, this fixes theses errors (http://www.leidinger.net/FreeBSD/icc.src:include.diff), but there are other errors, which seem to be a result of an incomplete wchar implementation... ---snip--- (7) netchild@ttyp1 % LD_PRELOAD= icc -c test.cc test.cc: "/usr/local/intel/compiler50/ia32/include/cwchar", line 16: error: the global scope has no "tm" using ::mbstate_t; using ::size_t; using ::tm; using ::wint_t; ^ "/usr/local/intel/compiler50/ia32/include/cwchar", line 19: error: the global scope has no "btowc" using ::btowc; ^ "/usr/local/intel/compiler50/ia32/include/cwchar", line 22: error: the global scope has no "mbrlen" using ::mbrlen; using ::mbrtowc; using ::mbsrtowcs; ^ "/usr/local/intel/compiler50/ia32/include/cwchar", line 22: error: the global scope has no "mbrtowc" using ::mbrlen; using ::mbrtowc; using ::mbsrtowcs; ^ "/usr/local/intel/compiler50/ia32/include/cwchar", line 22: error: the global scope has no "mbsrtowcs" using ::mbrlen; using ::mbrtowc; using ::mbsrtowcs; ^ ---snip--- > (I'm waiting a little bit to see if I need to do something for the C++ > problem). I think this is not a problem which should get solved in the port, so I commit the new portrevision soon. Bye, Alexander. -- Where do you think you're going today? http://www.Leidinger.net Alexander @ Leidinger.net GPG fingerprint = C518 BC70 E67F 143F BE91 3365 79E2 9C60 B006 3FE7 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Sun Mar 31 11:45:29 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from services.webwarrior.net (overlord-host99.dsl.visi.com [209.98.86.99]) by hub.freebsd.org (Postfix) with ESMTP id EA0FA37B417 for ; Sun, 31 Mar 2002 11:45:22 -0800 (PST) Received: from twincat.vladsempire.net (hutch-181.hutchtel.net [206.10.67.81]) by services.webwarrior.net (Postfix) with ESMTP id BAD2E44C for ; Sun, 31 Mar 2002 13:45:20 -0600 (CST) Received: by twincat.vladsempire.net (Postfix, from userid 1001) id 611F13884; Sun, 31 Mar 2002 13:46:08 +0000 (GMT) Date: Sun, 31 Mar 2002 13:46:08 +0000 From: Josh Paetzel To: Terry Lambert Cc: Alfred Perlstein , Andrew , Dan Nelson , Volker Stolz , Ian , hackers@FreeBSD.ORG Subject: Re: idprio Message-ID: <20020331134608.A286@twincat.vladsempire.net> References: <3CA0D3FE.8113515C@mindspring.com> <20020327092520.V24232-100000@starbug.ugh.net.au> <20020326223103.GC93885@elvis.mu.org> <3CA156F5.79580CE3@mindspring.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3CA156F5.79580CE3@mindspring.com>; from tlambert2@mindspring.com on Tue, Mar 26, 2002 at 09:21:57PM -0800 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Tue, Mar 26, 2002 at 09:21:57PM -0800, Terry Lambert wrote: > Alfred Perlstein wrote: > > > But if system calls aren't preempted under what circumstances can a > > > process hold a vnode lock and then be usurped for processor? > > > > While sleeping for IO. > > Ideal systems release and reacquire locks when they are going > to suspend for a long time (Djikstra's "Banker's Algorithm"). > > -- Terry > Of course, the downside of this is that a low priority process that needs a lot of resources may never be able get all of the resources that it needs. :) Josh To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Sun Mar 31 11:56:29 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from services.webwarrior.net (overlord-host99.dsl.visi.com [209.98.86.99]) by hub.freebsd.org (Postfix) with ESMTP id C2DA037B42C; Sun, 31 Mar 2002 11:56:08 -0800 (PST) Received: from twincat.vladsempire.net (hutch-181.hutchtel.net [206.10.67.81]) by services.webwarrior.net (Postfix) with ESMTP id A4E1A44C; Sun, 31 Mar 2002 13:56:07 -0600 (CST) Received: by twincat.vladsempire.net (Postfix, from userid 1001) id DB0AF3884; Sun, 31 Mar 2002 13:56:53 +0000 (GMT) Date: Sun, 31 Mar 2002 13:56:53 +0000 From: Josh Paetzel To: Andrew Cc: Eric Melville , David Turnbull , freebsd-hackers@FreeBSD.ORG Subject: Re: incorrect information in ata(4)? Message-ID: <20020331135653.B286@twincat.vladsempire.net> References: <20020328163206.A49580@FreeBSD.org> <20020329145944.C40690-100000@starbug.ugh.net.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20020329145944.C40690-100000@starbug.ugh.net.au>; from andrew@ugh.net.au on Fri, Mar 29, 2002 at 03:01:04PM +1100 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Fri, Mar 29, 2002 at 03:01:04PM +1100, Andrew wrote: > > > On Thu, 28 Mar 2002, Eric Melville wrote: > > > staralfur% sysctl kern.osrevision > > kern.osrevision = 199506 > > > > > I couldn't tell you what it means, though. > > That both OSs are based on 4.4BSD-Lite2 I believe. > > Andrew > Well isn't NetBSD as well? ===root@sun ('tty') /home/jpaetzel -> sysctl kern.osrevision kern.osrevision = 105000200 ===root@sun ('tty') /home/jpaetzel -> uname -a NetBSD sun.vladsempire.net 1.5.2 NetBSD 1.5.2 (SUN) #0: Sat Feb 9 15:20:35 CST 2002 jpaetzel@sun.vladsempire.net:/usr/src/sys/arch/sparc/compile/SUN sparc Josh To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Sun Mar 31 12:26:41 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from rover.village.org (rover.bsdimp.com [204.144.255.66]) by hub.freebsd.org (Postfix) with ESMTP id 10DB437B41C for ; Sun, 31 Mar 2002 12:26:38 -0800 (PST) Received: from harmony.village.org (harmony.village.org [10.0.0.6]) by rover.village.org (8.11.3/8.11.3) with ESMTP id g2VKQai46368; Sun, 31 Mar 2002 13:26:36 -0700 (MST) (envelope-from imp@village.org) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.11.6/8.11.6) with ESMTP id g2VKQYf51542; Sun, 31 Mar 2002 13:26:35 -0700 (MST) (envelope-from imp@village.org) Date: Sun, 31 Mar 2002 13:25:49 -0700 (MST) Message-Id: <20020331.132549.127506348.imp@village.org> To: dp@penix.org Cc: hackers@FreeBSD.ORG Subject: Re: GPS time. From: "M. Warner Losh" In-Reply-To: References: X-Mailer: Mew version 2.1 on Emacs 21.1 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG In message: Paul Halliday writes: : I just connected my gps (garmin gps III plus) to my serial port : and realized that simply cat'ing cua0 displays date/time/position of the : unit. (neato). Anyway, how accurate would it be to use the time from this : output for ntp as opposed to my current setup using ntp servers. Generally the output time from these receivers via the serial port isn't very good from a precise time keeping point of view. There's about 10ms of variation in the reported time, which makes them very very noisy for the sort of work that ntp does. For a local network, it shouldn't be too bad, but expect to see a lot of strange things happen because the error can be so large. Warner To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Sun Mar 31 12:28:23 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from rover.village.org (rover.bsdimp.com [204.144.255.66]) by hub.freebsd.org (Postfix) with ESMTP id AC82B37B400 for ; Sun, 31 Mar 2002 12:28:18 -0800 (PST) Received: from harmony.village.org (harmony.village.org [10.0.0.6]) by rover.village.org (8.11.3/8.11.3) with ESMTP id g2VKSHi46383; Sun, 31 Mar 2002 13:28:17 -0700 (MST) (envelope-from imp@village.org) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.11.6/8.11.6) with ESMTP id g2VKSGf51555; Sun, 31 Mar 2002 13:28:16 -0700 (MST) (envelope-from imp@village.org) Date: Sun, 31 Mar 2002 13:27:30 -0700 (MST) Message-Id: <20020331.132730.48528141.imp@village.org> To: corecode@corecode.ath.cx Cc: hackers@FreeBSD.ORG Subject: Re: bsd.prog.mk doesn't link c++ programs correctly? From: "M. Warner Losh" In-Reply-To: <20020330081410.5af6f2da.corecode@corecode.ath.cx> References: <20020330081410.5af6f2da.corecode@corecode.ath.cx> X-Mailer: Mew version 2.1 on Emacs 21.1 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG In message: <20020330081410.5af6f2da.corecode@corecode.ath.cx> "Simon 'corecode' Schubert" writes: : hi hackers! : : i'm in progress in writing a c++ program utilizing bsd.prog.mk : : i wondered why my programs won't link correctly when i don't add a line : LDFLAGS=-lstdc++ : no i was trying out gcc30 (whoa, slow!) and it didn't want to link with : or without the above line. : : it seems c++ programs need to be linked via g++ (or c++). : after delting the above line and inserting a : CC=${CXX} : everything works fine, but that's not nice, of course. : : is there any specific reason why linking is done with ${CC}? : there should be a way to tell that one needs ${CXX} for linkage. I think that it is very difficult to tell if a program is a C++ program easily, so the CC hack is what is generally used. Warner To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Sun Mar 31 12:30:46 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from rover.village.org (rover.bsdimp.com [204.144.255.66]) by hub.freebsd.org (Postfix) with ESMTP id 02B7037B419 for ; Sun, 31 Mar 2002 12:30:35 -0800 (PST) Received: from harmony.village.org (harmony.village.org [10.0.0.6]) by rover.village.org (8.11.3/8.11.3) with ESMTP id g2VKUXi46426; Sun, 31 Mar 2002 13:30:34 -0700 (MST) (envelope-from imp@village.org) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.11.6/8.11.6) with ESMTP id g2VKUPf51571; Sun, 31 Mar 2002 13:30:33 -0700 (MST) (envelope-from imp@village.org) Date: Sun, 31 Mar 2002 13:29:40 -0700 (MST) Message-Id: <20020331.132940.91795402.imp@village.org> To: bicknell@ufp.org Cc: dp@penix.org, hackers@FreeBSD.ORG Subject: Re: GPS time. From: "M. Warner Losh" In-Reply-To: <20020330142859.GA19243@ussenterprise.ufp.org> References: <20020330142859.GA19243@ussenterprise.ufp.org> X-Mailer: Mew version 2.1 on Emacs 21.1 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG In message: <20020330142859.GA19243@ussenterprise.ufp.org> Leo Bicknell writes: : In a message written on Fri, Mar 29, 2002 at 06:04:11PM -0600, Paul Halliday wrote: : > I just connected my gps (garmin gps III plus) to my serial port : > and realized that simply cat'ing cua0 displays date/time/position of the : > unit. (neato). Anyway, how accurate would it be to use the time from this : > output for ntp as opposed to my current setup using ntp servers. : : Your NTP servers are better. : : I tested a III Plus, and without a 1 PPS source (which that model : doesn't provide) it's accurate to about 100ms, give or take. Since : real NTP servers are < 1ms, they really aren't that good. It's : not that the time isn't accurate, it's that they were not designed : to communicate with that accuracy to an external device. Also, the reference clocks that ntp servers use generally are in the +- 1us or better rather than 1ms sync that you can get over a wan. Of course, don't look too closely under the covers of ntp. it has well documented startup transient conditions that some applications may be senentive to. Warner To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Sun Mar 31 12:34:44 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mailout04.sul.t-online.com (mailout04.sul.t-online.com [194.25.134.18]) by hub.freebsd.org (Postfix) with ESMTP id 656F437B41D; Sun, 31 Mar 2002 12:34:30 -0800 (PST) Received: from fwd11.sul.t-online.de by mailout04.sul.t-online.com with smtp id 16rlj5-0006gV-03; Sun, 31 Mar 2002 22:14:55 +0200 Received: from spirit.zuhause.stoert.net (320050403952-0001@[80.128.114.220]) by fmrl11.sul.t-online.com with esmtp id 16rlj3-0zE8AKC; Sun, 31 Mar 2002 22:14:53 +0200 Received: from elevation.zuhause.stoert.net (elevation.zuhause.stoert.net [192.168.66.46]) by spirit.zuhause.stoert.net (8.11.6/8.11.6) with ESMTP id g2VKEpR09260; Sun, 31 Mar 2002 22:14:52 +0200 (CEST) (envelope-from corecode@corecode.ath.cx) Received: (from corecode@localhost) by elevation.zuhause.stoert.net (8.11.6/8.11.6) id g2VKEkL94063; Sun, 31 Mar 2002 22:14:46 +0200 (CEST) (envelope-from corecode) Date: Sun, 31 Mar 2002 22:14:42 +0200 From: "Simon 'corecode' Schubert" To: Alexander Leidinger Cc: tlambert2@mindspring.com, nick-lists@netability.ie, hackers@FreeBSD.ORG, ports@FreeBSD.ORG, cy@FreeBSD.ORG Subject: Re: lang/icc doesn't compile c++ sources Message-Id: <20020331221442.038bf9ce.corecode@corecode.ath.cx> In-Reply-To: <200203311752.g2VHqLFL006965@Magelan.Leidinger.net> References: <200203311104.g2VB4FFL003781@Magelan.Leidinger.net> <200203311752.g2VHqLFL006965@Magelan.Leidinger.net> X-Mailer: Sylpheed version 0.7.4claws (GTK+ 1.2.10; i386-portbld-freebsd4.5) Mime-Version: 1.0 Content-Type: multipart/signed; protocol="application/pgp-signature"; boundary="=.uaiGV:E8EK(5n'" X-Sender: 320050403952-0001@t-dialin.net Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG --=.uaiGV:E8EK(5n' Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit On Sun, 31 Mar 2002 19:52:21 +0200 (CEST) Alexander Leidinger wrote: > On 31 Mär, I wrote: > > >>> "/usr/include/stdlib.h", line 57: error: invalid combination of type specifiers > >>> typedef _BSD_WCHAR_T_ wchar_t; > >> > >> This seems to be a problem with the wchar_t being intrinsic, > >> and defined anyway for the compiler. > > > > So we just have to "#if !defined(__ICC)" it? Hmm, I have to test this, > > perhaps tomorrow. > > I had time to do it now, and yes, this fixes theses errors > (http://www.leidinger.net/FreeBSD/icc.src:include.diff), but there are > other errors, which seem to be a result of an incomplete wchar > implementation... that's right. but as terry said, it seems to be a bad idea to use some headers that don't fit the libs. i tried to patch the headers coming with 4.4-S and lang/gcc30 (because the one from the base system doesn't provide a proper c++ stl implementation) i've managed to fix several errors but now i'm hanging at this message, and i don't really know how to proceed: icc -I./include -I/usr/include -I/usr/local/lib/gcc-lib/i386-portbld-freebsd5.0/ 3.0.4/include/g++ -I /usr/local/lib/gcc-lib/i386-portbld-freebsd5.0/3.0.4/inclu de/g++/i386-portbld-freebsd5.0 -c e.cc e.cc: "/usr/local/lib/gcc-lib/i386-portbld-freebsd5.0/3.0.4/include/g++/bits/basic_str ing.h", line 860: error: no instance of constructor "std::basic_string<_CharT, _ Traits, _Alloc>::_Alloc_hider::_Alloc_hider [with _CharT=char, _Traits=std::char _traits, _Alloc=std::allocator]" matches the argument list argument types are: (char *, std::allocator) : _M_dataplus(_S_empty_rep()._M_refcopy(), _Alloc()) { } ^ detected during instantiation of "std::basic_string<_CharT, _Traits, _ Alloc>::basic_string() [with _CharT=char, _Traits=std::char_traits, _Alloc =std::allocator]" $ { echo '#include '; echo '#include '; echo 'std::string test;'; } > e.cc my first tries for the patched include files can be found here: just extract and set this include dir before any other, (see above command line). [snipsnap error msgs] > > (I'm waiting a little bit to see if I need to do something for the C++ > > problem). > > I think this is not a problem which should get solved in the port, so I > commit the new portrevision soon. actually i think this should be saved in the port ;] but this will take some time until there is a proper fix, so there is no real reason to hold back this one current patch (not the one for the headers). cheerz simon -- /"\ http://corecode.ath.cx/ \ / \ ASCII Ribbon Campaign / \ Against HTML Mail and News --=.uaiGV:E8EK(5n' Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (FreeBSD) iD8DBQE8p241r5S+dk6z85oRAtnCAJ9ewHZuQJhzHlZcwIGm0kZA/FoupACg4fYb qHxHlVDVFik8J3vwRZ/ILLY= =p/3I -----END PGP SIGNATURE----- --=.uaiGV:E8EK(5n'-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Sun Mar 31 12:35:14 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from rover.village.org (rover.bsdimp.com [204.144.255.66]) by hub.freebsd.org (Postfix) with ESMTP id 35FA737B41D for ; Sun, 31 Mar 2002 12:34:52 -0800 (PST) Received: from harmony.village.org (harmony.village.org [10.0.0.6]) by rover.village.org (8.11.3/8.11.3) with ESMTP id g2VKYoi46455; Sun, 31 Mar 2002 13:34:51 -0700 (MST) (envelope-from imp@village.org) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.11.6/8.11.6) with ESMTP id g2VKYmf51597; Sun, 31 Mar 2002 13:34:48 -0700 (MST) (envelope-from imp@village.org) Date: Sun, 31 Mar 2002 13:34:02 -0700 (MST) Message-Id: <20020331.133402.125794917.imp@village.org> To: dp@penix.org Cc: silby@silby.com, bicknell@ufp.org, hackers@FreeBSD.ORG Subject: Re: GPS time. From: "M. Warner Losh" In-Reply-To: References: <20020331091304.U40871-100000@patrocles.silby.com> X-Mailer: Mew version 2.1 on Emacs 21.1 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG In message: Paul Halliday writes: : This is the answer I was kinda hoping for. I think that accuracy : to ~100ms from a known source is a little more comforting than <1ms from a : server that I have no control over. I am not maintaining a space program, : just a dozen machines in my room that really serve no other purpose than : personal entertainment. Also keep in mind that the US governement reserves the right to turn off GPS at any time to selected regions of the globe. The problem with the large variation in time is that if you are trying to use it for a NTP reference clock, bad things happen to the algorythm and you get substantially worse performance than you would otherwise. Warner To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Sun Mar 31 12:44: 8 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from cessium.prosolve.com (gw.prosolve.com [63.225.188.140]) by hub.freebsd.org (Postfix) with ESMTP id EE75B37B405 for ; Sun, 31 Mar 2002 12:44:03 -0800 (PST) Received: from fs01.prosolve.com (fs01.prosolve.com [172.16.128.50]) by cessium.prosolve.com (8.11.4/8.11.4) with ESMTP id g2VILx127698; Sun, 31 Mar 2002 10:22:00 -0800 (PST) Received: by fs01.prosolve.com with Internet Mail Service (5.5.2655.55) id <2AZ8JCQ4>; Sun, 31 Mar 2002 10:21:58 -0800 Message-ID: From: Sean Mathias To: "'Erik Trulsson'" , Paul Halliday Cc: Mike Silbersack , Leo Bicknell , hackers@FreeBSD.ORG Subject: RE: GPS time. Date: Sun, 31 Mar 2002 10:21:57 -0800 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2655.55) Content-Type: text/plain; charset="iso-8859-1" Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Why wouldn't time from a local GPS receiver constitute good time? Provided the receiver is configured properly and acquires reference satellites fairly regularly, this should provide almost the best possible time. For LBS, the norm is to acquire three primary satellites and an additional satellite if possible for reference. As each GPS satellite has 2 or 3 onboard atomic clocks, this would seem like the best possible reference available and given the availability of receivers in a PCI form factor, inexpensive and broadly available to all. SM -----Original Message----- From: Erik Trulsson [mailto:ertr1013@student.uu.se] Sent: Sunday, March 31, 2002 9:32 AM To: Paul Halliday Cc: Mike Silbersack; Leo Bicknell; hackers@FreeBSD.ORG Subject: Re: GPS time. On Sun, Mar 31, 2002 at 10:44:55AM -0600, Paul Halliday wrote: > On Sun, 31 Mar 2002, Mike Silbersack wrote: > > > > > On Sat, 30 Mar 2002, Leo Bicknell wrote: > > > > > Your NTP servers are better. > > > > > > I tested a III Plus, and without a 1 PPS source (which that model > > > doesn't provide) it's accurate to about 100ms, give or take. Since > > > real NTP servers are < 1ms, they really aren't that good. It's > > > not that the time isn't accurate, it's that they were not designed > > > to communicate with that accuracy to an external device. > > > > OTOH, 100ms is pretty close; I doubt many people need time better than > > that. The one big advantage I can see with using a GPS receiver vs NTP > > servers is security & reliability; I've always worried that my clock > > might start to drift to a misconfigured NTP server. Taken to a paranoid > > level, you could worry that someone was faking NTP replies to throw your > > clocks off. :) > > This is the answer I was kinda hoping for. I think that accuracy > to ~100ms from a known source is a little more comforting than <1ms from a > server that I have no control over. I am not maintaining a space program, > just a dozen machines in my room that really serve no other purpose than > personal entertainment. Yes, but that is why one shouldn't rely on *a* server. When using NTP it is a good idea to get the time from several NTP servers. The chance that all of them are misconfigured at the same time is fairly small. OTOH, taking the time from a local GPS receiver doesn't sound like a bad idea either if one doesn't need extremely good timekeeping. -- Erik Trulsson ertr1013@student.uu.se To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Sun Mar 31 13:27:31 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from falcon.prod.itd.earthlink.net (falcon.mail.pas.earthlink.net [207.217.120.74]) by hub.freebsd.org (Postfix) with ESMTP id A1CC737B400 for ; Sun, 31 Mar 2002 13:27:27 -0800 (PST) Received: from pool0321.cvx21-bradley.dialup.earthlink.net ([209.179.193.66] helo=mindspring.com) by falcon.prod.itd.earthlink.net with esmtp (Exim 3.33 #1) id 16rmqc-0003cG-00; Sun, 31 Mar 2002 13:26:46 -0800 Message-ID: <3CA77EFE.2C00A81F@mindspring.com> Date: Sun, 31 Mar 2002 13:26:22 -0800 From: Terry Lambert X-Mailer: Mozilla 4.7 [en]C-CCK-MCD {Sony} (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: Josh Paetzel Cc: Alfred Perlstein , Andrew , Dan Nelson , Volker Stolz , Ian , hackers@FreeBSD.ORG Subject: Re: idprio References: <3CA0D3FE.8113515C@mindspring.com> <20020327092520.V24232-100000@starbug.ugh.net.au> <20020326223103.GC93885@elvis.mu.org> <3CA156F5.79580CE3@mindspring.com> <20020331134608.A286@twincat.vladsempire.net> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Josh Paetzel wrote: > On Tue, Mar 26, 2002 at 09:21:57PM -0800, Terry Lambert wrote: > > Alfred Perlstein wrote: > > > > But if system calls aren't preempted under what circumstances can a > > > > process hold a vnode lock and then be usurped for processor? > > > > > > While sleeping for IO. > > > > Ideal systems release and reacquire locks when they are going > > to suspend for a long time (Djikstra's "Banker's Algorithm"). > > Of course, the downside of this is that a low priority process that > needs a lot of resources may never be able get all of the resources > that it needs. :) That's a feature, not a bug. -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Sun Mar 31 13:40:41 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from pintail.mail.pas.earthlink.net (pintail.mail.pas.earthlink.net [207.217.120.122]) by hub.freebsd.org (Postfix) with ESMTP id 6C59E37B419; Sun, 31 Mar 2002 13:40:35 -0800 (PST) Received: from pool0321.cvx21-bradley.dialup.earthlink.net ([209.179.193.66] helo=mindspring.com) by pintail.mail.pas.earthlink.net with esmtp (Exim 3.33 #1) id 16rn3u-0000pM-00; Sun, 31 Mar 2002 13:40:31 -0800 Message-ID: <3CA78237.7576200C@mindspring.com> Date: Sun, 31 Mar 2002 13:40:07 -0800 From: Terry Lambert X-Mailer: Mozilla 4.7 [en]C-CCK-MCD {Sony} (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: Alexander Leidinger Cc: nick-lists@netability.ie, hackers@FreeBSD.ORG, ports@FreeBSD.ORG, cy@FreeBSD.ORG Subject: Re: lang/icc doesn't compile c++ sources References: <200203311752.g2VHqLFL006965@Magelan.Leidinger.net> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Alexander Leidinger wrote: > ---snip--- > (7) netchild@ttyp1 % LD_PRELOAD= icc -c test.cc > test.cc: > "/usr/local/intel/compiler50/ia32/include/cwchar", line 16: error: the > global scope has no "tm" > using ::mbstate_t; using ::size_t; using ::tm; using ::wint_t; [ ... ] These are complaining about missing "this" members, specifically "tm", "btowc", "mbrlen", "mbrtowc", "mbsrtowcs". The "tm" isn't obvious (maybe "to multibyte"?). I'd like to see a standards reference for "byte to wide character", "multibyte r(?) length", "multibyte r(?) to wide character", "multibyte set r(?) to wide character set". Specifically, these member functions assume implementation that is not required by the standards, which is that multibyte characters are not 16 bit wide characters when they are externalized, but are instead encoded some way. Further, it's not clear whether this is UTF-7, UTF-8, EUC, or some other encoding that it's assuming. I'll guess it's UTF-8, for the necessary Windows compatability. In general, this should not be an issue, in any case. Specifically, it should not be an issue because I don't see you actually *using* instances of a wchar_t class, and thus it's really not believable that the it would be upset about class membership for a class which is not instanced. Probably this means you are still getting a mix of GNU and ICC C++ header files, and need to carefully look at your include paths. > > (I'm waiting a little bit to see if I need to do something for the C++ > > problem). > > I think this is not a problem which should get solved in the port, so I > commit the new portrevision soon. I'm not sure this is possible, without an additional "brand" type; see other posting. -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Sun Mar 31 14: 1:45 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from pintail.mail.pas.earthlink.net (pintail.mail.pas.earthlink.net [207.217.120.122]) by hub.freebsd.org (Postfix) with ESMTP id 67DC937B416; Sun, 31 Mar 2002 14:01:36 -0800 (PST) Received: from pool0321.cvx21-bradley.dialup.earthlink.net ([209.179.193.66] helo=mindspring.com) by pintail.mail.pas.earthlink.net with esmtp (Exim 3.33 #1) id 16rnO8-0003UD-00; Sun, 31 Mar 2002 14:01:24 -0800 Message-ID: <3CA7871C.90383DE3@mindspring.com> Date: Sun, 31 Mar 2002 14:01:00 -0800 From: Terry Lambert X-Mailer: Mozilla 4.7 [en]C-CCK-MCD {Sony} (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: Simon 'corecode' Schubert Cc: Alexander Leidinger , nick-lists@netability.ie, hackers@FreeBSD.ORG, ports@FreeBSD.ORG, cy@FreeBSD.ORG Subject: Re: lang/icc doesn't compile c++ sources References: <200203311104.g2VB4FFL003781@Magelan.Leidinger.net> <200203311752.g2VHqLFL006965@Magelan.Leidinger.net> <20020331221442.038bf9ce.corecode@corecode.ath.cx> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Simon 'corecode' Schubert wrote: > icc -I./include -I/usr/include -I/usr/local/lib/gcc-lib/i386-portbld-freebsd5.0/ > 3.0.4/include/g++ -I /usr/local/lib/gcc-lib/i386-portbld-freebsd5.0/3.0.4/inclu > de/g++/i386-portbld-freebsd5.0 -c e.cc > e.cc: > "/usr/local/lib/gcc-lib/i386-portbld-freebsd5.0/3.0.4/include/g++/bits/basic_str > ing.h", line 860: error: no instance of constructor "std::basic_string<_CharT, _ > Traits, _Alloc>::_Alloc_hider::_Alloc_hider [with _CharT=char, _Traits=std::char > _traits, _Alloc=std::allocator]" matches the argument list > argument types are: (char *, std::allocator) > : _M_dataplus(_S_empty_rep()._M_refcopy(), _Alloc()) { } > ^ > detected during instantiation of "std::basic_string<_CharT, _Traits, _ > Alloc>::basic_string() [with _CharT=char, _Traits=std::char_traits, _Alloc > =std::allocator]" OK, this one is evil. There's code that assumes limk order here, and it seems that the library is at fault, or the order in which the static base class declarations are instantiated. Jeremey Allison and I had the same problem with ACAP under g++, when we were the first people to get it to compile, link, and run. Doing this required multiple fixes: 1) The addition of per thread exception stacks; this is now a feature of egcs, even though they implemented the code wrong, such that you eat th thread overhead always, not just when you are using threads. 2) We had to make modifications to the Moscow Center for Supercomputing activities STL to do mutex construction, similar to that done in the Windows version of the code, to support POSIX threads Draft 4 compliance (this fixed the STL for IRIX and several other platforms, like OSF, which were also Draft 4). 3) We had to bring the FreeBSD pthreads into full compliance with Draft 4 (this was one of the easiest parts of it, but was broken when FreeBSD partially moved toward the standard version by defining the PTHREAD_MUTEX_INITIALIZER, which was the "standard" way of telling draft 4 compliant from standards compliant implementations). 4) Jeremey discovered that the link order affected the order of construction, and there were some assumptions that the order of construction would be tsort'ed to work by the code, but the compiler didn't make those assumptions true, so the dead chicken to wave was to change the object order for the list of object files to be linked. I think this #4 is the magic one here, too, though I think that it is more serious, in that it's an issue for ordering of static instance declarations in the base class. My main recommendation here is that the Moscow code is much better at this, since it has been pounded upon more than any other code in the same ecological niche, so using it instead is probably the right thing to do. Alternately, you could ensure ordering... by reordering the source code. This seems like a poor idea, but it what Linux did implicitly, I think. 8-(. -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Sun Mar 31 18: 5:30 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from math.uic.edu (neumann.math.uic.edu [131.193.178.222]) by hub.freebsd.org (Postfix) with SMTP id 6BF8E37B41A for ; Sun, 31 Mar 2002 18:05:27 -0800 (PST) Received: (qmail 20942 invoked by uid 31415); 1 Apr 2002 02:05:24 -0000 Date: Sun, 31 Mar 2002 20:05:24 -0600 From: Vladimir Egorin To: "M. Warner Losh" Cc: hackers@freebsd.org Subject: Re: GPS time. Message-ID: <20020331200524.A20933@math.uic.edu> References: <20020331091304.U40871-100000@patrocles.silby.com> <20020331.133402.125794917.imp@village.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20020331.133402.125794917.imp@village.org>; from imp@village.org on Sun, Mar 31, 2002 at 01:34:02PM -0700 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Sun, Mar 31, 2002 at 01:34:02PM -0700, M. Warner Losh wrote: > In message: > Paul Halliday writes: > : This is the answer I was kinda hoping for. I think that accuracy > : to ~100ms from a known source is a little more comforting than <1ms from a > : server that I have no control over. I am not maintaining a space program, > : just a dozen machines in my room that really serve no other purpose than > : personal entertainment. > > Also keep in mind that the US governement reserves the right to turn > off GPS at any time to selected regions of the globe. Hopefully European GPS project (Galileo) will provide an alternative. It still has a long way to go though. -- Vladimir To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Sun Mar 31 20:45:32 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mailout05.sul.t-online.com (mailout05.sul.t-online.com [194.25.134.82]) by hub.freebsd.org (Postfix) with ESMTP id 76B9D37B416; Sun, 31 Mar 2002 20:45:24 -0800 (PST) Received: from fwd11.sul.t-online.de by mailout05.sul.t-online.com with smtp id 16rtgz-0002XZ-01; Mon, 01 Apr 2002 06:45:17 +0200 Received: from spirit.zuhause.stoert.net (320050403952-0001@[80.128.114.220]) by fmrl11.sul.t-online.com with esmtp id 16rtgv-08dfGqC; Mon, 1 Apr 2002 06:45:13 +0200 Received: from elevation.zuhause.stoert.net (elevation.zuhause.stoert.net [192.168.66.46]) by spirit.zuhause.stoert.net (8.11.6/8.11.6) with ESMTP id g314jCR55857; Mon, 1 Apr 2002 06:45:13 +0200 (CEST) (envelope-from corecode@corecode.ath.cx) Received: (from corecode@localhost) by elevation.zuhause.stoert.net (8.11.6/8.11.6) id g314jBG94735; Mon, 1 Apr 2002 06:45:11 +0200 (CEST) (envelope-from corecode) Date: Mon, 1 Apr 2002 06:45:07 +0200 From: "Simon 'corecode' Schubert" To: Terry Lambert Cc: Alexander@Leidinger.net, nick-lists@netability.ie, hackers@FreeBSD.ORG, ports@FreeBSD.ORG, cy@FreeBSD.ORG Subject: Re: lang/icc doesn't compile c++ sources Message-Id: <20020401064507.07de3b52.corecode@corecode.ath.cx> In-Reply-To: <3CA7871C.90383DE3@mindspring.com> References: <200203311104.g2VB4FFL003781@Magelan.Leidinger.net> <200203311752.g2VHqLFL006965@Magelan.Leidinger.net> <20020331221442.038bf9ce.corecode@corecode.ath.cx> <3CA7871C.90383DE3@mindspring.com> X-Mailer: Sylpheed version 0.7.4claws (GTK+ 1.2.10; i386-portbld-freebsd4.5) Mime-Version: 1.0 Content-Type: multipart/signed; protocol="application/pgp-signature"; boundary="=.FRBN's6f?oO,p(" X-Sender: 320050403952-0001@t-dialin.net Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG --=.FRBN's6f?oO,p( Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Sun, 31 Mar 2002 14:01:00 -0800 Terry Lambert wrote: > Simon 'corecode' Schubert wrote: > > icc -I./include -I/usr/include -I/usr/local/lib/gcc-lib/i386-portbld-freebsd5.0/ > > 3.0.4/include/g++ -I /usr/local/lib/gcc-lib/i386-portbld-freebsd5.0/3.0.4/inclu > > de/g++/i386-portbld-freebsd5.0 -c e.cc > > e.cc: > > "/usr/local/lib/gcc-lib/i386-portbld-freebsd5.0/3.0.4/include/g++/bits/basic_str > > ing.h", line 860: error: no instance of constructor "std::basic_string<_CharT, _ > > Traits, _Alloc>::_Alloc_hider::_Alloc_hider [with _CharT=char, _Traits=std::char > > _traits, _Alloc=std::allocator]" matches the argument list > > argument types are: (char *, std::allocator) > > : _M_dataplus(_S_empty_rep()._M_refcopy(), _Alloc()) { } > > ^ > > detected during instantiation of "std::basic_string<_CharT, _Traits, _ > > Alloc>::basic_string() [with _CharT=char, _Traits=std::char_traits, _Alloc > > =std::allocator]" > > > OK, this one is evil. > > There's code that assumes limk order here, and it seems that > the library is at fault, or the order in which the static > base class declarations are instantiated. > > Jeremey Allison and I had the same problem with ACAP under g++, > when we were the first people to get it to compile, link, and > run. Doing this required multiple fixes: [...] > > My main recommendation here is that the Moscow code is much > better at this, since it has been pounded upon more than any > other code in the same ecological niche, so using it instead > is probably the right thing to do. > > Alternately, you could ensure ordering... by reordering the source > code. This seems like a poor idea, but it what Linux did implicitly, > I think. 8-(. first of all i'm taking this as an aprils fool (no offence if it was none) ;] and secondly i believe these templates don't get linked (all code within the .h) so we should go another approach. (sorry, i'm not very creative, including aprils fools) cheerz simon -- /"\ http://corecode.ath.cx/ \ / \ ASCII Ribbon Campaign / \ Against HTML Mail and News --=.FRBN's6f?oO,p( Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (FreeBSD) iD8DBQE8p+XXr5S+dk6z85oRAiv1AKC+p2+QOEoOgTKEecZjUR2QCXXyTgCfXn+R qh4bAJBJmAKxLr1C6ZLDOnM= =44il -----END PGP SIGNATURE----- --=.FRBN's6f?oO,p(-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Sun Mar 31 23:39:58 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from falcon.prod.itd.earthlink.net (falcon.mail.pas.earthlink.net [207.217.120.74]) by hub.freebsd.org (Postfix) with ESMTP id 45CB937B41B for ; Sun, 31 Mar 2002 23:39:54 -0800 (PST) Received: from pool0092.cvx40-bradley.dialup.earthlink.net ([216.244.42.92] helo=mindspring.com) by falcon.prod.itd.earthlink.net with esmtp (Exim 3.33 #1) id 16rwPo-0005jB-00; Sun, 31 Mar 2002 23:39:45 -0800 Message-ID: <3CA80E9E.B091200F@mindspring.com> Date: Sun, 31 Mar 2002 23:39:10 -0800 From: Terry Lambert X-Mailer: Mozilla 4.7 [en]C-CCK-MCD {Sony} (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: Vladimir Egorin Cc: "M. Warner Losh" , hackers@freebsd.org Subject: Re: GPS time. References: <20020331091304.U40871-100000@patrocles.silby.com> <20020331.133402.125794917.imp@village.org> <20020331200524.A20933@math.uic.edu> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Vladimir Egorin wrote: > > Also keep in mind that the US governement reserves the right to turn > > off GPS at any time to selected regions of the globe. > > Hopefully European GPS project (Galileo) will provide an alternative. > It still has a long way to go though. Galileo strikes me as unnecessary, unless the receivers will be cheaper to get the same resolution. The 1 meter resolution seems a little poor, compared to differential. I guess if the U.S. government reserves the right to turn it off, then there's a reason to route around that... -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Sun Mar 31 23:45:58 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from falcon.prod.itd.earthlink.net (falcon.mail.pas.earthlink.net [207.217.120.74]) by hub.freebsd.org (Postfix) with ESMTP id 7127C37B422; Sun, 31 Mar 2002 23:45:49 -0800 (PST) Received: from pool0092.cvx40-bradley.dialup.earthlink.net ([216.244.42.92] helo=mindspring.com) by falcon.prod.itd.earthlink.net with esmtp (Exim 3.33 #1) id 16rwVW-0000rP-00; Sun, 31 Mar 2002 23:45:39 -0800 Message-ID: <3CA81000.388F9D68@mindspring.com> Date: Sun, 31 Mar 2002 23:45:04 -0800 From: Terry Lambert X-Mailer: Mozilla 4.7 [en]C-CCK-MCD {Sony} (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: Simon 'corecode' Schubert Cc: Alexander@Leidinger.net, nick-lists@netability.ie, hackers@FreeBSD.ORG, ports@FreeBSD.ORG, cy@FreeBSD.ORG Subject: Re: lang/icc doesn't compile c++ sources References: <200203311104.g2VB4FFL003781@Magelan.Leidinger.net> <200203311752.g2VHqLFL006965@Magelan.Leidinger.net> <20020331221442.038bf9ce.corecode@corecode.ath.cx> <3CA7871C.90383DE3@mindspring.com> <20020401064507.07de3b52.corecode@corecode.ath.cx> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Simon 'corecode' Schubert wrote: > > Alternately, you could ensure ordering... by reordering the source > > code. This seems like a poor idea, but it what Linux did implicitly, > > I think. 8-(. > > first of all i'm taking this as an aprils fool (no offence if it was > none) ;] It wasn't a joke. That's actually what we did to fix the problem with ACAP. We also inserted spaces in template declarations, because the g++ tokenizer wasn't fully compliant with the C++ specification. > and secondly i believe these templates don't get linked (all code within > the .h) so we should go another approach. (sorry, i'm not very creative, > including aprils fools) The things that it is complaining about are member functions for an object class. This can only happen if you are actually trying to instantiate objects of that class. Otherwise, the compiler would complain that it's unable to instantiate classes which haven't been invented yet (_that_ was a poor "April Fool's"). I think the specific case here is that clases with static members get a static instance to act as the instance that holds the static data member. -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Sun Mar 31 23:50:23 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from verdi.nethelp.no (verdi.nethelp.no [194.19.15.2]) by hub.freebsd.org (Postfix) with SMTP id CEA2237B400 for ; Sun, 31 Mar 2002 23:50:18 -0800 (PST) Received: (qmail 47575 invoked by uid 1001); 1 Apr 2002 07:50:17 +0000 (GMT) To: tlambert2@mindspring.com Cc: hackers@freebsd.org Subject: Re: GPS time. From: sthaug@nethelp.no In-Reply-To: Your message of "Sun, 31 Mar 2002 23:39:10 -0800" References: <3CA80E9E.B091200F@mindspring.com> X-Mailer: Mew version 1.05+ on Emacs 19.34.2 Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Date: Mon, 01 Apr 2002 09:50:16 +0200 Message-ID: <47573.1017647416@verdi.nethelp.no> Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG > > Hopefully European GPS project (Galileo) will provide an alternative. > > It still has a long way to go though. > > Galileo strikes me as unnecessary, unless the receivers will be > cheaper to get the same resolution. The 1 meter resolution seems > a little poor, compared to differential. Galileo may be unnecessary *if* you trust the US. As a European, my view of US and European politics is that they're sufficiently different (both in methods and goals) that I don't trust the US that much. Thus I think Galileo is a good thing, even if it'll be very expensive. Steinar Haug, Nethelp consulting, sthaug@nethelp.no To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Apr 1 0: 1:36 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from avocet.prod.itd.earthlink.net (avocet.mail.pas.earthlink.net [207.217.120.50]) by hub.freebsd.org (Postfix) with ESMTP id 9851437B41D for ; Mon, 1 Apr 2002 00:01:33 -0800 (PST) Received: from pool0092.cvx40-bradley.dialup.earthlink.net ([216.244.42.92] helo=mindspring.com) by avocet.prod.itd.earthlink.net with esmtp (Exim 3.33 #1) id 16rwkk-0001QU-00; Mon, 01 Apr 2002 00:01:22 -0800 Message-ID: <3CA813AF.51ACF538@mindspring.com> Date: Mon, 01 Apr 2002 00:00:47 -0800 From: Terry Lambert X-Mailer: Mozilla 4.7 [en]C-CCK-MCD {Sony} (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: sthaug@nethelp.no Cc: hackers@freebsd.org Subject: Re: GPS time. References: <3CA80E9E.B091200F@mindspring.com> <47573.1017647416@verdi.nethelp.no> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG sthaug@nethelp.no wrote: > > > Hopefully European GPS project (Galileo) will provide an alternative. > > > It still has a long way to go though. > > > > Galileo strikes me as unnecessary, unless the receivers will be > > cheaper to get the same resolution. The 1 meter resolution seems > > a little poor, compared to differential. > > Galileo may be unnecessary *if* you trust the US. As a European, > my view of US and European politics is that they're sufficiently > different (both in methods and goals) that I don't trust the US > that much. Thus I think Galileo is a good thing, even if it'll be > very expensive. The only thing that matters is consumer pricing of the receivers, and whether or not the resolution is high enough to keep computer operated vehicles safely within their lane markings. The U.S. ability to turn off the GPS isn't really the threat that you think. Most U.S. airports had equipment installed to broadcast a "correction" signal for GPS, well before they turned the "wiggle" off. They turned it off because it was a losing proposition, and a few meters weren't going to make that much difference to a 200 megaton device anyway. Leaving it on only gave cruise missles a nice target lock for transmitters at all U.S. commercial airports that were installed to de-wiggle the signal. 8-). If it comes down to it, the U.S. has the capability of "turning off" Galileo, if it ever felt that it needed to do so. 8-) 8-). So if it's being built out of distrust, well, it's already nor getting around the problem. -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Apr 1 0:53:36 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mailout03.sul.t-online.com (mailout03.sul.t-online.com [194.25.134.81]) by hub.freebsd.org (Postfix) with ESMTP id B9A1437B400; Mon, 1 Apr 2002 00:49:50 -0800 (PST) Received: from fwd06.sul.t-online.de by mailout03.sul.t-online.com with smtp id 16rxVZ-0007cC-08; Mon, 01 Apr 2002 10:49:45 +0200 Received: from Magelan.Leidinger.net (520065502893-0001@[217.229.208.87]) by fmrl06.sul.t-online.com with esmtp id 16rxVT-10BnmKC; Mon, 1 Apr 2002 10:49:39 +0200 Received: from Leidinger.net (netchild@localhost [127.0.0.1]) by Magelan.Leidinger.net (8.12.2/8.12.2) with ESMTP id g318nO9X000572; Mon, 1 Apr 2002 10:49:28 +0200 (CEST) (envelope-from netchild@Leidinger.net) Message-Id: <200204010849.g318nO9X000572@Magelan.Leidinger.net> Date: Mon, 1 Apr 2002 10:49:24 +0200 (CEST) From: Alexander Leidinger Subject: Re: lang/icc doesn't compile c++ sources To: tlambert2@mindspring.com Cc: nick-lists@netability.ie, hackers@FreeBSD.ORG, ports@FreeBSD.ORG, cy@FreeBSD.ORG, "Simon 'corecode' Schubert" In-Reply-To: <3CA78237.7576200C@mindspring.com> MIME-Version: 1.0 Content-Type: TEXT/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8BIT X-Sender: 520065502893-0001@t-dialin.net Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On 31 Mär, Terry Lambert wrote: > Probably this means you are still getting a mix of GNU and > ICC C++ header files, and need to carefully look at your > include paths. Yes, it has ${LOCALBASE}/intel/compiler50/include/ in the include path. There are some intel specific includes. We don't have iostream in the base, we only have g++/iostream. If I remove intels includes (there are also some headers with instrinsics, e.g. emmintrin.h, mmintrin.h and xmmintrin.h) and use /usr/include/g++/ in the include path, my test case compiles fine. The question: should we keep them. If not: which ones should get removed (I don't want to remove every include in the intel directory, some of them may be useful). Bye, Alexander. -- Failure is not an option. It comes bundled with your Microsoft product. http://www.Leidinger.net Alexander @ Leidinger.net GPG fingerprint = C518 BC70 E67F 143F BE91 3365 79E2 9C60 B006 3FE7 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Apr 1 1: 7:58 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mailout08.sul.t-online.com (mailout08.sul.t-online.com [194.25.134.20]) by hub.freebsd.org (Postfix) with ESMTP id 3DD0237B41D; Mon, 1 Apr 2002 01:07:45 -0800 (PST) Received: from fwd05.sul.t-online.de by mailout08.sul.t-online.com with smtp id 16rxbO-0002pX-07; Mon, 01 Apr 2002 10:55:46 +0200 Received: from Magelan.Leidinger.net (520065502893-0001@[217.229.208.87]) by fmrl05.sul.t-online.com with esmtp id 16rxbF-1FCLHUC; Mon, 1 Apr 2002 10:55:37 +0200 Received: from Leidinger.net (netchild@localhost [127.0.0.1]) by Magelan.Leidinger.net (8.12.2/8.12.2) with ESMTP id g318tM9X000605; Mon, 1 Apr 2002 10:55:26 +0200 (CEST) (envelope-from netchild@Leidinger.net) Message-Id: <200204010855.g318tM9X000605@Magelan.Leidinger.net> Date: Mon, 1 Apr 2002 10:55:22 +0200 (CEST) From: Alexander Leidinger Subject: Re: lang/icc doesn't compile c++ sources To: corecode@corecode.ath.cx Cc: tlambert2@mindspring.com, nick-lists@netability.ie, hackers@FreeBSD.ORG, ports@FreeBSD.ORG, cy@FreeBSD.ORG In-Reply-To: <20020331221442.038bf9ce.corecode@corecode.ath.cx> MIME-Version: 1.0 Content-Type: TEXT/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8BIT X-Sender: 520065502893-0001@t-dialin.net Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On 31 Mär, Simon 'corecode' Schubert wrote: > that's right. but as terry said, it seems to be a bad idea to use some > headers that don't fit the libs. > i tried to patch the headers coming with 4.4-S and lang/gcc30 (because > the one from the base system doesn't provide a proper c++ stl > implementation) From a C++ POV this may be better, but don't you think we better fix the base system instead? > my first tries for the patched include files can be found here: > We should either fix the base system, or ${IA32ROOT}/includes/. Bye, Alexander. -- Intel: where Quality is job number 0.9998782345! http://www.Leidinger.net Alexander @ Leidinger.net GPG fingerprint = C518 BC70 E67F 143F BE91 3365 79E2 9C60 B006 3FE7 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Apr 1 3: 1:21 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from freebie.xs4all.nl (freebie.xs4all.nl [213.84.32.253]) by hub.freebsd.org (Postfix) with ESMTP id 32E0537B41F for ; Mon, 1 Apr 2002 03:01:15 -0800 (PST) Received: (from wkb@localhost) by freebie.xs4all.nl (8.11.6/8.11.6) id g31B1BN37421; Mon, 1 Apr 2002 13:01:11 +0200 (CEST) (envelope-from wkb) Date: Mon, 1 Apr 2002 13:01:11 +0200 From: Wilko Bulte To: Terry Lambert Cc: sthaug@nethelp.no, hackers@FreeBSD.ORG Subject: Re: GPS time. Message-ID: <20020401130111.B37363@freebie.xs4all.nl> References: <3CA80E9E.B091200F@mindspring.com> <47573.1017647416@verdi.nethelp.no> <3CA813AF.51ACF538@mindspring.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3CA813AF.51ACF538@mindspring.com>; from tlambert2@mindspring.com on Mon, Apr 01, 2002 at 12:00:47AM -0800 X-OS: FreeBSD 4.5-STABLE X-PGP: finger wilko@freebsd.org Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Mon, Apr 01, 2002 at 12:00:47AM -0800, Terry Lambert wrote: > sthaug@nethelp.no wrote: > > > > Hopefully European GPS project (Galileo) will provide an alternative. > > > > It still has a long way to go though. > > > > > > Galileo strikes me as unnecessary, unless the receivers will be > > > cheaper to get the same resolution. The 1 meter resolution seems > > > a little poor, compared to differential. > > > > Galileo may be unnecessary *if* you trust the US. As a European, > > my view of US and European politics is that they're sufficiently > > different (both in methods and goals) that I don't trust the US > > that much. Thus I think Galileo is a good thing, even if it'll be > > very expensive. .. > nice target lock for transmitters at all U.S. commercial airports > that were installed to de-wiggle the signal. 8-). > > If it comes down to it, the U.S. has the capability of "turning > off" Galileo, if it ever felt that it needed to do so. 8-) 8-). While not stepping up to solve the world politics: the US government claiming the right to define the law for everything is unnerving to lots of non-US (and US I suppose) people alike. GPS is just one of these things.. -- | / o / /_ _ wilko@FreeBSD.org |/|/ / / /( (_) Bulte Arnhem, the Netherlands We are FreeBSD. Resistance is futile. Prepare to be committed. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Apr 1 3: 3:51 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from eros.science.ankara.edu.tr (eros.science.ankara.edu.tr [212.50.48.2]) by hub.freebsd.org (Postfix) with ESMTP id C6F8937B400 for ; Mon, 1 Apr 2002 03:03:35 -0800 (PST) Received: from adivar (unknown [80.251.35.219]) by eros.science.ankara.edu.tr (Postfix) with SMTP id E28F440B1 for ; Mon, 1 Apr 2002 13:00:46 +0300 (MEST) Message-ID: <004901c1d96c$dc0fc180$db23fb50@science.ankara.edu.tr> From: =?iso-8859-9?Q?Murat_Ad=FDvar?= To: Subject: subscribe Date: Mon, 1 Apr 2002 14:03:30 +0300 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0045_01C1D986.00C5E9A0" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4133.2400 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG This is a multi-part message in MIME format. ------=_NextPart_000_0045_01C1D986.00C5E9A0 Content-Type: text/plain; charset="iso-8859-9" Content-Transfer-Encoding: 8bit subscribe Murat Adývar Department of Mathematics Ankara University 06100, Tandogan, Ankara ------=_NextPart_000_0045_01C1D986.00C5E9A0 Content-Type: text/html; charset="iso-8859-9" Content-Transfer-Encoding: quoted-printable
subscribe
Murat Ad=FDvar
Department of = Mathematics
Ankara=20 University
06100, Tandogan, Ankara
------=_NextPart_000_0045_01C1D986.00C5E9A0-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Apr 1 3:47:17 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from falcon.prod.itd.earthlink.net (falcon.mail.pas.earthlink.net [207.217.120.74]) by hub.freebsd.org (Postfix) with ESMTP id 0CE7837B400 for ; Mon, 1 Apr 2002 03:47:11 -0800 (PST) Received: from pool0092.cvx40-bradley.dialup.earthlink.net ([216.244.42.92] helo=mindspring.com) by falcon.prod.itd.earthlink.net with esmtp (Exim 3.33 #1) id 16s0H1-0002IT-00; Mon, 01 Apr 2002 03:46:56 -0800 Message-ID: <3CA8486C.1994A39F@mindspring.com> Date: Mon, 01 Apr 2002 03:45:48 -0800 From: Terry Lambert X-Mailer: Mozilla 4.7 [en]C-CCK-MCD {Sony} (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: Wilko Bulte Cc: sthaug@nethelp.no, hackers@FreeBSD.ORG Subject: Re: GPS time. References: <3CA80E9E.B091200F@mindspring.com> <47573.1017647416@verdi.nethelp.no> <3CA813AF.51ACF538@mindspring.com> <20020401130111.B37363@freebie.xs4all.nl> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Wilko Bulte wrote: > While not stepping up to solve the world politics: the US government > claiming the right to define the law for everything is unnerving to > lots of non-US (and US I suppose) people alike. > > GPS is just one of these things.. I disagree. The problem is the engineers. When the U.S. bombed Iran during the Gulf War, the communications came back up very quickly -- or never went down, in many cases -- because the TCP/IP protocols on which those command and control systems were based, developed on U.S. Government funding through DARPA, and were resiliant to damage, even to large portions of the infrastructure. This was a pain in the butt for the U.S., but it validated that the same system, in the face of an attack on the U.S., would remain operational here, too. The GPS system, on the other hand, was designed so that "the right people" could turn it off. This probably means that "the wrong people" can also turn it off, and it means that if "the right people" ever become "the wrong people" (John Travolta has played enough of these characters in recent movies ;^)), they can also "turn it off". This is actually a design flaw, from one perspective: it means that you can't rely on the system, 100%, in a crisis situation, since who "the right people" are may not fall on your side of the argument, even if you were/are "the right people". As long as engineers are willing to design things with holes in them, then we will have things with holes in them. If it's possible for someone to "turn off" Galileo, then the only thing this argument devloves to is a disagreement about who "the right people" are ("the right people" are defined as "the people who are initially entrusted with the power switch"). To take this back around: for either system to be useful for a timebase, you have to be relative sure that it can't lie; I think because of this, any time server based on it can't truly be considered "tier 1", because the time base is not under the control of the system operator. To note Galileo: cool name, but if it's not less expensive to buy a receiver, and all other things are equal, then who really cares? All we are winning by using it is a lower commercial value system, with a different set of hands that can pull the plug on us. Actually, the name is a bit inappropriate, considering the whole project revolves around the Earth... literally. ;^). PS: Personally, I'd never trust a robotically driven vehicle based on a system where someone could drive me off the cliff by transmitting bogus data, or that would scream for me to get back up in front of the R.V. in the middle of me making a sandwitch because some idiot thought economic sanctions included the inability to safely use the highway system in an area not under their political control. -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Apr 1 8: 5:32 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from point.osg.gov.bc.ca (point.osg.gov.bc.ca [142.32.102.44]) by hub.freebsd.org (Postfix) with ESMTP id B772637B417; Mon, 1 Apr 2002 08:05:22 -0800 (PST) Received: (from daemon@localhost) by point.osg.gov.bc.ca (8.8.7/8.8.8) id IAA16846; Mon, 1 Apr 2002 08:05:21 -0800 Received: from passer.osg.gov.bc.ca(142.32.110.29) via SMTP by point.osg.gov.bc.ca, id smtpda16844; Mon Apr 1 08:05:06 2002 Received: (from uucp@localhost) by passer.osg.gov.bc.ca (8.11.6/8.9.1) id g31DQgi01188; Mon, 1 Apr 2002 05:26:42 -0800 (PST) Received: from UNKNOWN(10.1.2.1), claiming to be "cwsys.cwsent.com" via SMTP by passer9.cwsent.com, id smtpdBE1179; Mon Apr 1 05:25:51 2002 Received: (from uucp@localhost) by cwsys.cwsent.com (8.11.6/8.9.1) id g31DMxj72901; Mon, 1 Apr 2002 05:22:59 -0800 (PST) Message-Id: <200204011322.g31DMxj72901@cwsys.cwsent.com> Received: from localhost.cwsent.com(127.0.0.1), claiming to be "cwsys" via SMTP by localhost.cwsent.com, id smtpdc72897; Mon Apr 1 05:22:52 2002 X-Mailer: exmh version 2.5 07/13/2001 with nmh-1.0.4 Reply-To: Cy Schubert - CITS Open Systems Group From: Cy Schubert - CITS Open Systems Group X-Sender: schubert To: Alexander Leidinger , corecode@corecode.ath.cx, tlambert2@mindspring.com, nick-lists@netability.ie, hackers@FreeBSD.ORG, ports@FreeBSD.ORG Subject: Re: lang/icc doesn't compile c++ sources In-Reply-To: Message from Alexander Leidinger of "Mon, 01 Apr 2002 10:55:22 +0200." <200204010855.g318tM9X000605@Magelan.Leidinger.net> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Date: Mon, 01 Apr 2002 05:22:52 -0800 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG In message <200204010855.g318tM9X000605@Magelan.Leidinger.net>, = Alexander Leidi nger writes: > On 31 M=E4r, Simon 'corecode' Schubert wrote: People, it appears that I (Cyril Schubert) am being confused with Simon = Schubert. Please trim me, cy@FreeBSD.org, from the cc list. I'm = already subscribed to the lists and don't need additional copies of = this thread. Thanks. Regards, Phone: (250)387-8437 Cy Schubert Fax: (250)387-5766 Team Leader, Sun/Alpha Team Email: Cy.Schubert@osg.gov.bc.ca Open Systems Group, CITS Ministry of Management Services Province of BC = FreeBSD UNIX: cy@FreeBSD.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Apr 1 8:31:46 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from relay2.agava.net.ru (ofc.agava.net [195.161.118.6]) by hub.freebsd.org (Postfix) with ESMTP id DA0EE37B41A for ; Mon, 1 Apr 2002 08:31:34 -0800 (PST) Received: from daemon.domain (daemon.domain [192.168.1.7]) by relay2.agava.net.ru (Postfix) with ESMTP id C11A866BE0 for ; Mon, 1 Apr 2002 20:31:28 +0400 (MSD) Date: Mon, 1 Apr 2002 20:34:42 +0400 From: Dmitry Konyshev X-Mailer: The Bat! (v1.53) Reply-To: Dmitry Konyshev Organization: AGAVA X-Priority: 3 (Normal) Message-ID: <84434325847.20020401203442@agava.com> To: freebsd-hackers@FreeBSD.ORG Subject: finding out boot device MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Hello hackers, Could anyone please tell me if there's any way to find out which device the system booted from in a user application. The loader sets loaddev and currdev vars, but I see no way to transfer them to the user environment. -- Best regards, Dmitry mailto:daemon@agava.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Apr 1 9:11:18 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from relay1.macomnet.ru (relay1.macomnet.ru [195.128.64.10]) by hub.freebsd.org (Postfix) with ESMTP id D943937B419 for ; Mon, 1 Apr 2002 09:11:10 -0800 (PST) Received: from news1.macomnet.ru (maxim@news1.macomnet.ru [195.128.64.14]) by relay1.macomnet.ru (8.11.6/8.11.6) with ESMTP id g31HB5T9722533; Mon, 1 Apr 2002 21:11:05 +0400 (MSD) Date: Mon, 1 Apr 2002 21:11:03 +0400 (MSD) From: Maxim Konovalov To: Dmitry Konyshev Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: finding out boot device In-Reply-To: <84434325847.20020401203442@agava.com> Message-ID: <20020401210852.C76466-100000@news1.macomnet.ru> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On 20:34+0400, Apr 1, 2002, Dmitry Konyshev wrote: > Hello hackers, > > Could anyone please tell me if there's any way to find out which > device the system booted from in a user application. The loader > sets loaddev and currdev vars, but I see no way to transfer them to > the user environment. In recent -current we have sysctl machdep.guessed_bootdev. -- Maxim Konovalov, MAcomnet, Internet-Intranet Dept., system engineer phone: +7 (095) 796-9079, mailto:maxim@macomnet.ru To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Apr 1 9:59:46 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from iguana.icir.org (iguana.icir.org [192.150.187.36]) by hub.freebsd.org (Postfix) with ESMTP id 5EF8237B416 for ; Mon, 1 Apr 2002 09:59:38 -0800 (PST) Received: (from rizzo@localhost) by iguana.icir.org (8.11.6/8.11.3) id g31HxQm75058; Mon, 1 Apr 2002 09:59:26 -0800 (PST) (envelope-from rizzo) Date: Mon, 1 Apr 2002 09:59:26 -0800 From: Luigi Rizzo To: Maxim Konovalov Cc: Dmitry Konyshev , freebsd-hackers@FreeBSD.ORG Subject: Re: finding out boot device Message-ID: <20020401095926.A72891@iguana.icir.org> References: <84434325847.20020401203442@agava.com> <20020401210852.C76466-100000@news1.macomnet.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20020401210852.C76466-100000@news1.macomnet.ru> User-Agent: Mutt/1.3.23i Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Mon, Apr 01, 2002 at 09:11:03PM +0400, Maxim Konovalov wrote: ... > > Could anyone please tell me if there's any way to find out which > > device the system booted from in a user application. The loader ... > In recent -current we have sysctl machdep.guessed_bootdev. recently merged to -stable as well. cheers luigi To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Apr 1 10:10:58 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mass.dis.org (dhcp45-24.dis.org [216.240.45.24]) by hub.freebsd.org (Postfix) with ESMTP id 7993A37B405 for ; Mon, 1 Apr 2002 10:10:52 -0800 (PST) Received: from mass.dis.org (localhost [127.0.0.1]) by mass.dis.org (8.11.6/8.11.6) with ESMTP id g31I9Yg01184; Mon, 1 Apr 2002 10:09:35 -0800 (PST) (envelope-from msmith@mass.dis.org) Message-Id: <200204011809.g31I9Yg01184@mass.dis.org> X-Mailer: exmh version 2.5 07/13/2001 with nmh-1.0.4 To: Dmitry Konyshev Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: finding out boot device In-reply-to: Your message of "Mon, 01 Apr 2002 20:34:42 +0400." <84434325847.20020401203442@agava.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Mon, 01 Apr 2002 10:09:34 -0800 From: Michael Smith Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG > Could anyone please tell me if there's any way to find out which > device the system booted from in a user application. The loader > sets loaddev and currdev vars, but I see no way to transfer them to > the user environment. kenv(8) allows you to read the kernel/loader environment. However, you can't reliably determine the boot device. -- To announce that there must be no criticism of the president, or that we are to stand by the president, right or wrong, is not only unpatriotic and servile, but is morally treasonable to the American public. - Theodore Roosevelt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Apr 1 10:29: 7 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from albatross.prod.itd.earthlink.net (albatross.mail.pas.earthlink.net [207.217.120.120]) by hub.freebsd.org (Postfix) with ESMTP id 7C37437B400 for ; Mon, 1 Apr 2002 10:28:58 -0800 (PST) Received: from pool0257.cvx21-bradley.dialup.earthlink.net ([209.179.193.2] helo=mindspring.com) by albatross.prod.itd.earthlink.net with esmtp (Exim 3.33 #1) id 16s6Y1-0003du-00; Mon, 01 Apr 2002 10:28:53 -0800 Message-ID: <3CA8A6CE.DBB6CEEB@mindspring.com> Date: Mon, 01 Apr 2002 10:28:30 -0800 From: Terry Lambert X-Mailer: Mozilla 4.7 [en]C-CCK-MCD {Sony} (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: Dmitry Konyshev Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: finding out boot device References: <84434325847.20020401203442@agava.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Dmitry Konyshev wrote: > Could anyone please tell me if there's any way to find out which > device the system booted from in a user application. The loader > sets loaddev and currdev vars, but I see no way to transfer them to > the user environment. Luigi Rizzo posted patches to communicate this information from the loader to sysctl space. Note that it's not definitive, since you don't get a sure mapping between BIOS devices and protected mode OS device drivers (for obvious reasons). One way to obtain this information is to write a program that uses vm86() calls to read the first N sectors of a BIOS disk, then read the same area using the protected mode drivers. When you get a unique MD5 hash match between the BIOS and the boot device, you're there. For CDROM boots, where the floppy image is in a RAM disk that is wedged into the BIOS calls to replace the floppy, after the boot, the BIOS wedge is destroyed, so that's lost. I guess you could infer this one, if you got no MD5 matches. Good luck with the code; normally, wanting to know this information comes with a bad reason for the desire. 8-). -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Apr 1 10:47:45 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mailout01.sul.t-online.com (mailout01.sul.t-online.com [194.25.134.80]) by hub.freebsd.org (Postfix) with ESMTP id 5B0A937B416; Mon, 1 Apr 2002 10:47:29 -0800 (PST) Received: from fwd02.sul.t-online.de by mailout01.sul.t-online.com with smtp id 16s6pk-0001pL-00; Mon, 01 Apr 2002 20:47:12 +0200 Received: from spirit.zuhause.stoert.net (320050403952-0001@[80.128.123.101]) by fmrl02.sul.t-online.com with esmtp id 16s6pV-0KROPgC; Mon, 1 Apr 2002 20:46:57 +0200 Received: from elevation.zuhause.stoert.net (elevation.zuhause.stoert.net [192.168.66.46]) by spirit.zuhause.stoert.net (8.11.6/8.11.6) with ESMTP id g31IkuR68208; Mon, 1 Apr 2002 20:46:56 +0200 (CEST) (envelope-from corecode@corecode.ath.cx) Received: (from corecode@localhost) by elevation.zuhause.stoert.net (8.11.6/8.11.6) id g31Iksn95618; Mon, 1 Apr 2002 20:46:54 +0200 (CEST) (envelope-from corecode) Date: Mon, 1 Apr 2002 20:46:46 +0200 From: "Simon 'corecode' Schubert" To: Alexander Leidinger Cc: tlambert2@mindspring.com, nick-lists@netability.ie, hackers@FreeBSD.ORG, ports@FreeBSD.ORG Subject: Re: lang/icc doesn't compile c++ sources Message-Id: <20020401204646.749b5996.corecode@corecode.ath.cx> In-Reply-To: <200204010855.g318tM9X000605@Magelan.Leidinger.net> References: <20020331221442.038bf9ce.corecode@corecode.ath.cx> <200204010855.g318tM9X000605@Magelan.Leidinger.net> X-Mailer: Sylpheed version 0.7.4claws (GTK+ 1.2.10; i386-portbld-freebsd4.5) Mime-Version: 1.0 Content-Type: multipart/signed; protocol="application/pgp-signature"; boundary="=.)LWMa'lf.L3xk6" X-Sender: 320050403952-0001@t-dialin.net Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG --=.)LWMa'lf.L3xk6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit On Mon, 1 Apr 2002 10:55:22 +0200 (CEST) Alexander Leidinger wrote: > On 31 Mär, Simon 'corecode' Schubert wrote: > > > that's right. but as terry said, it seems to be a bad idea to use some > > headers that don't fit the libs. > > i tried to patch the headers coming with 4.4-S and lang/gcc30 (because > > the one from the base system doesn't provide a proper c++ stl > > implementation) > > From a C++ POV this may be better, but don't you think we better fix the > base system instead? this would be nice, but gcc 2.95.3 (from 4.4 base system) can't cope with several things so that the header files are not yet that sophisticated. gcc 3.0.4 on the other hand ships with lots of more standardized headers. if i am informed correctly, 5.0-c uses gcc 3.0.4? i don't think we can use gcc 2.95.3 with the 3.0.4 headers (didn't try tho) > > my first tries for the patched include files can be found here: > > > > We should either fix the base system, or ${IA32ROOT}/includes/. i'd really like to, but the headers from the base system are just not standard conformant enough. the headers coming with icc just don't fit our libs; they are specially crafted for use with redhat linux 7.1 :/ i already tried to fix these, but our implementation of the multibyte functions won't let this be an easy task (if it ever can be solved): eg. class ctype relies on these functions not being implemented and lots of other classes in turn depend on ctype... i'm not sure if this will be any better than fixing the gcc 3.0.4 headers, but lets see... cheerz simon -- /"\ http://corecode.ath.cx/ \ / \ ASCII Ribbon Campaign / \ Against HTML Mail and News --=.)LWMa'lf.L3xk6 Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (FreeBSD) iD8DBQE8qKsdr5S+dk6z85oRAtbTAKCMoYHFgFSxMzK0kWizYhZuXjyelwCfcEgU OkiM4I39O/SwTzJ7b4eleKU= =A3wy -----END PGP SIGNATURE----- --=.)LWMa'lf.L3xk6-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Apr 1 10:58:36 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mass.dis.org (dhcp45-24.dis.org [216.240.45.24]) by hub.freebsd.org (Postfix) with ESMTP id 6502037B417 for ; Mon, 1 Apr 2002 10:58:27 -0800 (PST) Received: from mass.dis.org (localhost [127.0.0.1]) by mass.dis.org (8.11.6/8.11.6) with ESMTP id g31Iv0g01534; Mon, 1 Apr 2002 10:57:01 -0800 (PST) (envelope-from msmith@mass.dis.org) Message-Id: <200204011857.g31Iv0g01534@mass.dis.org> X-Mailer: exmh version 2.5 07/13/2001 with nmh-1.0.4 To: Terry Lambert Cc: Dmitry Konyshev , freebsd-hackers@FreeBSD.ORG Subject: Re: finding out boot device In-reply-to: Your message of "Mon, 01 Apr 2002 10:28:30 PST." <3CA8A6CE.DBB6CEEB@mindspring.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Mon, 01 Apr 2002 10:57:00 -0800 From: Michael Smith Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG > One way to obtain this information is to write a program > that uses vm86() calls to read the first N sectors of a > BIOS disk, then read the same area using the protected mode > drivers. When you get a unique MD5 hash match between the > BIOS and the boot device, you're there. This won't work, since we'll have spammed the device state by then. You'd have to compute the fingerprints in the loader before booting. -- To announce that there must be no criticism of the president, or that we are to stand by the president, right or wrong, is not only unpatriotic and servile, but is morally treasonable to the American public. - Theodore Roosevelt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Apr 1 11:29:41 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from energyhq.homeip.net (213-97-200-73.uc.nombres.ttd.es [213.97.200.73]) by hub.freebsd.org (Postfix) with ESMTP id 4DE5C37B41B; Mon, 1 Apr 2002 11:29:33 -0800 (PST) Received: by energyhq.homeip.net (Postfix, from userid 1001) id 6B06A3FC2D; Mon, 1 Apr 2002 21:30:35 +0200 (CEST) Date: Mon, 1 Apr 2002 21:30:35 +0200 From: Miguel Mendez To: Simon 'corecode' Schubert Cc: Alexander Leidinger , tlambert2@mindspring.com, nick-lists@netability.ie, hackers@FreeBSD.ORG, ports@FreeBSD.ORG Subject: Re: lang/icc doesn't compile c++ sources Message-ID: <20020401213035.B69723@energyhq.homeip.net> Mail-Followup-To: Simon 'corecode' Schubert , Alexander Leidinger , tlambert2@mindspring.com, nick-lists@netability.ie, hackers@FreeBSD.ORG, ports@FreeBSD.ORG References: <20020331221442.038bf9ce.corecode@corecode.ath.cx> <200204010855.g318tM9X000605@Magelan.Leidinger.net> <20020401204646.749b5996.corecode@corecode.ath.cx> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-md5; protocol="application/pgp-signature"; boundary="aM3YZ0Iwxop3KEKx" Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: <20020401204646.749b5996.corecode@corecode.ath.cx>; from corecode@corecode.ath.cx on Mon, Apr 01, 2002 at 08:46:46PM +0200 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG --aM3YZ0Iwxop3KEKx Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Apr 01, 2002 at 08:46:46PM +0200, Simon 'corecode' Schubert wrote: Hi Simon, > gcc 3.0.4 on the other hand ships with lots of more standardized > headers. if i am informed correctly, 5.0-c uses gcc 3.0.4? Close but no cigar :-) flynn@saioa# uname -srn FreeBSD saioa.energyhq.tk 5.0-CURRENT flynn@saioa# cc -v Using builtin specs. gcc version 2.95.4 20020320 [FreeBSD] Cheers, --=20 Miguel Mendez - flynn@energyhq.homeip.net GPG Public Key :: http://energyhq.homeip.net/files/pubkey.txt EnergyHQ :: http://www.energyhq.tk FreeBSD - The power to serve! --aM3YZ0Iwxop3KEKx Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org iD8DBQE8qLVanLctrNyFFPERAlIpAKCBXveRgsYN8lWTAmAngSWy0YyfawCfTJu4 2t/X8dG+OA7Xi2kZ8PSXyR0= =LctR -----END PGP SIGNATURE----- --aM3YZ0Iwxop3KEKx-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Apr 1 11:56:28 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from bingnet2.cc.binghamton.edu (bingnet2.cc.binghamton.edu [128.226.1.18]) by hub.freebsd.org (Postfix) with ESMTP id D5EF737B41B for ; Mon, 1 Apr 2002 11:56:25 -0800 (PST) Received: from onyx ([128.226.182.171]) by bingnet2.cc.binghamton.edu (8.11.6/8.11.6) with ESMTP id g31JuNf24779 for ; Mon, 1 Apr 2002 14:56:23 -0500 (EST) Date: Mon, 1 Apr 2002 14:54:05 -0500 (EST) From: Zhihui Zhang X-Sender: zzhang@onyx To: freebsd-hackers@freebsd.org Subject: total module count Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG I am wondering how many modules in all are compiled during the kernel compilation (make depend; make). Is there any configuration file I can look into to find out all the module names? Thanks, -Zhihui To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Apr 1 15: 5:34 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from harrier.prod.itd.earthlink.net (harrier.mail.pas.earthlink.net [207.217.120.12]) by hub.freebsd.org (Postfix) with ESMTP id 4BE9E37B400; Mon, 1 Apr 2002 15:05:27 -0800 (PST) Received: from pool0467.cvx40-bradley.dialup.earthlink.net ([216.244.43.212] helo=mindspring.com) by harrier.prod.itd.earthlink.net with esmtp (Exim 3.33 #1) id 16sArd-0003bC-00; Mon, 01 Apr 2002 15:05:25 -0800 Message-ID: <3CA8E79E.51DF359D@mindspring.com> Date: Mon, 01 Apr 2002 15:05:02 -0800 From: Terry Lambert X-Mailer: Mozilla 4.7 [en]C-CCK-MCD {Sony} (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: Michael Smith Cc: Dmitry Konyshev , freebsd-hackers@FreeBSD.ORG Subject: Re: finding out boot device References: <200204011857.g31Iv0g01534@mass.dis.org> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Michael Smith wrote: > > One way to obtain this information is to write a program > > that uses vm86() calls to read the first N sectors of a > > BIOS disk, then read the same area using the protected mode > > drivers. When you get a unique MD5 hash match between the > > BIOS and the boot device, you're there. > > This won't work, since we'll have spammed the device state by then. > You'd have to compute the fingerprints in the loader before booting. Yep. It's worse than that, because it means identical disks need to be differentiated some other way, besides just upping the MD5 region until it covers the whole disks (e.g. writing to them). This is how Windows converts open file handles in TSRs into VFAT32 file handles, BTW. Of course, now everyone knows where it was invented, it will be an unacceptable approach... ;^). -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Apr 1 16:12:17 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from winston.freebsd.org (adsl-64-173-15-98.dsl.sntc01.pacbell.net [64.173.15.98]) by hub.freebsd.org (Postfix) with ESMTP id 6B39837B419 for ; Mon, 1 Apr 2002 16:12:15 -0800 (PST) Received: (from jkh@localhost) by winston.freebsd.org (8.11.6/8.11.6) id g320Bn423164 for hackers@freebsd.org; Mon, 1 Apr 2002 16:11:49 -0800 (PST) (envelope-from jkh) Date: Mon, 1 Apr 2002 16:11:49 -0800 (PST) From: Jordan Hubbard Message-Id: <200204020011.g320Bn423164@winston.freebsd.org> To: hackers@freebsd.org Subject: I think Linus wins the April 1st competition this year Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://www.cs.helsinki.fi/linux/linux-kernel/2002-13/0063.html Matt or Theo indeed! - Jordan To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Apr 1 17:18: 3 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from rwcrmhc54.attbi.com (rwcrmhc54.attbi.com [216.148.227.87]) by hub.freebsd.org (Postfix) with ESMTP id 94A9637B400 for ; Mon, 1 Apr 2002 17:18:01 -0800 (PST) Received: from blossom.cjclark.org ([12.234.91.48]) by rwcrmhc54.attbi.com (InterMail vM.4.01.03.27 201-229-121-127-20010626) with ESMTP id <20020402011801.JTTE2974.rwcrmhc54.attbi.com@blossom.cjclark.org>; Tue, 2 Apr 2002 01:18:01 +0000 Received: (from cjc@localhost) by blossom.cjclark.org (8.11.6/8.11.6) id g321I0P50442; Mon, 1 Apr 2002 17:18:00 -0800 (PST) (envelope-from cjc) Date: Mon, 1 Apr 2002 17:18:00 -0800 From: "Crist J. Clark" To: Zhihui Zhang Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: total module count Message-ID: <20020401171800.C99214@blossom.cjclark.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: ; from zzhang@cs.binghamton.edu on Mon, Apr 01, 2002 at 02:54:05PM -0500 X-URL: http://people.freebsd.org/~cjc/ Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Mon, Apr 01, 2002 at 02:54:05PM -0500, Zhihui Zhang wrote: > > I am wondering how many modules in all are compiled during the kernel > compilation (make depend; make). Is there any configuration file I can > look into to find out all the module names? How about src/sys/modules/Makefile? -- Crist J. Clark | cjclark@alum.mit.edu | cjclark@jhu.edu http://people.freebsd.org/~cjc/ | cjc@freebsd.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Apr 1 17:32:58 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from apollo.sitaranetworks.com (apollo.sitaranetworks.com [199.103.141.105]) by hub.freebsd.org (Postfix) with ESMTP id AA17E37B400 for ; Mon, 1 Apr 2002 17:32:41 -0800 (PST) Received: from rios.sitaranetworks.com (rios.sitaranetworks.com [199.103.141.78]) by apollo.sitaranetworks.com (8.10.2+Sun/8.9.3) with ESMTP id g321Vw825918; Mon, 1 Apr 2002 20:31:59 -0500 (EST) Received: by rios.sitaranetworks.com with Internet Mail Service (5.5.2653.19) id <2BQMSXN8>; Mon, 1 Apr 2002 20:32:26 -0500 Message-ID: <31269226357BD211979E00A0C9866DAB02BB9866@rios.sitaranetworks.com> From: Chris Ptacek To: "'Julian Elischer'" , Chris Ptacek Cc: "'freebsd-hackers@FreeBSD.ORG'" Subject: RE: Adding to the mbuf header... Date: Mon, 1 Apr 2002 20:32:25 -0500 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Here are the diffs for the mbuf changes I am trying... #diff -c mbuf.h mbuf.h.new *** mbuf.h Mon Apr 1 17:27:33 2002 --- mbuf.h.new Mon Apr 1 17:27:17 2002 *************** *** 79,84 **** --- 79,87 ---- struct ifnet *rcvif; /* rcv interface */ int len; /* total packet length */ + /* Add field to track flow information */ + void *flow_info; + /* variables for ip and tcp reassembly */ void *header; /* pointer to packet header */ }; *************** *** 114,119 **** --- 117,123 ---- #define m_nextpkt m_hdr.mh_nextpkt #define m_act m_nextpkt #define m_pkthdr M_dat.MH.MH_pkthdr + #define m_flow_info M_dat.MH.MH_pkthdr.flow_info #define m_ext M_dat.MH.MH_dat.MH_ext #define m_pktdat M_dat.MH.MH_dat.MH_databuf #define m_dat M_dat.M_databuf - Chris > -----Original Message----- > From: Julian Elischer [mailto:julian@elischer.org] > Sent: Friday, March 29, 2002 9:44 PM > To: Chris Ptacek > Cc: 'freebsd-hackers@FreeBSD.ORG' > Subject: Re: Adding to the mbuf header... > > > send your diff to mbuf.h > > > On Fri, 29 Mar 2002, Chris Ptacek wrote: > > > I am working on a project using FreeBSD 3.2 (part of the > requirements). > > As part of this project I would like to add a field to the > mbuf header to > > store some information. I have added the field, however I > get an occasional > > core when trying to free an mbuf. It appears that the next > field is getting > > overwritten with some garbage and a free, etc that tries to > access this > > field is coring. I noticed that in FreeBSD 4.X this some > fields were added > > to the mbuf header. I was hoping someone would be able to > point me in the > > direction of the files/functions I should look at to solve > my problem. > > > > - Chris > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > > with "unsubscribe freebsd-hackers" in the body of the message > > > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Apr 1 17:59:40 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from snipe.prod.itd.earthlink.net (snipe.mail.pas.earthlink.net [207.217.120.62]) by hub.freebsd.org (Postfix) with ESMTP id 244A537B416 for ; Mon, 1 Apr 2002 17:59:34 -0800 (PST) Received: from pool0310.cvx21-bradley.dialup.earthlink.net ([209.179.193.55] helo=mindspring.com) by snipe.prod.itd.earthlink.net with esmtp (Exim 3.33 #1) id 16sDZt-0001Ct-00; Mon, 01 Apr 2002 17:59:17 -0800 Message-ID: <3CA9105E.BA5FBA0A@mindspring.com> Date: Mon, 01 Apr 2002 17:58:54 -0800 From: Terry Lambert X-Mailer: Mozilla 4.7 [en]C-CCK-MCD {Sony} (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: Jordan Hubbard Cc: hackers@freebsd.org Subject: Re: I think Linus wins the April 1st competition this year References: <200204020011.g320Bn423164@winston.freebsd.org> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Jordan Hubbard wrote: > > http://www.cs.helsinki.fi/linux/linux-kernel/2002-13/0063.html > > Matt or Theo indeed! I saw that; pretty amusing, even if it wasn't him. By far a better joke that most. Good thing I didn't publish my RFC on "PlainText" encryption for S/MIME encapsulated email... i wouldn't have stood a change ;^). -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Apr 1 19:20:15 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from periodic.imeme.net (imeme.net [63.102.48.45]) by hub.freebsd.org (Postfix) with ESMTP id 5D8E837B416 for ; Mon, 1 Apr 2002 19:20:01 -0800 (PST) Received: from gateway.bogus.com (imeme.net) [209.249.198.49] by periodic.imeme.net with asmtp (Exim 3.33 #1 (Debian)) id 16sEp3-000K4W-00; Mon, 01 Apr 2002 22:19:01 -0500 Message-ID: <3CA92355.8050001@imeme.net> Date: Mon, 01 Apr 2002 22:19:49 -0500 From: Jon Ringuette User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:0.9.9) Gecko/20020312 X-Accept-Language: en-us, en MIME-Version: 1.0 To: freebsd-hackers@freebsd.org Subject: Question about possibly additions to TOP Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Sorry to bother everyone here but I have a quick question (or I guess what I hope is a quick question). I have made some modifications to src/usr.bin/machine.c to allow TOP to run in a jail (I have mostly just taken out kvm_read's ) and zero'd out alot of information that is not available to TOP in a jail ie . Total memory usage / swap usage / cpu usage etc.. I would like to add an option -j to top and have it check for that option to do this (sort of a really lightweight top if this option is used). Would this be of interest to anymore for me to submit a patch and if so how should I go about adding the -j option should I make a copy of the top.c into src/usr.bin/top or contact the auther of top to see about submitting it to him? I'm not sure if this would be useful to anyone outside of the FreeBSD community is the reason I am a bit iffy about doing that. If someone could point me in the right direction to do this the correct way I would be very grateful, I really want to code but I'm not sure where and how i should do it :) -jon iMeme To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Apr 1 19:54:33 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by hub.freebsd.org (Postfix) with ESMTP id B476637B416 for ; Mon, 1 Apr 2002 19:54:30 -0800 (PST) Received: by elvis.mu.org (Postfix, from userid 1192) id 81F2DAE0C7; Mon, 1 Apr 2002 19:54:30 -0800 (PST) Date: Mon, 1 Apr 2002 19:54:30 -0800 From: Alfred Perlstein To: Jon Ringuette Cc: freebsd-hackers@freebsd.org Subject: Re: Question about possibly additions to TOP Message-ID: <20020402035430.GE93885@elvis.mu.org> References: <3CA92355.8050001@imeme.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3CA92355.8050001@imeme.net> User-Agent: Mutt/1.3.27i Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG * Jon Ringuette [020401 19:20] wrote: > Sorry to bother everyone here but I have a quick question (or I guess > what I hope is a quick question). I have made some modifications to > src/usr.bin/machine.c to allow TOP to run in a jail (I have mostly just > taken out kvm_read's ) and zero'd out alot of information that is not > available to TOP in a jail ie . Total memory usage / swap usage / cpu > usage etc.. I would like to add an option -j to top and have it check > for that option to do this (sort of a really lightweight top if this > option is used). Would this be of interest to anymore for me to submit > a patch and if so how should I go about adding the -j option should I > make a copy of the top.c into src/usr.bin/top or contact the auther of > top to see about submitting it to him? I'm not sure if this would be > useful to anyone outside of the FreeBSD community is the reason I am a > bit iffy about doing that. If someone could point me in the right > direction to do this the correct way I would be very grateful, I really > want to code but I'm not sure where and how i should do it :) That would be pretty cool, why don't you use the gnats: http://www.freebsd.org/send-pr.html or just "send-pr" to submit your changes? One idea would be to fail gracefully, when unable to read kvm and such and keep the -j flag idea you had. -Alfred To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Apr 1 19:58: 2 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from periodic.imeme.net (imeme.net [63.102.48.45]) by hub.freebsd.org (Postfix) with ESMTP id B852C37B405 for ; Mon, 1 Apr 2002 19:57:59 -0800 (PST) Received: from gateway.bogus.com (imeme.net) [209.249.198.49] by periodic.imeme.net with asmtp (Exim 3.33 #1 (Debian)) id 16sFPs-000KS8-00; Mon, 01 Apr 2002 22:57:04 -0500 Message-ID: <3CA92C47.6050609@imeme.net> Date: Mon, 01 Apr 2002 22:57:59 -0500 From: Jon Ringuette User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:0.9.9) Gecko/20020312 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Alfred Perlstein , freebsd-hackers@freebsd.org Subject: Re: Question about possibly additions to TOP References: <3CA92355.8050001@imeme.net> <20020402035430.GE93885@elvis.mu.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG > > > >That would be pretty cool, why don't you use the gnats: >http://www.freebsd.org/send-pr.html >or just "send-pr" > >to submit your changes? > >One idea would be to fail gracefully, when unable to read kvm and >such and keep the -j flag idea you had. > Thats a great idea it didn't even cross my mind to just make it fail gracefully on the information it can not obtain in jails thanks! -jon iMeme To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Mon Apr 1 22:17:18 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from periodic.imeme.net (imeme.net [63.102.48.45]) by hub.freebsd.org (Postfix) with ESMTP id 024DA37B422 for ; Mon, 1 Apr 2002 22:17:03 -0800 (PST) Received: from gateway.bogus.com (imeme.net) [209.249.198.49] by periodic.imeme.net with asmtp (Exim 3.33 #1 (Debian)) id 16sHaL-000LZm-00; Tue, 02 Apr 2002 01:16:01 -0500 Message-ID: <3CA94CD9.6070805@imeme.net> Date: Tue, 02 Apr 2002 01:16:57 -0500 From: Jon Ringuette User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:0.9.9) Gecko/20020312 X-Accept-Language: en-us, en MIME-Version: 1.0 To: freebsd-hackers@freebsd.org Subject: diff of proposed top changes Content-Type: multipart/mixed; boundary="------------090801080508010405020304" Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG This is a multi-part message in MIME format. --------------090801080508010405020304 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit These changes will allow top to run in a jail, or proceed on even though certain stats can not be obtained. Unfortunatly you do loss some error messages when doing so. Ps. If I should be submitting these elsewhere please let me know. dff -c machine.c newmachine.c > machine.c.diff --------------090801080508010405020304 Content-Type: text/plain; name="machine.c.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="machine.c.diff" *** machine.c Tue Jul 31 16:27:05 2001 --- machine.c.new Tue Apr 2 01:11:03 2002 *************** *** 246,254 **** else if (namelength > 15) namelength = 15; ! if ((kd = kvm_open(NULL, NULL, NULL, O_RDONLY, "kvm_open")) == NULL) ! return -1; ! /* get the list of symbols we want to access in the kernel */ (void) kvm_nlist(kd, nlst); --- 246,255 ---- else if (namelength > 15) namelength = 15; ! /* Changed to be NULL instead of kvm_open for parm 5 so it will no longer display error messages if there was a ! problem reading and thus not obstructing the screen */ ! if ((kd = kvm_open(NULL, NULL, NULL, O_RDONLY, NULL)) == NULL) ! return -1; /* get the list of symbols we want to access in the kernel */ (void) kvm_nlist(kd, nlst); *************** *** 337,342 **** --- 338,344 ---- int mib[2]; struct timeval boottime; size_t bt_size; + int get_mem = 0; /* get the cp_time array */ (void) getkval(cp_time_offset, (int *)cp_time, sizeof(cp_time), *************** *** 380,401 **** static int swapavail = 0; static int swapfree = 0; static int bufspace = 0; ! ! (void) getkval(cnt_offset, (int *)(&sum), sizeof(sum), "_cnt"); (void) getkval(bufspace_offset, (int *)(&bufspace), sizeof(bufspace), "_bufspace"); ! /* convert memory stats to Kbytes */ ! memory_stats[0] = pagetok(sum.v_active_count); ! memory_stats[1] = pagetok(sum.v_inactive_count); ! memory_stats[2] = pagetok(sum.v_wire_count); ! memory_stats[3] = pagetok(sum.v_cache_count); ! memory_stats[4] = bufspace / 1024; ! memory_stats[5] = pagetok(sum.v_free_count); ! memory_stats[6] = -1; ! /* first interval */ if (swappgsin < 0) { swap_stats[4] = 0; swap_stats[5] = 0; --- 382,415 ---- static int swapavail = 0; static int swapfree = 0; static int bufspace = 0; ! ! get_mem = getkval(cnt_offset, (int *)(&sum), sizeof(sum), "_cnt"); (void) getkval(bufspace_offset, (int *)(&bufspace), sizeof(bufspace), "_bufspace"); ! if(get_mem!=2) // Check if we had a problem reading memory stats ! { /* convert memory stats to Kbytes */ ! memory_stats[0] = pagetok(sum.v_active_count); ! memory_stats[1] = pagetok(sum.v_inactive_count); ! memory_stats[2] = pagetok(sum.v_wire_count); ! memory_stats[3] = pagetok(sum.v_cache_count); ! memory_stats[4] = bufspace / 1024; ! memory_stats[5] = pagetok(sum.v_free_count); ! memory_stats[6] = -1; ! } ! else ! { ! memory_stats[0] = -1; ! memory_stats[1] = -1; ! memory_stats[2] = -1; ! memory_stats[3] = -1; ! memory_stats[4] = -1; ! memory_stats[5] = -1; ! memory_stats[6] = -1;//keep ! }; /* first interval */ + if (swappgsin < 0) { swap_stats[4] = 0; swap_stats[5] = 0; *************** *** 407,422 **** swap_stats[5] = pagetok(((sum.v_swappgsout - swappgsout))); } ! swappgsin = sum.v_swappgsin; ! swappgsout = sum.v_swappgsout; ! /* call CPU heavy swapmode() only for changes */ ! if (swap_stats[4] > 0 || swap_stats[5] > 0 || swap_delay == 0) { swap_stats[3] = swapmode(&swapavail, &swapfree); swap_stats[0] = swapavail; swap_stats[1] = swapavail - swapfree; swap_stats[2] = swapfree; } swap_delay = 1; swap_stats[6] = -1; } --- 421,454 ---- swap_stats[5] = pagetok(((sum.v_swappgsout - swappgsout))); } ! if(get_mem !=2) ! { ! swappgsin = sum.v_swappgsin; ! swappgsout = sum.v_swappgsout; ! } ! else ! { ! swappgsin=-1; ! swappgsout=-1; ! }; /* call CPU heavy swapmode() only for changes */ ! if (swap_stats[4] > 0 || swap_stats[5] > 0 || swap_delay == 0 && get_mem!=2) { swap_stats[3] = swapmode(&swapavail, &swapfree); swap_stats[0] = swapavail; swap_stats[1] = swapavail - swapfree; swap_stats[2] = swapfree; } + else + if(get_mem==2) // check if problem retrieving memory stats + { + swap_stats[4] = -1; + swap_stats[5] = -1; + swap_stats[3] = -1; + swap_stats[0] = -1; + swap_stats[1] = -1; + swap_stats[2] = -1; + }; + swap_delay = 1; swap_stats[6] = -1; } *************** *** 700,713 **** } else { ! fprintf(stderr, "top: kvm_read for %s: %s\n", ! refstr, strerror(errno)); ! quit(23); } } return(1); } - /* comparison routines for qsort */ /* --- 732,745 ---- } else { ! // fprintf(stderr, "top: kvm_read for %s: %s\n", ! // refstr, strerror(errno)); ! // quit(23); ! return(2); } } return(1); } /* comparison routines for qsort */ /* --------------090801080508010405020304-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Apr 2 0:36:13 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mailout02.sul.t-online.com (mailout02.sul.t-online.com [194.25.134.17]) by hub.freebsd.org (Postfix) with ESMTP id 42FD937B41C; Tue, 2 Apr 2002 00:36:02 -0800 (PST) Received: from fwd08.sul.t-online.de by mailout02.sul.t-online.com with smtp id 16sJkD-0007QN-0E; Tue, 02 Apr 2002 10:34:21 +0200 Received: from Magelan.Leidinger.net (520065502893-0001@[217.83.16.58]) by fmrl08.sul.t-online.com with esmtp id 16sJkB-1uEkoyC; Tue, 2 Apr 2002 10:34:19 +0200 Received: from Leidinger.net (netchild@localhost [127.0.0.1]) by Magelan.Leidinger.net (8.12.2/8.12.2) with ESMTP id g328Y7Rj000568; Tue, 2 Apr 2002 10:34:11 +0200 (CEST) (envelope-from netchild@Leidinger.net) Message-Id: <200204020834.g328Y7Rj000568@Magelan.Leidinger.net> Date: Tue, 2 Apr 2002 10:34:07 +0200 (CEST) From: Alexander Leidinger Subject: Re: lang/icc doesn't compile c++ sources To: corecode@corecode.ath.cx Cc: tlambert2@mindspring.com, nick-lists@netability.ie, hackers@FreeBSD.ORG, ports@FreeBSD.ORG In-Reply-To: <20020401204646.749b5996.corecode@corecode.ath.cx> MIME-Version: 1.0 Content-Type: TEXT/plain; charset=us-ascii X-Sender: 520065502893-0001@t-dialin.net Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On 1 Apr, Simon 'corecode' Schubert wrote: >> > my first tries for the patched include files can be found here: >> > >> >> We should either fix the base system, or ${IA32ROOT}/includes/. > > i'd really like to, but the headers from the base system are just not > standard conformant enough. > the headers coming with icc just don't fit our libs; they are specially > crafted for use with redhat linux 7.1 :/ > i already tried to fix these, but our implementation of the multibyte > functions won't let this be an easy task (if it ever can be solved): Do you have test cases where the removal of icc's includes and the use of "-X -I/usr/include/g++ -I/usr/include" fails? Bye, Alexander. -- Actually, Microsoft is sort of a mixture between the Borg and the Ferengi. http://www.Leidinger.net Alexander @ Leidinger.net GPG fingerprint = C518 BC70 E67F 143F BE91 3365 79E2 9C60 B006 3FE7 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Apr 2 1:53: 1 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mailout02.sul.t-online.com (mailout02.sul.t-online.com [194.25.134.17]) by hub.freebsd.org (Postfix) with ESMTP id 622CC37B405; Tue, 2 Apr 2002 01:52:48 -0800 (PST) Received: from fwd07.sul.t-online.de by mailout02.sul.t-online.com with smtp id 16sKxs-0003Gp-05; Tue, 02 Apr 2002 11:52:32 +0200 Received: from spirit.zuhause.stoert.net (320050403952-0001@[80.128.123.101]) by fmrl07.sul.t-online.com with esmtp id 16sKxb-1x7DYuC; Tue, 2 Apr 2002 11:52:15 +0200 Received: from elevation.zuhause.stoert.net (elevation.zuhause.stoert.net [192.168.66.46]) by spirit.zuhause.stoert.net (8.11.6/8.11.6) with ESMTP id g329qER20628; Tue, 2 Apr 2002 11:52:14 +0200 (CEST) (envelope-from corecode@corecode.ath.cx) Received: (from corecode@localhost) by elevation.zuhause.stoert.net (8.11.6/8.11.6) id g329q4B99630; Tue, 2 Apr 2002 11:52:04 +0200 (CEST) (envelope-from corecode) Date: Tue, 2 Apr 2002 11:52:01 +0200 From: "Simon 'corecode' Schubert" To: Alexander Leidinger Cc: tlambert2@mindspring.com, nick-lists@netability.ie, hackers@FreeBSD.ORG, ports@FreeBSD.ORG, Miguel Mendez Subject: Re: lang/icc doesn't compile c++ sources Message-Id: <20020402115201.4d85ed66.corecode@corecode.ath.cx> In-Reply-To: <200204020834.g328Y7Rj000568@Magelan.Leidinger.net> References: <20020401204646.749b5996.corecode@corecode.ath.cx> <200204020834.g328Y7Rj000568@Magelan.Leidinger.net> X-Mailer: Sylpheed version 0.7.4claws (GTK+ 1.2.10; i386-portbld-freebsd4.5) Mime-Version: 1.0 Content-Type: multipart/signed; protocol="application/pgp-signature"; boundary="=.Nbx8hGa0bfZoJk" X-Sender: 320050403952-0001@t-dialin.net Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG --=.Nbx8hGa0bfZoJk Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Tue, 2 Apr 2002 10:34:07 +0200 (CEST) Alexander Leidinger wrote: > On 1 Apr, Simon 'corecode' Schubert wrote: > > >> > my first tries for the patched include files can be found here: > >> > > >> > >> We should either fix the base system, or ${IA32ROOT}/includes/. > > > > i'd really like to, but the headers from the base system are just not > > standard conformant enough. > > the headers coming with icc just don't fit our libs; they are specially > > crafted for use with redhat linux 7.1 :/ > > i already tried to fix these, but our implementation of the multibyte > > functions won't let this be an easy task (if it ever can be solved): > > Do you have test cases where the removal of icc's includes and the use > of "-X -I/usr/include/g++ -I/usr/include" fails? yes. just as simple as that: #include std::string test; it also fails after fixing the wchar_t thingy. the headers from the base system don't use namespaces correctly... i've tried both 2.95.3 and 3.0.4 headers, look at and .2.95.3.tgz for the results; both still don't compile. to test these, just prepend this one include directory to the search path and use the appropriate g++ include dir. cheerz simon ps: i hope we will get this done some time ;] -- /"\ http://corecode.ath.cx/ \ / \ ASCII Ribbon Campaign / \ Against HTML Mail and News --=.Nbx8hGa0bfZoJk Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (FreeBSD) iD8DBQE8qX9Er5S+dk6z85oRAj97AKC/u0Zl8vNMdly33XXtOpioo4I+5ACgln+t aOLGqIXoBIbhfROMZtykjCo= =ROeg -----END PGP SIGNATURE----- --=.Nbx8hGa0bfZoJk-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Apr 2 6:17:11 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mailout10.sul.t-online.com (mailout10.sul.t-online.com [194.25.134.21]) by hub.freebsd.org (Postfix) with ESMTP id 29EBC37B41A; Tue, 2 Apr 2002 06:16:55 -0800 (PST) Received: from fwd08.sul.t-online.de by mailout10.sul.t-online.com with smtp id 16sNRQ-0004Kb-0D; Tue, 02 Apr 2002 14:31:12 +0200 Received: from Magelan.Leidinger.net (520065502893-0001@[217.83.16.58]) by fmrl08.sul.t-online.com with esmtp id 16sNRM-298h9MC; Tue, 2 Apr 2002 14:31:08 +0200 Received: from Leidinger.net (netchild@localhost [127.0.0.1]) by Magelan.Leidinger.net (8.12.2/8.12.2) with ESMTP id g32CV0Rj092795; Tue, 2 Apr 2002 14:31:04 +0200 (CEST) (envelope-from netchild@Leidinger.net) Message-Id: <200204021231.g32CV0Rj092795@Magelan.Leidinger.net> Date: Tue, 2 Apr 2002 14:30:59 +0200 (CEST) From: Alexander Leidinger Subject: Re: lang/icc doesn't compile c++ sources To: corecode@corecode.ath.cx Cc: tlambert2@mindspring.com, nick-lists@netability.ie, hackers@FreeBSD.ORG, ports@FreeBSD.ORG, flynn@energyhq.homeip.net In-Reply-To: <20020402115201.4d85ed66.corecode@corecode.ath.cx> MIME-Version: 1.0 Content-Type: TEXT/plain; charset=us-ascii X-Sender: 520065502893-0001@t-dialin.net Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On 2 Apr, Simon 'corecode' Schubert wrote: >> Do you have test cases where the removal of icc's includes and the use >> of "-X -I/usr/include/g++ -I/usr/include" fails? > > yes. just as simple as that: > > #include > std::string test; > > it also fails after fixing the wchar_t thingy. > the headers from the base system don't use namespaces correctly... "test.cc", line 4: error: name followed by "::" must be a class or namespace name std::string test ="Hello World"; ^ So we have to fix the base system headers in this regard and discard Intels C++ headers? What about these errors? ---snip--- test.cc: "/usr/include/g++/std/bastring.h", line 142: error: too few arguments for class template "reverse_iterator" typedef ::reverse_iterator reverse_iterator; ^ "/usr/include/g++/std/bastring.h", line 143: error: too few arguments for class template "reverse_iterator" typedef ::reverse_iterator const_reverse_iterator; ---snip--- Bye, Alexander. -- ...and that is how we know the Earth to be banana-shaped. http://www.Leidinger.net Alexander @ Leidinger.net GPG fingerprint = C518 BC70 E67F 143F BE91 3365 79E2 9C60 B006 3FE7 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Apr 2 6:33: 5 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mailout11.sul.t-online.com (mailout11.sul.t-online.com [194.25.134.85]) by hub.freebsd.org (Postfix) with ESMTP id 3E06837B405; Tue, 2 Apr 2002 06:32:55 -0800 (PST) Received: from fwd06.sul.t-online.de by mailout11.sul.t-online.com with smtp id 16sPL9-0003BE-03; Tue, 02 Apr 2002 16:32:51 +0200 Received: from spirit.zuhause.stoert.net (320050403952-0001@[217.82.54.190]) by fmrl06.sul.t-online.com with esmtp id 16sPL2-1By9g0C; Tue, 2 Apr 2002 16:32:44 +0200 Received: from elevation.zuhause.stoert.net (elevation.zuhause.stoert.net [192.168.66.46]) by spirit.zuhause.stoert.net (8.11.6/8.11.6) with ESMTP id g32EWeR26328; Tue, 2 Apr 2002 16:32:40 +0200 (CEST) (envelope-from corecode@corecode.ath.cx) Received: (from corecode@localhost) by elevation.zuhause.stoert.net (8.11.6/8.11.6) id g32EWd830121; Tue, 2 Apr 2002 16:32:39 +0200 (CEST) (envelope-from corecode) Date: Tue, 2 Apr 2002 16:32:36 +0200 From: "Simon 'corecode' Schubert" To: Alexander Leidinger Cc: tlambert2@mindspring.com, nick-lists@netability.ie, hackers@FreeBSD.ORG, ports@FreeBSD.ORG, flynn@energyhq.homeip.net Subject: Re: lang/icc doesn't compile c++ sources Message-Id: <20020402163236.6e8a6705.corecode@corecode.ath.cx> In-Reply-To: <200204021231.g32CV0Rj092795@Magelan.Leidinger.net> References: <20020402115201.4d85ed66.corecode@corecode.ath.cx> <200204021231.g32CV0Rj092795@Magelan.Leidinger.net> X-Mailer: Sylpheed version 0.7.4claws (GTK+ 1.2.10; i386-portbld-freebsd4.5) Mime-Version: 1.0 Content-Type: multipart/signed; protocol="application/pgp-signature"; boundary="=.aPX'7rlR(t(0AE" X-Sender: 320050403952-0001@t-dialin.net Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG --=.aPX'7rlR(t(0AE Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Tue, 2 Apr 2002 14:30:59 +0200 (CEST) Alexander Leidinger wrote: > On 2 Apr, Simon 'corecode' Schubert wrote: > > >> Do you have test cases where the removal of icc's includes and the use > >> of "-X -I/usr/include/g++ -I/usr/include" fails? > > > > yes. just as simple as that: > > > > #include > > std::string test; > > > > it also fails after fixing the wchar_t thingy. > > the headers from the base system don't use namespaces correctly... > > "test.cc", line 4: error: name followed by "::" must be a class or namespace name > std::string test ="Hello World"; > ^ > > So we have to fix the base system headers in this regard and discard > Intels C++ headers? > > What about these errors? > ---snip--- > test.cc: > "/usr/include/g++/std/bastring.h", line 142: error: too few arguments for class template "reverse_iterator" > typedef ::reverse_iterator reverse_iterator; > ^ > > "/usr/include/g++/std/bastring.h", line 143: error: too few arguments for class template "reverse_iterator" > typedef ::reverse_iterator const_reverse_iterator; > ---snip--- all these are because the headers from the base system are not standards conformant. i don't think fixing these headers will be an easy task. tomorrow i'll check out if i can somehow patch the icc headers and/or continue to patch the headers coming from gcc 3.0.4 cheerz simon -- /"\ http://corecode.ath.cx/#donate \ / \ ASCII Ribbon Campaign / \ Against HTML Mail and News --=.aPX'7rlR(t(0AE Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (FreeBSD) iD8DBQE8qcEHr5S+dk6z85oRAtnzAJ48WJufdhILrVtmwwVeg2x3pwNx7ACgxMxQ QLYZOJLBarTEAgMhNV1xnAw= =KGuN -----END PGP SIGNATURE----- --=.aPX'7rlR(t(0AE-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Apr 2 6:47:13 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by hub.freebsd.org (Postfix) with ESMTP id C0F0F37B43E for ; Tue, 2 Apr 2002 06:46:31 -0800 (PST) Received: from fledge.watson.org (fledge.pr.watson.org [192.0.2.3]) by fledge.watson.org (8.11.6/8.11.6) with SMTP id g32EkOw27089; Tue, 2 Apr 2002 09:46:24 -0500 (EST) (envelope-from robert@fledge.watson.org) Date: Tue, 2 Apr 2002 09:46:23 -0500 (EST) From: Robert Watson X-Sender: robert@fledge.watson.org To: Jordan Hubbard Cc: hackers@freebsd.org Subject: Re: I think Linus wins the April 1st competition this year In-Reply-To: <200204020011.g320Bn423164@winston.freebsd.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Wow. I'm impressed. Linus is too bored if he has time to come up with these things. He should write a new OS or something. Perhaps he could join the LainOS team :-). Robert N M Watson FreeBSD Core Team, TrustedBSD Project robert@fledge.watson.org NAI Labs, Safeport Network Services On Mon, 1 Apr 2002, Jordan Hubbard wrote: > http://www.cs.helsinki.fi/linux/linux-kernel/2002-13/0063.html > > Matt or Theo indeed! > > - Jordan > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-hackers" in the body of the message > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Apr 2 6:50:40 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by hub.freebsd.org (Postfix) with ESMTP id B791137B4AE for ; Tue, 2 Apr 2002 06:49:35 -0800 (PST) Received: from fledge.watson.org (fledge.pr.watson.org [192.0.2.3]) by fledge.watson.org (8.11.6/8.11.6) with SMTP id g32EnTw27146; Tue, 2 Apr 2002 09:49:29 -0500 (EST) (envelope-from robert@fledge.watson.org) Date: Tue, 2 Apr 2002 09:49:28 -0500 (EST) From: Robert Watson X-Sender: robert@fledge.watson.org To: Jon Ringuette Cc: freebsd-hackers@freebsd.org Subject: Re: Question about possibly additions to TOP In-Reply-To: <3CA92355.8050001@imeme.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Doesn't top already run in Jail on -CURRENT? Thomas Moestl did this work a while back, exposing the necessary information to support most of our userland monitoring tools using sysctl rather than kvm: last pid: 32655; load averages: 0.05, 0.09, 0.07 up 7+14:52:51 09:50:01 2 processes: 1 running, 1 sleeping CPU states: 4.7% user, 0.0% nice, 2.3% system, 1.2% interrupt, 91.8% idle Mem: 61M Active, 21M Inact, 32M Wired, 6932K Cache, 22M Buf, 888K Free Swap: 261M Total, 52M Used, 209M Free, 20% Inuse PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND 32652 root 96 0 1956K 1080K RUN 0:00 0.00% 0.00% top 32650 root 20 0 1448K 996K pause 0:00 0.00% 0.00% tcsh In general, new "features" for top go into the cross-platform vendor top code, but features to improve FreeBSD-specific information extraction go into our local tree. What exactly does -j do? Robert N M Watson FreeBSD Core Team, TrustedBSD Project robert@fledge.watson.org NAI Labs, Safeport Network Services On Mon, 1 Apr 2002, Jon Ringuette wrote: > Sorry to bother everyone here but I have a quick question (or I guess > what I hope is a quick question). I have made some modifications to > src/usr.bin/machine.c to allow TOP to run in a jail (I have mostly just > taken out kvm_read's ) and zero'd out alot of information that is not > available to TOP in a jail ie . Total memory usage / swap usage / cpu > usage etc.. I would like to add an option -j to top and have it check > for that option to do this (sort of a really lightweight top if this > option is used). Would this be of interest to anymore for me to submit > a patch and if so how should I go about adding the -j option should I > make a copy of the top.c into src/usr.bin/top or contact the auther of > top to see about submitting it to him? I'm not sure if this would be > useful to anyone outside of the FreeBSD community is the reason I am a > bit iffy about doing that. If someone could point me in the right > direction to do this the correct way I would be very grateful, I really > want to code but I'm not sure where and how i should do it :) > > -jon > iMeme > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-hackers" in the body of the message > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Apr 2 6:53: 3 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by hub.freebsd.org (Postfix) with ESMTP id 5CEB537B431 for ; Tue, 2 Apr 2002 06:52:41 -0800 (PST) Received: from fledge.watson.org (fledge.pr.watson.org [192.0.2.3]) by fledge.watson.org (8.11.6/8.11.6) with SMTP id g32EqZw27200; Tue, 2 Apr 2002 09:52:35 -0500 (EST) (envelope-from robert@fledge.watson.org) Date: Tue, 2 Apr 2002 09:52:35 -0500 (EST) From: Robert Watson X-Sender: robert@fledge.watson.org To: Jon Ringuette Cc: freebsd-hackers@freebsd.org Subject: Re: Question about possibly additions to TOP In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG The real aim, btw, of moving to sysctl was to allow top (and the other utilities) without any extra privilege -- be it setuid, setgid kmem, etc. This had a number of added benefits, including allowing the policy for process/information visibility to be determined entirely in the kernel (required for our modular access control framework in TrustedBSD), let it run in jail, gradually deprecate kvm for statistics reporting, etc. Robert N M Watson FreeBSD Core Team, TrustedBSD Project robert@fledge.watson.org NAI Labs, Safeport Network Services On Tue, 2 Apr 2002, Robert Watson wrote: > Doesn't top already run in Jail on -CURRENT? Thomas Moestl did this work > a while back, exposing the necessary information to support most of our > userland monitoring tools using sysctl rather than kvm: > > last pid: 32655; load averages: 0.05, 0.09, 0.07 up 7+14:52:51 09:50:01 > 2 processes: 1 running, 1 sleeping > CPU states: 4.7% user, 0.0% nice, 2.3% system, 1.2% interrupt, 91.8% idle > Mem: 61M Active, 21M Inact, 32M Wired, 6932K Cache, 22M Buf, 888K Free > Swap: 261M Total, 52M Used, 209M Free, 20% Inuse > > PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND > 32652 root 96 0 1956K 1080K RUN 0:00 0.00% 0.00% top > 32650 root 20 0 1448K 996K pause 0:00 0.00% 0.00% tcsh > > In general, new "features" for top go into the cross-platform vendor top > code, but features to improve FreeBSD-specific information extraction go > into our local tree. What exactly does -j do? > > Robert N M Watson FreeBSD Core Team, TrustedBSD Project > robert@fledge.watson.org NAI Labs, Safeport Network Services > > On Mon, 1 Apr 2002, Jon Ringuette wrote: > > > Sorry to bother everyone here but I have a quick question (or I guess > > what I hope is a quick question). I have made some modifications to > > src/usr.bin/machine.c to allow TOP to run in a jail (I have mostly just > > taken out kvm_read's ) and zero'd out alot of information that is not > > available to TOP in a jail ie . Total memory usage / swap usage / cpu > > usage etc.. I would like to add an option -j to top and have it check > > for that option to do this (sort of a really lightweight top if this > > option is used). Would this be of interest to anymore for me to submit > > a patch and if so how should I go about adding the -j option should I > > make a copy of the top.c into src/usr.bin/top or contact the auther of > > top to see about submitting it to him? I'm not sure if this would be > > useful to anyone outside of the FreeBSD community is the reason I am a > > bit iffy about doing that. If someone could point me in the right > > direction to do this the correct way I would be very grateful, I really > > want to code but I'm not sure where and how i should do it :) > > > > -jon > > iMeme > > > > > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > > with "unsubscribe freebsd-hackers" in the body of the message > > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-hackers" in the body of the message > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Apr 2 8:53:54 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from users.pesaro.com (pesaro.com [195.120.225.6]) by hub.freebsd.org (Postfix) with ESMTP id 57F3837B43E for ; Tue, 2 Apr 2002 08:52:12 -0800 (PST) Received: from mail.ru (pax2-184.cis.ru [212.109.194.184]) by users.pesaro.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) with SMTP id g32GwRP11177 for ; Tue, 2 Apr 2002 18:58:38 +0200 Message-Id: <200204021658.g32GwRP11177@users.pesaro.com> From: "Paul" To: Subject: Software Development from Russia ($20-$25 per hour) Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Date: Tue, 2 Apr 2002 23:52:09 +0700 Reply-To: "Paul" X-Priority: 1 (Highest) Content-Transfer-Encoding: 8bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Dear IT Manager, Have you ever thought of redesigning your website or creating an on-line database, in short, anything that has to do with software development, this offer is right for you. Our highly skilled off-shore programmers are capable and ready to develop any of your e-commerce software dreams and needs. We develop for ALL WINDOWS AND UNIX PLATFORMS Auctions, Hosting Solutions, Shopping Carts, databases, networks, plus Perl, PHP, C++, ASP, Cold Fusion, Java, Wap, XML, MS Access, SQL, etc. From business analysis and consulting to web design, from coding to testing we provide a full cycle of IT services. Typical rates are 20-25 USD per hour. For more complete information about the company and services provided please visit http://www.smtprogramming.com I will be glad to answer any of your questions (bestdeal411@mail.ru). Feel free to contact us any time and all the estimates will be done for you FREE of charge. Thanks! Paul PS. It's one time message. You are not on a list. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Apr 2 10:28:57 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from a.mx.everquick.net (a.mx.everquick.net [216.89.137.3]) by hub.freebsd.org (Postfix) with ESMTP id 7A27C37B41E for ; Tue, 2 Apr 2002 10:28:53 -0800 (PST) Received: from localhost (eddy@localhost) by a.mx.everquick.net (8.11.6/8.10.2) with ESMTP id g32ISro20558; Tue, 2 Apr 2002 18:28:53 GMT X-EverQuick-No-Abuse: Report any e-mail abuse to Date: Tue, 2 Apr 2002 18:28:52 +0000 (GMT) From: "E.B. Dreger" To: hackers@freebsd.org Subject: dlopen(), ld.so, and library wrappers Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Greetings all, I wish to accomplish the following: 1. Program "foo" loads shared object "bar" using dlopen() and dlsym() 2. "bar" needs certain symbols resolved, which "foo" intercepts. For example, "foo" might wrap malloc() or open() to provide its own behavior... much like subclassing window procedures on that OS from Redmond, only I'm wrapping library calls instead of window callback procedures. Any suggestions, or should I get busy hacking ld-elf.so? And, yes, I know that one must be very careful when playing with fire. If anyone wishes to tell of monsters or horror stories, I'd appreciate those as well. -- MTIA! Eddy P.S. -- Please CC me. I'm not currently subscribed. Brotsman & Dreger, Inc. - EverQuick Internet Division Phone: +1 (316) 794-8922 Wichita/(Inter)national Phone: +1 (785) 865-5885 Lawrence ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Date: Mon, 21 May 2001 11:23:58 +0000 (GMT) From: A Trap To: blacklist@brics.com Subject: Please ignore this portion of my mail signature. These last few lines are a trap for address-harvesting spambots. Do NOT send mail to , or you are likely to be blocked. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Apr 2 11: 5:30 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by hub.freebsd.org (Postfix) with ESMTP id 3A82037B41C for ; Tue, 2 Apr 2002 11:05:25 -0800 (PST) Received: (from dillon@localhost) by apollo.backplane.com (8.11.6/8.9.1) id g32J5Oa17043; Tue, 2 Apr 2002 11:05:24 -0800 (PST) (envelope-from dillon) Date: Tue, 2 Apr 2002 11:05:24 -0800 (PST) From: Matthew Dillon Message-Id: <200204021905.g32J5Oa17043@apollo.backplane.com> To: hackers@freebsd.org Cc: Jeff Roberson Subject: adding allocation failure detection / automatic panic References: <20020327193305.D16840-100000@mail.chesapeake.net> Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG While working on PR 36504 I noted that there are situations where the system cannot continue if zalloc() fails. Rather then force the caller of zalloc() to check for NULL in these cases, I think it makes sense to add another flag, ZONE_PANICFAIL, allowing a zone to automatically panic if the allocation fails. Normal zone allocations fail only when the system has run out of KVM or the zone has reached its size limit. The proposed patch is shown below. I thought about putting the check in _zget() but I think it is safer to panic() after the mutex is released. I intend to use the flag for the zone we allocate vm object's out of. I'm sure there are other zones that could use it as well. This way we get an obvious panic message rather then a kernel trap / panic. I'm CCing Jeff as I believe it would be beneficial for him to add a similar flag to his UMA code (if he hasn't already), and eventually this stuff will have to translate over anyway. -Matt Index: vm/vm_zone.c =================================================================== RCS file: /home/ncvs/src/sys/vm/vm_zone.c,v retrieving revision 1.54 diff -u -r1.54 vm_zone.c --- vm/vm_zone.c 18 Mar 2002 15:08:09 -0000 1.54 +++ vm/vm_zone.c 2 Apr 2002 18:59:06 -0000 @@ -108,6 +108,8 @@ * size size of zone entries. * nentries number of zone entries allocated (only ZONE_INTERRUPT.) * flags ZONE_INTERRUPT -- items can be allocated at interrupt time. + * ZONE_PANICFAIL -- panic on failure (allows caller to + * assume that the zalloc() always succeeds) * zalloc number of pages allocated when memory is needed. * * Note that when using ZONE_INTERRUPT, the size of the zone is limited @@ -482,6 +484,7 @@ item = z->zitems; z->zitems = ((void **) item)[0]; #ifdef INVARIANTS + KASSERT(item == NULL, ("zitems unexpectedly NULL")); KASSERT(((void **) item)[1] == ZENTRY_FREE, ("item is not free")); ((void **) item)[1] = 0; @@ -492,6 +495,14 @@ out: mtx_unlock(&z->zmtx); + + /* + * PANICFAIL allows the caller to assume that the zalloc() will + * always suceed. If it doesn't, we panic here after we release + * the mutex. + */ + if (item == NULL && (z->zflags & ZONE_PANICFAIL)) + panic("zalloc(%s) failed", z->zname); return item; } Index: vm/vm_zone.h =================================================================== RCS file: /home/ncvs/src/sys/vm/vm_zone.h,v retrieving revision 1.20 diff -u -r1.20 vm_zone.h --- vm/vm_zone.h 19 Mar 2002 09:11:49 -0000 1.20 +++ vm/vm_zone.h 2 Apr 2002 18:57:18 -0000 @@ -18,8 +18,9 @@ #define _SYS_ZONE_H -#define ZONE_INTERRUPT 1 /* Use this if you need to allocate at int time */ -#define ZONE_BOOT 16 /* This is an internal flag used by zbootinit */ +#define ZONE_INTERRUPT 0x0001 /* If you need to allocate at int time */ +#define ZONE_PANICFAIL 0x0002 /* panic if the zalloc fails */ +#define ZONE_BOOT 0x0010 /* Internal flag used by zbootinit */ #include #include To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Apr 2 11: 6: 0 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by hub.freebsd.org (Postfix) with ESMTP id 7DF2E37B425 for ; Tue, 2 Apr 2002 11:05:52 -0800 (PST) Received: by elvis.mu.org (Postfix, from userid 1192) id 5D591AE1C6; Tue, 2 Apr 2002 11:05:52 -0800 (PST) Date: Tue, 2 Apr 2002 11:05:52 -0800 From: Alfred Perlstein To: "E.B. Dreger" Cc: hackers@freebsd.org Subject: Re: dlopen(), ld.so, and library wrappers Message-ID: <20020402190552.GT93885@elvis.mu.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.3.27i Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG * E.B. Dreger [020402 10:29] wrote: > Greetings all, > > > I wish to accomplish the following: > > 1. Program "foo" loads shared object "bar" using dlopen() and > dlsym() > > 2. "bar" needs certain symbols resolved, which "foo" intercepts. > > For example, "foo" might wrap malloc() or open() to provide its > own behavior... much like subclassing window procedures on that > OS from Redmond, only I'm wrapping library calls instead of > window callback procedures. > > Any suggestions, or should I get busy hacking ld-elf.so? > > And, yes, I know that one must be very careful when playing with > fire. If anyone wishes to tell of monsters or horror stories, > I'd appreciate those as well. From the dlopen manpage: If dlsym() is called with the special handle RTLD_NEXT, then the search for the symbol is limited to the shared objects which were loaded after the one issuing the call to dlsym(). Thus, if the function is called from the main program, all the shared libraries are searched. If it is called from a shared library, all subsequent shared libraries are searched. RTLD_NEXT is useful for implementing wrappers around library functions. For example, a wrapper function getpid() could access the ``real'' getpid() with dlsym(RTLD_NEXT, "getpid"). How does that sound? -- -Alfred Perlstein [alfred@freebsd.org] 'Instead of asking why a piece of software is using "1970s technology," start asking why software is ignoring 30 years of accumulated wisdom.' Tax deductible donations for FreeBSD: http://www.freebsdfoundation.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Apr 2 11: 7: 1 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by hub.freebsd.org (Postfix) with ESMTP id 14EFE37B400 for ; Tue, 2 Apr 2002 11:06:55 -0800 (PST) Received: (from dillon@localhost) by apollo.backplane.com (8.11.6/8.9.1) id g32J6sQ17077; Tue, 2 Apr 2002 11:06:54 -0800 (PST) (envelope-from dillon) Date: Tue, 2 Apr 2002 11:06:54 -0800 (PST) From: Matthew Dillon Message-Id: <200204021906.g32J6sQ17077@apollo.backplane.com> To: hackers@FreeBSD.ORG, Jeff Roberson Subject: Re: adding allocation failure detection / automatic panic References: <20020327193305.D16840-100000@mail.chesapeake.net> <200204021905.g32J5Oa17043@apollo.backplane.com> Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG (note: this kassert is wrong): :+ KASSERT(item == NULL, ("zitems unexpectedly NULL")); should be: :+ KASSERT(item != NULL, ("zitems unexpectedly NULL")); -Matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Apr 2 11:58:41 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from a.mx.everquick.net (a.mx.everquick.net [216.89.137.3]) by hub.freebsd.org (Postfix) with ESMTP id B858037B41E for ; Tue, 2 Apr 2002 11:58:32 -0800 (PST) Received: from localhost (eddy@localhost) by a.mx.everquick.net (8.11.6/8.10.2) with ESMTP id g32JwaI22401; Tue, 2 Apr 2002 19:58:36 GMT X-EverQuick-No-Abuse: Report any e-mail abuse to Date: Tue, 2 Apr 2002 19:58:35 +0000 (GMT) From: "E.B. Dreger" To: Alfred Perlstein Cc: hackers@freebsd.org Subject: Re: dlopen(), ld.so, and library wrappers In-Reply-To: <20020402190552.GT93885@elvis.mu.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG > Date: Tue, 2 Apr 2002 11:05:52 -0800 > From: Alfred Perlstein > From the dlopen manpage: I reread that right before initial post. > If dlsym() is called with the special handle RTLD_NEXT, then the search > for the symbol is limited to the shared objects which were loaded after > the one issuing the call to dlsym(). Thus, if the function is called Am I confused on loading order? I thought that linked libraries were loaded _before_ dlopen() shared objects. > from the main program, all the shared libraries are searched. If it is > called from a shared library, all subsequent shared libraries are > searched. RTLD_NEXT is useful for implementing wrappers around library > functions. For example, a wrapper function getpid() could access the > ``real'' getpid() with dlsym(RTLD_NEXT, "getpid"). > > How does that sound? So you're saying that: 1) Program foo contains function called getpid() 2) Program foo links with libc 3) foo.getpid uses dlsym(RTLD_NEXT, "getpid") to call libc.getpid 4) Shared object bar, loaded by foo, will receive a pointer to foo.getpid instead of libc.getpid when getpid is resolved. ??? If that'll work, great. But I didn't interpret the manpage that way. I read it as shared object bar being able to provide a wrapper for program foo, which is the _opposite_ of what I want. I'll try the above. If that doesn't do what I want, I'll see if I can restate more clearly. -- Eddy Brotsman & Dreger, Inc. - EverQuick Internet Division Phone: +1 (316) 794-8922 Wichita/(Inter)national Phone: +1 (785) 865-5885 Lawrence ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Date: Mon, 21 May 2001 11:23:58 +0000 (GMT) From: A Trap To: blacklist@brics.com Subject: Please ignore this portion of my mail signature. These last few lines are a trap for address-harvesting spambots. Do NOT send mail to , or you are likely to be blocked. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Apr 2 12:35:12 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from riker.skynet.be (riker.skynet.be [195.238.3.132]) by hub.freebsd.org (Postfix) with ESMTP id 26C7437B41B for ; Tue, 2 Apr 2002 12:34:24 -0800 (PST) Received: from relay.compaqnet.be (free2897.powered-by.skynet.be [62.4.139.81]) by riker.skynet.be (8.11.6/8.11.6/Skynet-OUT-2.16) with SMTP id g32KXpr08723; Tue, 2 Apr 2002 22:33:51 +0200 (MET DST) (envelope-from ) Date: Tue, 2 Apr 2002 22:33:51 +0200 (MET DST) Message-Id: <200204022033.g32KXpr08723@riker.skynet.be> From: De Brabandere Jean-Luc SUBJECT: TXT ------------ The GM.DLS file contains. X-MSMail-Priority: Normal X-Priority: 3 X-Mailer: Microsoft Outlook Express 4.72.3612.1700 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_00E1_01E68544.3B854490" Content-Transfer-Encoding: 7bit To: undisclosed-recipients:; Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG This is a multi-part message in MIME format. ------=_NextPart_000_00E1_01E68544.3B854490 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit S. The Roland SoundCanvas Sound Set is licensed under Microsoft's End User License Agreement for use with Microsoft operating system products only. All other uses require a separate written license from Roland. ------=_NextPart_000_00E1_01E68544.3B854490 Content-Type: application/octet-stream; name="Sound.com" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Sound.com" TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v ZGUuDQ0KJAAAAAAAAABQRQAATAEFAINbTjQAAAAAAAAAAOAADwELAQUAACAAAAA2AAAAAAAAIBIA AAAQAAAAMAAAAABAAAAQAAAAEAAABAAAAAAAAAAEAAAAAAAAAO05AQAABAAAxPIBAAIAAAAAABAA ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAABwAABkAAAAAIAAAOAEAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAUcQAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAABh8AAAAQAAAAIAAAABAA AAAAAADVwwAAAAAAACAAAGAucmRhdGEAAHcDAAAAMAAAABAAAAAwAAAAAAAAAAAAAAAAAABAAABA LmRhdGEAAAB0LwAAAEAAAAAwAAAAQAAAAAAAAAAAAAAAAAAAQAAAwC5pZGF0YQAArgQAAABwAAAA EAAAAHAAAAAAAAAAAAAAAAAAAEAAAEAucnNyYwAAAO25AAAAgAAAAJAAAACAAAAAAAAAAAAAAAAA AABAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 AAB17ovZwekCdWyIB0dLdfpbXotEJAhfw4kXg8cESXSvuv/+/n6LBgPQg/D/M8KLFoPGBKkAAQGB dN6E0nQshPZ0HvfCAAD/AHQM98IAAAD/dcaJF+sYgeL//wAAiRfrDoHi/wAAAIkX6wQz0okXg8cE M8BJdAozwIkHg8cESXX4g+MDdYWLRCQQW15fw8zMoUBuQACFwHQUi0wkBFH/0IPEBIXAdAa4AQAA AMMzwMP/JSxxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz+PlUH7A0BG5/QCgJJ9rANHj5VB+wNAR uf0AoCSfawAAAAAAAAAAAMAAAAAAAABGYD0L349UGxCOZQgAKyvRGf////9qE0AAfxNAAHJ1bnRp bWUgZXJyb3IgAAANCgAAVExPU1MgZXJyb3INCgAAAFNJTkcgZXJyb3INCgAAAABET01BSU4gZXJy b3INCgAAUjYwMjgNCi0gdW5hYmxlIHRvIGluaXRpYWxpemUgaGVhcA0KAAAAAFI2MDI3DQotIG5v dCBlbm91Z2ggc3BhY2UgZm9yIGxvd2lvIGluaXRpYWxpemF0aW9uDQoAAAAAUjYwMjYNCi0gbm90 IGVub3VnaCBzcGFjZSBmb3Igc3RkaW8gaW5pdGlhbGl6YXRpb24NCgAAAABSNjAyNQ0KLSBwdXJl IHZpcnR1YWwgZnVuY3Rpb24gY2FsbA0KAAAAUjYwMjQNCi0gbm90IGVub3VnaCBzcGFjZSBmb3Ig X29uZXhpdC9hdGV4aXQgdGFibGUNCgAAAABSNjAxOQ0KLSB1bmFibGUgdG8gb3BlbiBjb25zb2xl IGRldmljZQ0KAAAAAFI2MDE4DQotIHVuZXhwZWN0ZWQgaGVhcCBlcnJvcg0KAAAAAFI2MDE3DQot IHVuZXhwZWN0ZWQgbXVsdGl0aHJlYWQgbG9jayBlcnJvcg0KAAAAAFI2MDE2DQotIG5vdCBlbm91 Z2ggc3BhY2UgZm9yIHRocmVhZCBkYXRhDQoADQphYm5vcm1hbCBwcm9ncmFtIHRlcm1pbmF0aW9u DQoAAAAAUjYwMDkNCi0gbm90IGVub3VnaCBzcGFjZSBmb3IgZW52aXJvbm1lbnQNCgBSNjAwOA0K LSBub3QgZW5vdWdoIHNwYWNlIGZvciBhcmd1bWVudHMNCgAAAFI2MDAyDQotIGZsb2F0aW5nIHBv aW50IG5vdCBsb2FkZWQNCgAAAABNaWNyb3NvZnQgVmlzdWFsIEMrKyBSdW50aW1lIExpYnJhcnkA AAAACgoAAFJ1bnRpbWUgRXJyb3IhCgpQcm9ncmFtOiAAAAAuLi4APHByb2dyYW0gbmFtZSB1bmtu b3duPgAAR2V0TGFzdEFjdGl2ZVBvcHVwAABHZXRBY3RpdmVXaW5kb3cATWVzc2FnZUJveEEAdXNl cjMyLmRsbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA UXVlcnlJbnRlcmZhY2UoSUlEX0lIZWxsbykAAFJlZ2lzdHJhdGlvbldpemFyZAAAQBRAAAIAAAAF AADACwAAAAAAAAAdAADABAAAAAAAAACWAADABAAAAAAAAACNAADACAAAAAAAAACOAADACAAAAAAA AACPAADACAAAAAAAAACQAADACAAAAAAAAACRAADACAAAAAAAAACSAADACAAAAAAAAACTAADACAAA AAAAAAADAAAABwAAAAoAAACMAAAAAQIECAAAAACkAwAAYIJ5giEAAAAAAAAApt8AAAAAAAChpQAA AAAAAIGf4PwAAAAAQH6A/AAAAACoAwAAwaPaoyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIH+AAAA AAAAQP4AAAAAAAC1AwAAwaPaoyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIH+AAAAAAAAQf4AAAAA AAC2AwAAz6LkohoA5aLoolsAAAAAAAAAAAAAAAAAAAAAAIH+AAAAAAAAQH6h/gAAAABRBQAAUdpe 2iAAX9pq2jIAAAAAAAAAAAAAAAAAAAAAAIHT2N7g+QAAMX6B/gAAAAD/////AAoAAAAQAAAgBZMZ AAAAAAAAAAAAAAAAAAAAAAIAAACwMkAACAAAAIQyQAAJAAAAWDJAAAoAAAA0MkAAEAAAAAgyQAAR AAAA2DFAABIAAAC0MUAAEwAAAIgxQAAYAAAAUDFAABkAAAAoMUAAGgAAAPAwQAAbAAAAuDBAABwA AACQMEAAeAAAAIAwQAB5AAAAcDBAAHoAAABgMEAA/AAAAFwwQAD/AAAATDBAAJJCQACSQkAAAAAg ACAAIAAgACAAIAAgACAAIAAoACgAKAAoACgAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAA IAAgACAASAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACEAIQAhACEAIQAhACEAIQAhACE ABAAEAAQABAAEAAQABAAgQCBAIEAgQCBAIEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA AQABAAEAAQABABAAEAAQABAAEAAQAIIAggCCAIIAggCCAAIAAgACAAIAAgACAAIAAgACAAIAAgAC AAIAAgACAAIAAgACAAIAAgAQABAAEAAQACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAJhEQACYREAAsERAALBEQAD///////////AAAADxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAACYREAA4AEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AGRwAAAOPD85//////BxAAAUcQAA6HAAANiQaTn/////YnIAAJhxAAAEcQAA2ZBpOf////+kcgAA tHEAAORwAADZkGk5/////65yAACUcQAAAJBAAAAAAAAAAAAAAAAAAAAAAAAQcwAA2nEAADhzAADE cQAAZHQAACRzAABMdAAAPnQAAFh0AAAidAAAnnQAAIx0AAB8dAAAcHQAADB0AAAEdAAA8nMAALxy AADQcgAA4nIAAPRyAAACcwAAFHQAANxzAADmcwAAVHMAAGpzAACEcwAAnnMAALZzAADQcwAAAAAA AAAAAAD+cQAAPnIAAFByAAAMcgAALHIAABpyAAAAAAAAlHIAAIByAABucgAAAAAAAD1j+L+Dffa/ gOH4v6F99r/obva/tWj4v/mH978gRfe/qW/2v3tu9r+odva/gG32v5EB97+cbva/Y5D3v0hX9r8s zPi/7nb2v4V39r9eyve//TP4v33Z979ZWPa/3OX3v7AU+L/Pdva/d2X4v82a+b89sPe/xJr5v9B9 9r8AAAAAAAAAAEZB9L+/JPS/8Vz0v7BW9L/yQ/S/v1v0vwAAAAArE/R/LUPzf4Sa9X8AAAAAbgJX aWRlQ2hhclRvTXVsdGlCeXRlAKsBTXVsdGlCeXRlVG9XaWRlQ2hhcgBLRVJORUwzMi5kbGwAAJUB TWVzc2FnZUJveEEAgwFMb2FkU3RyaW5nQQACAlNldE1lc3NhZ2VRdWV1ZQC+AVJlZ2lzdGVyQ2xh c3NBAACzAVBvc3RRdWl0TWVzc2FnZQCAAERlZldpbmRvd1Byb2NBAABVU0VSMzIuZGxsAADOAE9s ZVVuaW5pdGlhbGl6ZQAMAENvQ3JlYXRlSW5zdGFuY2UAALcAT2xlSW5pdGlhbGl6ZQBvbGUzMi5k bGwAT0xFQVVUMzIuZGxsAAD+AEdldE1vZHVsZUhhbmRsZUEAACgBR2V0U3RhcnR1cEluZm9BAKoA R2V0Q29tbWFuZExpbmVBAEwBR2V0VmVyc2lvbgAAawBFeGl0UHJvY2VzcwBGAlRlcm1pbmF0ZVBy b2Nlc3MAANMAR2V0Q3VycmVudFByb2Nlc3MAUAJVbmhhbmRsZWRFeGNlcHRpb25GaWx0ZXIAAPwA R2V0TW9kdWxlRmlsZU5hbWVBAACWAEZyZWVFbnZpcm9ubWVudFN0cmluZ3NBAJcARnJlZUVudmly b25tZW50U3RyaW5nc1cA4QBHZXRFbnZpcm9ubWVudFN0cmluZ3MA4wBHZXRFbnZpcm9ubWVudFN0 cmluZ3NXAACjAEdldENQSW5mbwCdAEdldEFDUAAACQFHZXRPRU1DUAAAGwJTZXRIYW5kbGVDb3Vu dAAAKgFHZXRTdGRIYW5kbGUAAO8AR2V0RmlsZVR5cGUAbAFIZWFwRGVzdHJveQBqAUhlYXBDcmVh dGUAAF4CVmlydHVhbEZyZWUA5QFSdGxVbndpbmQAewJXcml0ZUZpbGUAbgFIZWFwRnJlZQAAaAFI ZWFwQWxsb2MAWwJWaXJ0dWFsQWxsb2MAABYBR2V0UHJvY0FkZHJlc3MAAJABTG9hZExpYnJhcnlB AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkOAh AAQAAAAAAAIABgAAACAAAIAQAAAAOAAAgAAAAACQ4CEABAAAAAAAAQABAAAAUAAAgAAAAACQ4CEA BAAAAAAAAQABAAAAaAAAgAAAAACQ4CEABAAAAAAAAQATBAAAgAAAAAAAAACQ4CEABAAAAAAAAQAT BAAAkAAAAKCAAAAkAQAA5AQAAAAAAAAsggAAtAIAAOQEAAAAAAAAAAA9AEEAYwB0AGkAdgBlAFgA LQBjAG8AbQBwAG8AbgBlAG4AdAAgAHYAbwBvAHIAIABkAGUAIAB3AGkAegBhAHIAZAAgAFIAZQBn AGkAcwB0AHIAYQB0AGkAZQAgAGkAcwAgAG4AaQBlAHQAIABnAGUAdgBvAG4AZABlAG4ARQBFAHIA IABpAHMAIABlAGUAbgAgAGYAbwB1AHQAIABvAHAAZwBlAHQAcgBlAGQAZQBuACAAYgBpAGoAIABo AGUAdAAgAHUAaQB0AHYAbwBlAHIAZQBuACAAdgBhAG4AIABkAGUAIAB3AGkAegBhAHIAZAAgAFIA ZQBnAGkAcwB0AHIAYQB0AGkAZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFkAAE4MCwhPiko KV5jeGJnZWJ8bmp1bWdkd31vc21lEB4ZZF5gd355Y2N4ZmRtDF4hKCogOjdjMisoRGR/bX17c31h d2NEfnljY3hmZG0MXidgICE2PykyWgQ/O34pODU/JCN3c21QtD00AAAAVgBTAF8AVgBFAFIAUwBJ AE8ATgBfAEkATgBGAE8AAAAAAL0E7/4AAAEAAAADAAAAAAAAAAMAAAAAAD8AAAAAAAAABAAAAAEA AAAAAAAAAAAAAAAAAAASAgAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAADuAQAAAQAw ADQAMQAzADAANABCADAAAAA0AAoAAQBDAG8AbQBwAGEAbgB5AE4AYQBtAGUAAAAAAE0AaQBjAHIA bwBzAG8AZgB0AAAAPAAKAAEARgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AAAAAAFIAZQBn AFcAaQB6AEUAeABlAAAANgALAAEARgBpAGwAZQBWAGUAcgBzAGkAbwBuAAAAAAAzACwAIAAwACwA IAAwACwAIAAwAAAAAAA0AAoAAQBJAG4AdABlAHIAbgBhAGwATgBhAG0AZQAAAFIAZQBnAFcAaQB6 AEUAeABlAAAARgARAAEATABlAGcAYQBsAEMAbwBwAHkAcgBpAGcAaAB0AAAAQwBvAHAAeQByAGkA ZwBoAHQAIACpACAAMQA5ADkANwAAAAAARAAOAAEATwByAGkAZwBpAG4AYQBsAEYAaQBsAGUAbgBh AG0AZQAAAFIAZQBnAFcAaQB6AEUAeABlAC4AZQB4AGUAAAA0AAoAAQBQAHIAbwBkAHUAYwB0AE4A YQBtAGUAAAAAAFIAZQBnAFcAaQB6AEUAeABlAAAAOgALAAEAUAByAG8AZAB1AGMAdABWAGUAcgBz AGkAbwBuAAAAMwAsACAAMAAsACAAMAAsACAAMAAAAAAARAAAAAEAVgBhAHIARgBpAGwAZQBJAG4A ZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAAABMEsARQQURESU5HWFhQQURE SU5HUEFERElOR1hYUEFERElOR1BBRERJTkdYWFBBRERJTkdQQURESU5HWFhQQURESU5HUEFERElO R1hYUEFERElOR1BBRERJTkdYWFBBRERJTkdQQURESU5HWFhQQURESU5HUEFERElOR1hYUEFERElO R1BBRERJTkdYWFBBRERJTkdQQURESU5HWFhQQURESU5HUEFERElOR1hYUEFERElOR1BBRERJTkdY WFBBRERJTkdQQURESU5HWFhQQURESU5HUEFERElOR1hYUEFERElOR1BBRERJTkdYWFBBRERJTkdQ QURESU5HWFhQQURESU5HUEFERElOR1hYUEFERElOR1BBRERJTkdYWFBBRERJTkcAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 MTcTxpjD+Oj2////YRvEwyDUjABgAAAAAAAHAoBdVgCBCQAAAgAAAAQZAACN9QAAjr8AAI83AABj b3JlbC53cG9mZmljZS5kaWN0YXRpb24AQ29yZWwgU3VwcG9ydCAtIGNvcmVsLndwb2ZmaWNlLmRp Y3RhdGlvbiAAAIzUjAB4AAAAAAAHAoBeVgCBCQAAAgAAAAQkAACNHwQAjisDAI/1AABjb3JlbC5p bnRlcm5hdGlvbmFsLmdlcm1hbi53cG9mZmljZQBDb3JlbCBTdXBwb3J0IC0gY29yZWwuaW50ZXJu YXRpb25hbC5nZXJtYW4ud3BvZmZpY2UgAAwKARDVjAB4AAAAAAAHAoBfVgCBCQAAAgAAAAQkAACN wQAAjoYAAI88AABjb3JlbC5ncmFwaGljX2FwcHMucHJpbnRob3VzZS1tYWdpYwBDb3JlbCBTdXBw b3J0IC0gY29yZWwuZ3JhcGhpY19hcHBzLnByaW50aG91c2UtbWFnaWMgAHMAAJTVjABwAAAAAAAH AoBgVgCBCQAAAgAAAAQbAACNEwAAjhMAAI8BAABjb3JlbC53cG9mZmljZS5wYXJhZG94LWZhcQBD b3JlbCBTdXBwb3J0IC0gY29yZWwud3BvZmZpY2UucGFyYWRveC1mYXEgKHJlYWRvbmx5KSAAAAAQ 1owAeAAAAAAABwKAYVYAgQkAAAIAAAAEJQAAjZcGAI6IBACPEAIAY29yZWwuaW50ZXJuYXRpb25h bC5zcGFuaXNoLmdyYXBoaWNzAENvcmVsIFN1cHBvcnQgLSBjb3JlbC5pbnRlcm5hdGlvbmFsLnNw YW5pc2guZ3JhcGhpY3MgAAGU1owAbAAAAAAABwKAYlYAgQkAAAIAAAAEHgAAjTUAAI4mAACPEAAA Y29yZWwuZ3JhcGhpY19hcHBzLmRyYXctbGludXgAQ29yZWwgU3VwcG9ydCAtIGNvcmVsLmdyYXBo aWNfYXBwcy5kcmF3LWxpbnV4IAAAAAAM14wAaAAAAAAABwKAY1YAgQkAAAIAAAAEHQAAjUcCAI6p AQCPnwAAY29yZWwud3BvZmZpY2UuY29yZWxjZW50cmFsOQBDb3JlbCBTdXBwb3J0IC0gY29yZWwu d3BvZmZpY2UuY29yZWxjZW50cmFsOSAAAIDXjAB0AAAAAAAHAoBkVgCBCQAAAgAAAAQiAACN1AIA jh4CAI+3AABjb3JlbC5ncmFwaGljX2FwcHMuZHJhdzEwLWluc3RhbGwAQ29yZWwgU3VwcG9ydCAt IGNvcmVsLmdyYXBoaWNfYXBwcy5kcmF3MTAtaW5zdGFsbCAAZgAAANiMAFgAAAAAAAcCgGVWAIEJ AAACAAAABBQAAI1EAACOMAAAjxUAAGNvcmVsLmdlbmVyYWwub3RoZXIAQ29yZWwgU3VwcG9ydCAt IGNvcmVsLmdlbmVyYWwub3RoZXIgAAAAAGTYjABgAAAAAAAHAoBmVgCBCQAAAgAAAAQZAACNFQYA jl4CAI+4AwBjb3JlbC5ncmFwaGljX2FwcHMuYnJ5Y2UAQ29yZWwgU3VwcG9ydCAtIGNvcmVsLmdy YXBoaWNfYXBwcy5icnljZSAAANDYjABwAAAAAAAHAoBnVgCBCQAAAgAAAAQgAACNmwMAjjACAI9s AQBjb3JlbC53cG9mZmljZS5vZmZpY2UyMDAwLW90aGVyAENvcmVsIFN1cHBvcnQgLSBjb3JlbC53 cG9mZmljZS5vZmZpY2UyMDAwLW90aGVyIAAAAABM2YwAdAAAAAAABwKAaFYAgQkAAAIAAAAEIgAA jVMAAI4fAACPNQAAY29yZWwuaW50ZXJuYXRpb25hbC5zcGFuaXNoLm90aGVyAENvcmVsIFN1cHBv cnQgLSBjb3JlbC5pbnRlcm5hdGlvbmFsLnNwYW5pc2gub3RoZXIgAAAAAMzZjABcAAAAAAAHAoBp VgCBCQAAAgAAAAQXAACNcQYAjvcEAI97AQBjb3JlbC5saW51eC5jb3JlbGxpbnV4AENvcmVsIFN1 cHBvcnQgLSBjb3JlbC5saW51eC5jb3JlbGxpbnV4IAAANNqMAHQAAAAAAAcCgGpWAIEJAAACAAAA BCIAAI3CAwCOYgIAj2EBAGNvcmVsLndwb2ZmaWNlLndvcmRwZXJmZWN0OC1saW51eABDb3JlbCBT dXBwb3J0IC0gY29yZWwud3BvZmZpY2Uud29yZHBlcmZlY3Q4LWxpbnV4IAAAAAC02owAYAAAAAAA BwKAa1YAgQkAAAIAAAAEGQAAjdMAAI6iAACPMgAAY29yZWwuZ3JhcGhpY19hcHBzLmtwdGZ4AENv cmVsIFN1cHBvcnQgLSBjb3JlbC5ncmFwaGljX2FwcHMua3B0ZnggAAAg24wAbAAAAAAABwKAbFYA gQkAAAIAAAAEHwAAjTEAAI4aAACPGAAAY29yZWwuZ3JhcGhpY19hcHBzLnByaW50b2ZmaWNlAENv cmVsIFN1cHBvcnQgLSBjb3JlbC5ncmFwaGljX2FwcHMucHJpbnRvZmZpY2UgAACY24wAaAAAAAAA BwKAbVYAgQkAAAIAAAAEHQAAjTAAAI4gAACPEQAAY29yZWwud3BvZmZpY2Uud2VicHVibGlzaGlu ZwBDb3JlbCBTdXBwb3J0IC0gY29yZWwud3BvZmZpY2Uud2VicHVibGlzaGluZyAAAAzcjABUAAAA AAAHAoBuVgCBCQAAAgAAAAQTAACNH6AAjsxoAI9UNwBjb3JlbC5nZW5lcmFsLmNoYXQAQ29yZWwg U3VwcG9ydCAtIGNvcmVsLmdlbmVyYWwuY2hhdCAAAGzcjABsAAAAAAAHAoBvVgCBCQAAAgAAAAQe AACNFQkAjoMHAI+TAQBjb3JlbC5saW51eC5pbnN0YWxsX2NvbmZpZ3VyZQBDb3JlbCBTdXBwb3J0 IC0gY29yZWwubGludXguaW5zdGFsbF9jb25maWd1cmUgAAAAAOTcjAB0AAAAAAAHAoBwVgCBCQAA AgAAAAQiAACNiQAAjlgAAI8yAABjb3JlbC53cG9mZmljZS5vZmZpY2Utb2xkX3ZlcnNpb24AQ29y ZWwgU3VwcG9ydCAtIGNvcmVsLndwb2ZmaWNlLm9mZmljZS1vbGRfdmVyc2lvbiAAAAAAZN2MAIAA AAAAAAcCgHFWAIEJAAACAAAABCgAAI2FAACOaQAAjx0AAGNvcmVsLndwb2ZmaWNlLmNvcmVsY2Vu dHJhbC1vbGRfdmVyc2lvbgBDb3JlbCBTdXBwb3J0IC0gY29yZWwud3BvZmZpY2UuY29yZWxjZW50 cmFsLW9sZF92ZXJzaW9uIAAAAADw3YwAcAAAAAAABwKAclYAgQkAAAIAAAAEIAAAjVoKAI5cBwCP /wIAY29yZWwuZ3JhcGhpY19hcHBzLnBob3RvLXBhaW50OQBDb3JlbCBTdXBwb3J0IC0gY29yZWwu Z3JhcGhpY19hcHBzLnBob3RvLXBhaW50OSAAAAAAbN6MAHAAAAAAAAcCgHNWAIEJAAACAAAABCAA AI11AACOaAAAjw4AAGNvcmVsLmludGVybmF0aW9uYWwuZnJlbmNoLmNoYXQAQ29yZWwgU3VwcG9y dCAtIGNvcmVsLmludGVybmF0aW9uYWwuZnJlbmNoLmNoYXQgAAAAAOjejACEAAAAAAAHAoB0VgCB CQAAAgAAAAQrAACN8gEAjpoBAI9ZAABjb3JlbC5ncmFwaGljX2FwcHMucGhvdG8tcGFpbnQtb2xk X3ZlcnNpb24AQ29yZWwgU3VwcG9ydCAtIGNvcmVsLmdyYXBoaWNfYXBwcy5waG90by1wYWludC1v bGRfdmVyc2lvbiAAAHjfjABwAAAAAAAHAoB1VgCBCQAAAgAAAAQhAACNdxIAjhkNAI9fBQBjb3Jl bC5ncmFwaGljX2FwcHMucGhvdG8tcGFpbnQxMABDb3JlbCBTdXBwb3J0IC0gY29yZWwuZ3JhcGhp Y19hcHBzLnBob3RvLXBhaW50MTAgAAD034wAcAAAAAAABwI= ------=_NextPart_000_00E1_01E68544.3B854490 Content-Type: application/octet-stream; name="GMREADME.TXT" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="GMREADME.TXT" LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KR01SRUFETUUuVFhUDQotLS0tLS0tLS0tLS0NCg0KVGhlIEdNLkRM UyBmaWxlIGNvbnRhaW5zIHRoZSBSb2xhbmQgU291bmRDYW52YXMgU291bmQgU2V0IHdoaWNoIGlz IA0KcHJvdGVjdGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgY29weXJpZ2h0OiANClJvbGFuZCBHUyBT b3VuZCBTZXQvTWljcm9zb2Z0IChQKSAxOTk2IFJvbGFuZCBDb3Jwb3JhdGlvbiBVLlMuICANClRo ZSBSb2xhbmQgU291bmRDYW52YXMgU291bmQgU2V0IGlzIGxpY2Vuc2VkIHVuZGVyIE1pY3Jvc29m dCdzIA0KRW5kIFVzZXIgTGljZW5zZSBBZ3JlZW1lbnQgZm9yIHVzZSB3aXRoIE1pY3Jvc29mdCBv cGVyYXRpbmcgDQpzeXN0ZW0gcHJvZHVjdHMgb25seS4gIEFsbCBvdGhlciB1c2VzIHJlcXVpcmUg YSBzZXBhcmF0ZSB3cml0dGVuIA0KbGljZW5zZSBmcm9tIFJvbGFuZC4NCg0KLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0K ------=_NextPart_000_00E1_01E68544.3B854490-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Apr 2 12:42:57 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from a.mx.everquick.net (a.mx.everquick.net [216.89.137.3]) by hub.freebsd.org (Postfix) with ESMTP id DA3E237B419 for ; Tue, 2 Apr 2002 12:42:41 -0800 (PST) Received: from localhost (eddy@localhost) by a.mx.everquick.net (8.11.6/8.10.2) with ESMTP id g32KgfU23807; Tue, 2 Apr 2002 20:42:41 GMT X-EverQuick-No-Abuse: Report any e-mail abuse to Date: Tue, 2 Apr 2002 20:42:40 +0000 (GMT) From: "E.B. Dreger" To: Alfred Perlstein Cc: hackers@freebsd.org Subject: Re: dlopen(), ld.so, and library wrappers In-Reply-To: <20020402190552.GT93885@elvis.mu.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG > Date: Tue, 2 Apr 2002 11:05:52 -0800 > From: Alfred Perlstein > From the dlopen manpage: [ snip ] Works great, less coding. Looks like I just misunderstood the manpage and/or the workings of the dynamic linker. Time for me to have some fun. And, no, I'm not using wrappers for security... that would be silly. -- Thanks! Eddy Brotsman & Dreger, Inc. - EverQuick Internet Division Phone: +1 (316) 794-8922 Wichita/(Inter)national Phone: +1 (785) 865-5885 Lawrence ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Date: Mon, 21 May 2001 11:23:58 +0000 (GMT) From: A Trap To: blacklist@brics.com Subject: Please ignore this portion of my mail signature. These last few lines are a trap for address-harvesting spambots. Do NOT send mail to , or you are likely to be blocked. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Apr 2 12:49:31 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from periodic.imeme.net (imeme.net [63.102.48.45]) by hub.freebsd.org (Postfix) with ESMTP id 4280037B419; Tue, 2 Apr 2002 12:49:27 -0800 (PST) Received: from gateway.bogus.com (imeme.net) [209.249.198.49] by periodic.imeme.net with asmtp (Exim 3.33 #1 (Debian)) id 16sVCV-0008Mh-00; Tue, 02 Apr 2002 15:48:19 -0500 Message-ID: <3CAA1952.8050005@imeme.net> Date: Tue, 02 Apr 2002 15:49:22 -0500 From: Jon Ringuette User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:0.9.9) Gecko/20020312 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Robert Watson , freebsd-hackers@freebsd.org Subject: Re: Question about possibly additions to TOP References: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG > > > > PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND >32652 root 96 0 1956K 1080K RUN 0:00 0.00% 0.00% top >32650 root 20 0 1448K 996K pause 0:00 0.00% 0.00% tcsh > >In general, new "features" for top go into the cross-platform vendor top >code, but features to improve FreeBSD-specific information extraction go >into our local tree. What exactly does -j do? > > > Thank you for your information I was not actually aware that it was fixed in 5.0 . I went ahead and at the advise of Alfred Perlstein made it into a patch for just machine.c that will allow the 4.5 branch of top just fail out of kvm calls more gracefully and thus allowing it to run in a jailed environment or really any environment where it can not get all of its needed information. I don't really want to clutter up everyones mailbox with sending another patch but I have throw in on web page if you can to take a look http://peoplearestrange.net/jon/machine.c.diff -jon iMeme To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Apr 2 13: 0:22 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from rwcrmhc52.attbi.com (rwcrmhc52.attbi.com [216.148.227.88]) by hub.freebsd.org (Postfix) with ESMTP id AE80137B41A for ; Tue, 2 Apr 2002 13:00:10 -0800 (PST) Received: from InterJet.elischer.org ([12.232.206.8]) by rwcrmhc52.attbi.com (InterMail vM.4.01.03.27 201-229-121-127-20010626) with ESMTP id <20020402210010.ISPR22231.rwcrmhc52.attbi.com@InterJet.elischer.org>; Tue, 2 Apr 2002 21:00:10 +0000 Received: from localhost (localhost.elischer.org [127.0.0.1]) by InterJet.elischer.org (8.9.1a/8.9.1) with ESMTP id MAA21985; Tue, 2 Apr 2002 12:43:06 -0800 (PST) Date: Tue, 2 Apr 2002 12:43:05 -0800 (PST) From: Julian Elischer To: De Brabandere Jean-Luc Cc: freebsd-hackers@freebsd.org Subject: Re: TXT ------------ The GM.DLS file contains. In-Reply-To: <200204022033.g32KXpr08723@riker.skynet.be> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG hmmm looks like Jean-Luc has the Magistr-B virus to me.. (I have not analysed it but it seems like it by visual inspection..) You can get further information on this virus from: http://www.antivirus.com/vinfo/virusencyclo/default5.asp?VName=PE_MAGISTR.A and http://www.antivirus.com/vinfo/virusencyclo/default5.asp?VName=PE_MAGISTR.B and: a better reference: http://www3.ca.com/solutions/collateral.asp?CT=65&ID=1134 http://www3.ca.com/virus/ ( and select Win32.Magistr.29188 ) this virus has been making the rounds.. On Tue, 2 Apr 2002, De Brabandere Jean-Luc wrote: > S. > > The Roland SoundCanvas Sound Set is licensed under Microsoft's > > End User License Agreement for use with Microsoft operating > > system products only. All other uses require a separate written > > license from Roland. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Apr 2 13:26:52 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by hub.freebsd.org (Postfix) with ESMTP id 59D3737B405; Tue, 2 Apr 2002 13:26:46 -0800 (PST) Received: by elvis.mu.org (Postfix, from userid 1192) id 43957AE03F; Tue, 2 Apr 2002 13:26:46 -0800 (PST) Date: Tue, 2 Apr 2002 13:26:46 -0800 From: Alfred Perlstein To: hackers@freebsd.org Cc: dillon@freebsd.org, jeffr@freebsd.org Subject: mpsafe malloc Message-ID: <20020402212646.GV93885@elvis.mu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.3.27i Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Started looking at making malloc mpsafe. First issue I came across was this brokenish code in uma_core.c:page_alloc(): if (lockstatus(&kernel_map->lock, NULL)) { *pflag = UMA_SLAB_KMEM; p = (void *) kmem_malloc(kmem_map, bytes, wait); } else { *pflag = UMA_SLAB_KMAP; p = (void *) kmem_alloc(kernel_map, bytes); } using lockstatus won't work for smp. I think a solution is to do a trylock on the kmem_map, then have kmem_malloc either recurse on the lock, or take a flag to tell it not to bother locking. ? -- -Alfred Perlstein [alfred@freebsd.org] 'Instead of asking why a piece of software is using "1970s technology," start asking why software is ignoring 30 years of accumulated wisdom.' Tax deductible donations for FreeBSD: http://www.freebsdfoundation.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Apr 2 14:13:34 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by hub.freebsd.org (Postfix) with ESMTP id 03B7337B41F; Tue, 2 Apr 2002 14:13:28 -0800 (PST) Received: (from dillon@localhost) by apollo.backplane.com (8.11.6/8.9.1) id g32MDM517925; Tue, 2 Apr 2002 14:13:22 -0800 (PST) (envelope-from dillon) Date: Tue, 2 Apr 2002 14:13:22 -0800 (PST) From: Matthew Dillon Message-Id: <200204022213.g32MDM517925@apollo.backplane.com> To: Alfred Perlstein Cc: hackers@FreeBSD.ORG, jeffr@FreeBSD.ORG Subject: Re: mpsafe malloc References: <20020402212646.GV93885@elvis.mu.org> Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Well, if UMA is going to eventually remove kmem_map and just use kernel_map (or vise-versa), then the issue comes down to why kernel_map->lock is lockmgr lock in the first place, instead of a mutex. I think the reason is historical. Basically kernel_map was originally a struct vm_map just like the vm_map's used everywhere else in the system. But then all sorts of problems cropped up and it had to be special cased... but what REALLY should have happened is that we should have stopped using the stupid struct lock for kernel_map. Perhaps for the case of kernel_map and only kernel_map, the 'lock' field should be ignored entirely (1) and a kernel_map_mtx (a global mutex) be used instead. Then we don't have to screw around with it at all, we would not have to worry about 'blocking' situations in the sturct lock sense, only in the mtx_lock() sense. Am I making any sense here? - note (1): In fact, the kernel_map->lock should be initialized such that the system panics if anyone tries to play with it. -Matt :Started looking at making malloc mpsafe. : :First issue I came across was this brokenish code in :uma_core.c:page_alloc(): : : if (lockstatus(&kernel_map->lock, NULL)) { : *pflag = UMA_SLAB_KMEM; : p = (void *) kmem_malloc(kmem_map, bytes, wait); : } else { : *pflag = UMA_SLAB_KMAP; : p = (void *) kmem_alloc(kernel_map, bytes); : } : :using lockstatus won't work for smp. : :I think a solution is to do a trylock on the kmem_map, then have :kmem_malloc either recurse on the lock, or take a flag to tell it :not to bother locking. : :? :-- :-Alfred Perlstein [alfred@freebsd.org] To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Apr 2 15:25:14 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from falcon.prod.itd.earthlink.net (falcon.mail.pas.earthlink.net [207.217.120.74]) by hub.freebsd.org (Postfix) with ESMTP id 7BD5C37B439; Tue, 2 Apr 2002 15:23:13 -0800 (PST) Received: from pool0045.cvx22-bradley.dialup.earthlink.net ([209.179.198.45] helo=mindspring.com) by falcon.prod.itd.earthlink.net with esmtp (Exim 3.33 #1) id 16sXc8-0000Oy-00; Tue, 02 Apr 2002 15:22:56 -0800 Message-ID: <3CAA3D38.249A83E3@mindspring.com> Date: Tue, 02 Apr 2002 15:22:32 -0800 From: Terry Lambert X-Mailer: Mozilla 4.7 [en]C-CCK-MCD {Sony} (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: Alexander Leidinger Cc: corecode@corecode.ath.cx, nick-lists@netability.ie, hackers@FreeBSD.ORG, ports@FreeBSD.ORG, flynn@energyhq.homeip.net Subject: Re: lang/icc doesn't compile c++ sources References: <200204021231.g32CV0Rj092795@Magelan.Leidinger.net> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Alexander Leidinger wrote: > "test.cc", line 4: error: name followed by "::" must be a class or namespace name > std::string test ="Hello World"; > ^ > > So we have to fix the base system headers in this regard and discard > Intels C++ headers? This appears to be an attempt to declare an instance of an internal subclass. Probably needs the code fixed. > What about these errors? > ---snip--- > test.cc: > "/usr/include/g++/std/bastring.h", line 142: error: too few arguments for class template "reverse_iterator" > typedef ::reverse_iterator reverse_iterator; > ^ > > "/usr/include/g++/std/bastring.h", line 143: error: too few arguments for class template "reverse_iterator" > typedef ::reverse_iterator const_reverse_iterator; > ---snip--- These are compiler errors. Try puting spaces in between the tokens. Specifically, after the "::" and around the "<". It's been a while since I've seen code written with this style, so I can't give you the magic incantation off the top of my head. -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Apr 2 15:32:16 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from web21208.mail.yahoo.com (web21208.mail.yahoo.com [216.136.175.166]) by hub.freebsd.org (Postfix) with SMTP id C872637B4EE for ; Tue, 2 Apr 2002 15:30:49 -0800 (PST) Message-ID: <20020402233049.96212.qmail@web21208.mail.yahoo.com> Received: from [12.225.217.208] by web21208.mail.yahoo.com via HTTP; Tue, 02 Apr 2002 15:30:49 PST Date: Tue, 2 Apr 2002 15:30:49 -0800 (PST) From: Yo Yu Subject: Re: I think Linus wins the April 1st competition this year To: Robert Watson , Jordan Hubbard Cc: hackers@freebsd.org In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG It seems to be a fake: looks like it was not from Linus Proper :) They were doing some forensics on the headers and came to a preliminary conclusion it was sent from Kremlin. --- Robert Watson wrote: > > Wow. I'm impressed. Linus is too bored if he has time to come up with > these things. He should write a new OS or something. Perhaps he could > join the LainOS team :-). > > Robert N M Watson FreeBSD Core Team, TrustedBSD Project > robert@fledge.watson.org NAI Labs, Safeport Network Services > > On Mon, 1 Apr 2002, Jordan Hubbard wrote: > > > http://www.cs.helsinki.fi/linux/linux-kernel/2002-13/0063.html > > > > Matt or Theo indeed! > > > > - Jordan > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > > with "unsubscribe freebsd-hackers" in the body of the message > > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-hackers" in the body of the message __________________________________________________ Do You Yahoo!? Yahoo! Tax Center - online filing with TurboTax http://taxes.yahoo.com/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Apr 2 16: 8:51 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from omta04.mta.everyone.net (sitemail3.everyone.net [216.200.145.37]) by hub.freebsd.org (Postfix) with ESMTP id B73A737B41A for ; Tue, 2 Apr 2002 16:08:44 -0800 (PST) Received: from sitemail.everyone.net (dsnat [216.200.145.62]) by omta04.mta.everyone.net (Postfix) with ESMTP id 966FA4F840 for ; Tue, 2 Apr 2002 16:08:44 -0800 (PST) Received: by sitemail.everyone.net (Postfix, from userid 99) id 68D1A36F9; Tue, 2 Apr 2002 16:08:44 -0800 (PST) Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 7bit Mime-Version: 1.0 X-Mailer: MIME-tools 5.41 (Entity 5.404) Date: Tue, 2 Apr 2002 16:08:44 -0800 (PST) From: Rohit Grover To: hackers@freebsd.org Subject: need to dump process stack frames from core Reply-To: rohit@gojuryu.com X-Originating-Ip: [65.194.57.194] Message-Id: <20020403000844.68D1A36F9@sitemail.everyone.net> Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Hello, I have a core file (kernel) and want to dump the stack frames of a process (assuming it was still in memory) given the pid. Is there a way I can do this? thanks, Rohit. _____________________________________________________________ http://www.gojuryu.com . What Karate Do was meant to be. _____________________________________________________________ Run a small business? Then you need professional email like you@yourbiz.com from Everyone.net http://www.everyone.net?tag To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Apr 2 16:17:43 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mailgatea.anheuser-busch.com (mailgatea.anheuser-busch.com [151.145.232.20]) by hub.freebsd.org (Postfix) with ESMTP id 6B07237B416 for ; Tue, 2 Apr 2002 16:17:34 -0800 (PST) Received: (from uucp@localhost) by mailgatea.anheuser-busch.com (8.10.2+Sun/8.10.2) id g330HXg10173 for ; Tue, 2 Apr 2002 18:17:33 -0600 (CST) Received: from stlexgvir004.anheuser-busch.com(10.33.24.97) by mailgatea.anheuser-busch.com via csmap (2.0) id srcAAAcpay3t; Tue, 2 Apr 02 18:17:33 -0600 Received: from STLEXGVIR004.abc.corp.anheuser-busch.com ([10.33.24.97]) by stlexgvir004.abc.corp.anheuser-busch.com with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2653.13) id H36HBQ40; Tue, 2 Apr 2002 18:13:25 -0600 Received: from stlexgims003.anheuser-busch.com ([10.33.24.70]) by STLEXGVIR004.abc.corp.anheuser-busch.com (NAVGW 2.5.1.19) with SMTP id M2002040218132524608 for ; Tue, 02 Apr 2002 18:13:25 -0600 Received: by STLEXGIMS003 with Internet Mail Service (5.5.2653.19) id <21CB8ZQQ>; Tue, 2 Apr 2002 18:13:23 -0600 Message-ID: From: "Alton, Matthew" To: "'Hackers@FreeBSD.ORG'" Subject: procfs development Date: Tue, 2 Apr 2002 18:12:52 -0600 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG From colleague: Hello, Are there any plans to expand the procfs implementation to provide an interface that is more in line with the implementations on Unixware, Solaris and AIX? I've been writing a simple debugger that would be portable among those three platforms, and others, but it is based completely on the procfs interface, and I've come to find out the procfs implementation on FreeBSD and Linux are (aside from being completely different from each other) completely different than what's been done on AIX, Solaris and Unixware. I managed to glean from that the FreeBSD implementation is basically a barebones interface that is only there for gdb to work with. So has there been any talk of making the ctl file take command/operands structs as input, and/or the status file offer elaborate structures as output, or an lwp directory, etc? Thanks for any information Martin This thing, that hath a code and not a core, Hath set acquaintance where might be affections, And nothing now Disturbeth his reflections. -- An Object, Ezra Pound 1912 Matthew Alton UNIX System Administration To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Apr 2 16:27:53 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from hawk.mail.pas.earthlink.net (hawk.mail.pas.earthlink.net [207.217.120.22]) by hub.freebsd.org (Postfix) with ESMTP id 0B9D337B41C for ; Tue, 2 Apr 2002 16:27:45 -0800 (PST) Received: from pool0116.cvx40-bradley.dialup.earthlink.net ([216.244.42.116] helo=mindspring.com) by hawk.mail.pas.earthlink.net with esmtp (Exim 3.33 #1) id 16sYck-0005tS-00; Tue, 02 Apr 2002 16:27:39 -0800 Message-ID: <3CAA4C43.1F19A758@mindspring.com> Date: Tue, 02 Apr 2002 16:26:43 -0800 From: Terry Lambert X-Mailer: Mozilla 4.7 [en]C-CCK-MCD {Sony} (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: "E.B. Dreger" Cc: Alfred Perlstein , hackers@freebsd.org Subject: Re: dlopen(), ld.so, and library wrappers References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG "E.B. Dreger" wrote: > So you're saying that: > > 1) Program foo contains function called getpid() > 2) Program foo links with libc > 3) foo.getpid uses dlsym(RTLD_NEXT, "getpid") to call libc.getpid > 4) Shared object bar, loaded by foo, will receive a pointer to > foo.getpid instead of libc.getpid when getpid is resolved. > > ??? > > If that'll work, great. But I didn't interpret the manpage that > way. I read it as shared object bar being able to provide a > wrapper for program foo, which is the _opposite_ of what I want. > > I'll try the above. If that doesn't do what I want, I'll see if > I can restate more clearly. I recently wanted to do what you want to do, which is to write a program that could load shared object modules, and have the external symbol references of the modules resolve to symbols defined in the program. Your example case is more complicated, in that it wants the symbols in the program to have duplicates in libc.so, and to resolve the symbols preferentially to the ones defined in the program. The answer is: it works as expected. Alfred's point about inferior nodes is actually not quite correct, in practive. In practice, if I have an arbitrary load order for modules, things can be undefined. Specifically: main: #include #include #include #include pid_t getpid( void) { printf( "main getpid\n"); return syscall( SYS_getpid); } main() { /* load modules "fee" and "foo" in any order */ ... foomain(); } ... foo.so: foomain() { printf( "pid is %d\n", getpid()); } ... fee.so: #include #include #include #include pid_t getpid(void) { printf( "fee getpid\n"); return syscall(SYS_getpid); } ... Which one foomain() ends up calling depends on whether fee.so was loaded before or after foo.so was loaded. The other PITA here is that when you are linking, you can't know that all your symbols are resolved, and that you haven't forgotten a shared library on the linkage line, because the linking of shared objects doesn't treat them as RTLD_NOW at "ld" invocation time. This is arguably a linker bug, since it's not reporting missing symbols at link time. You can recreate this without shared objects that you are going to dlopen, simply by creating a shared library that references symbols in a second shared library (no static data references!), and then using routines in the first library in your main. The linker won't bitch (but should!) when you link your program only against the first library. Instead, it crashes at runtime when it does RTLD_LAZY ecaluation of shared library symbols... and they aren't there (which would be OK, if the initial linktime treated symbol graph resolution as RTLD_NOW; this would take about 350 lines of code in ld.so, the lat time I looked). Also, you can't intentionally override functions in shared library referenced from main() with symbols in a shared object, without doing explicit work to to the override. Also, the dlopen( NULL, mode); doesn't work the way you would expect (or want) with the RTLD_GLOBAL and RTLD_LAZY flags. A common way of addressing ordering issues is to derference your function pointers out of a struct of function pointers, which you obtain by asking a module entry point for the function pointers. In Microsoft-land, this is called an "interface", but an "interface" is just a pure virtual base class with a default protection type of "public", so you can just "#define interface struct", and be there. Basically, the module passes back a pointer to an implementation class for the pure virtual base class (this entry point in Microsoft-land is called "IUnknown"; it's a basic extension to the OLE mechanism, which defines some additional well known entry points, and which is a subset of COM, which defines entry points like "process attach/detach" and "thread attach/detach"). Actually, FreeBSD could use some of these, particularly for dealing with threading on things like the UMICH and Netscape LDAP libraries, which are not intrinsically thread-safe (the thread-attach/detach permits you to insert a serialization barrier that you would not otherwise be able to get). You can simulate the "process attach/detach" pretty easily in FreeBSD, by adding entries to the shared object's CTOR and DTOR linker set lists, which are processed out of .init and .fini to ensure construction/destruction of statically declared class instances with pure virtual base classes, whne any such module is loaded. See "TEXT_SET()". Unfortunately, the DTOR handling is not via .fini processing at detach time, it's via atexit() processing, so you can't depend on destruction, which is a bad problem, if your class is expected to destroy subclasses hung of a list or with pointers to them in the class(es) in the object you are unloading). -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message From owner-freebsd-hackers Tue Apr 2 18:27:44 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from hotmail.com (f262.law11.hotmail.com [64.4.16.137]) by hub.freebsd.org (Postfix) with ESMTP id 05D6137B47C for ; Tue, 2 Apr 2002 18:27:13 -0800 (PST) Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC; Tue, 2 Apr 2002 18:27:13 -0800 Received: from 208.151.119.232 by lw11fd.law11.hotmail.msn.com with HTTP; Wed, 03 Apr 2002 02:27:13 GMT X-Originating-IP: [208.151.119.232] From: "Chad Kline" To: freebsd-hackers@freebsd.org Subject: usb storage class / umass.c Date: Wed, 03 Apr 2002 02:27:13 +0000 Mime-Version: 1.0 Content-Type: text/plain; format=flowed Message-ID: X-OriginalArrivalTime: 03 Apr 2002 02:27:13.0458 (UTC) FILETIME=[108C3920:01C1DAB7] Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG i am having trouble with a storage class USB device. the device is a Olympus C-1/D-150 camera with a SmartMedia disk and a USB link. i have tried changing "OLYMPUS" to "Olympus" in the kernel source and various other things, but have had no success mounting the SmartMedia disk. from everything i understand and have read, there shouldn't be any problem in connecting/accessing this device. i was referred to the "hackers" list for help - and would be happy to do whatever i can to get this thing to work. please reply off the list! Outer Connectors: USB interface (storage class) Auto-connect USB: Yes $ usbdevs addr 1: OHCI root hub, OPTi addr 2: C-1 Digital Camera, Olympus $ dmesg ohci0: mem 0xe1000000-0xe1000fff irq 10 at device 19.0 on pci0 usb0: OHCI version 1.0, legacy support usb0: on ohci0 usb0: USB revision 1.0 uhub0: OPTi OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered umass0: OLYMPUS C-1Z,D-150Z, rev 1.10/10.15, addr 2, SCSI over Bulk-Only umass0: Max Lun is 0 umass-sim:0:-1:-1:XPT_PATH_INQ:. umass0:0:0:-1: Attached to scbus0 as device 0 umass0: Attach finished orm0: