Re: New ipfw code available

2002-06-10 Thread Vladimir B.

÷ Sun, 09.06.2002, × 07:19, Luigi Rizzo ÎÁÐÉÓÁÌ:

Hi

 over the past 2-3 weeks I have done an extensive rewrite of the
 ipfw code (userland + kernel) in an attempt to make it faster and
 more flexible.
 
 The idea (which I discussed a few times on the mailing lists) was
 to replace the current ipfw rules (macroinstructions) with a set
 of microinstructions, each of them performing a single operation
 such as matching an address, or a port range, or a protocol flag,
 etc.  -- much in the spirit of BPF and derivatives -- and to let
 the userland front-end compile ipfw(8) commands into an appropriate
 set of microinstructions.

Really COOL! 

And what about radix-tree-based ip-list matching ?

like this:

ipfw add 1 allow ip from {1.2.3.0/24,1.3.5.0/24,17.2.3.4/45,11.2.3.4/30}
or
cat mylist | ipfw list add mylist -
ipfw add 1 allow ip from @mylist

or something like 

If you deal with large access-lists ipfw becomes not best tool due to
linear comparison.

 translates to a couple of microinstructions (whose complete
 implementation is below the instructions themselves):
 
   O_IP_DST 
   if (((ipfw_insn_ip *)cmd)-addr.s_addr ==
   (dst_ip.s_addr  ((ipfw_insn_ip *)cmd)-mask.s_addr))
   goto cmd_match;
   goto cmd_fail;
 
   O_ACCEPT:
   retval = 0; /* accept */
   goto accept;
 
 
 But there is a lot more -- the instruction set is easily extensible,
 and without backward compatibility problems.  Furthermore, you can
 build (and I have already implemented them) more complex rules by
 assembling microinstructions with OR and NOT operands. I.e. you can write
 something like:
 
   pipe 10 tcp from 1.2.3.4 or 1.2.3.7 or not 1.2.3.0/28 21-25,1024-4095 \
   to any in recv ed0 or recv fxp1 or recv dc0 uid 35 or uid 50
 
 You get the idea... 
 
 I have a fairly complete version of the above  code at the moment,
 which is only missing a small set of functionalities
 (ip/tcp flags matching, log and fixing hooks to the stateful
 code). However the glue to implement all the missing pieces is
 already there, it is just a matter of adding a few lines of code
 and testing things.
 Other than that, the code is meant to be fully compatible with the
 old syntax so you will not have to rewrite your existing rulesets.
 
 I have put a preliminary snapshot of this code (for CURRENT) at
 
   http://info.iet.unipi.it/~luigi/ipfw5.20020609.tgz
 
 It replaces the following files from a recent (2002/05/14) version of -current.
 
   sys/netinet/ip_dummynet.c
   sys/netinet/ip_fw.c
   sys/netinet/ip_fw.h
   sbin/ipfw/ipfw.c
 
 I would be very grateful if someone could have a look at the
 code, maybe give it a try, and see e.g. how it compiles your
 typical ruleset and whether the new extensions can make your
 ipfw rulesets simpler.
 
 Feedback welcome, both on the architecture and on the implementation.
 
 NOTE: if people wonder why I did not use BPF and reinvented the wheel:
 the keyword is backward compatiblity -- i thought it was a bit too
 complex to compile the existent ipfw syntax into BPF, especially because
 BPF at least as far as i know does not handle UIDs, and GIDs and
 interface matches and different actions than match or not match,
 so i would have had to extend the code anyways, at which point i
 thought I could as well write my own microinstruction set...
 
   cheers
   luigi
 ---+-
   Luigi RIZZO, [EMAIL PROTECTED]  . Dip. di Ing. dell'Informazione
   http://www.iet.unipi.it/~luigi/  . Universita` di Pisa
   TEL/FAX: +39-050-568.533/522 . via Diotisalvi 2, 56126 PISA (Italy)
   Mobile   +39-347-0373137
 ---+-
 to 
 
   thanks
   luigi
 
 To Unsubscribe: send mail to [EMAIL PROTECTED]
 with unsubscribe freebsd-current in the body of the message
 
-- 
Vladimir B. Grebenschikov
[EMAIL PROTECTED], SWsoft, Inc.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Fixing could sleeep... was (Re: ../../../vm/uma_core.c:132

2002-06-10 Thread Mike Makonnen

On Sat, 08 Jun 2002 10:57:32 -0400 (EDT)
John Baldwin [EMAIL PROTECTED] wrote:

  
  Is the solution to this to use M_NOWAIT and continue re-trying
untill it  succeeds? Is there on-going smp work in locking down struct
proc that  will eliminate this problem?
 
 Well, the real solution probably involves changing where we dink with
 uidinfo structs so we bump the reference count on teh new one before
we grab the proc lock, change over to the new one while holding the
proc lock, then release the reference to the old one after we are done.
 

Well... this is basically what happens

setuid - creates a new ucred
  - locks p
  - calls change_ruid()

change_ruid - calls uifind()

 uifind - does MALLOC w/ M_WAITOK

After thinking about it for a while, this is the solution I came up
with:

Each new struct ucred will carry an array of pointers to struct uidinfo.
This will be an array of 3 elements (a spare for cr_ruidinfo,
cr_uidinfo, null). Obviously, it gets added after -cr_endcopy. 

When crget() is called it calls a function whose job it is to create an
array of pointers to struct uidinfo and allocate the memory for them.

When uifind() is called it will be given an array of pointers to uidinfo
structs (the ones from ucred), in addition to the uid it is to lookup. 
If it already has a uidinfo for that uid, then it returns that to the
calling function. If it can't find the uid, then it unhooks (copies the
address, and deletes it   from the array) the last struct uidinfo from
the array, initializes it, inserts it into the hashtable and returns it
to the caller.

When crfree is called it calls a function that deallocates the spare
structs uidinfo.

This solution has the advantage that the only code that has to change is
the ucred and setuid/gid helper functions that already know about the
struct uidinfo functions. In fact only three functions not related to
uidinfo(9) need to be touched: proc0_init(), change_ruid(),
change_uid(). The disadvantage is the memory bloat and a small amount of
code complexity (but as I said, this is localized, and not very complex
either).

Do you like it? 
Should I go ahead and implement a patch? 
Anything I overlooked?


Cheers,
Mike Makonnen

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: New ipfw code available

2002-06-10 Thread Luigi Rizzo

On Mon, Jun 10, 2002 at 12:47:40PM +0400, Vladimir B.  Grebenschikov wrote:
...
 And what about radix-tree-based ip-list matching ?

yes, it is planned.

cheers
luigi
 
   ipfw add 1 allow ip from {1.2.3.0/24,1.3.5.0/24,17.2.3.4/45,11.2.3.4/30}
 or
   cat mylist | ipfw list add mylist -
   ipfw add 1 allow ip from @mylist
 
 or something like 
 
 If you deal with large access-lists ipfw becomes not best tool due to
 linear comparison.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: My postgresql7 not working for new gcc

2002-06-10 Thread Shizuka Kudo


--- aaron g [EMAIL PROTECTED] wrote:
 I do beleive the OpenSSL library has moved to a new
 default
 location. I could be wrong.
 
 - aarong
 -- 

I don't think it has been moved as of yestersday.

Regards,

shizuka# ls -al /usr/include/openssl/ssl.h
-r--r--r--  1 root  wheel  60914 Jun  9 02:30
/usr/include/openssl/ssl.h


__
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: My postgresql7 not working for new gcc

2002-06-10 Thread Kris Kennaway

On Mon, Jun 10, 2002 at 02:52:02AM -0700, Shizuka Kudo wrote:
 
 --- aaron g [EMAIL PROTECTED] wrote:
  I do beleive the OpenSSL library has moved to a new
  default
  location. I could be wrong.
  
  - aarong
  -- 
 
 I don't think it has been moved as of yestersday.

OpenSSL has not moved (and is not expected to be moved).

Kris



msg39426/pgp0.pgp
Description: PGP signature


Re: My postgresql7 not working for new gcc

2002-06-10 Thread Stanislav Grozev

On Wed, Jun 05, 2002 at 04:35:40AM -0700, Shizuka Kudo wrote:
snip/
 checking for readline/readline.h... no
 checking for readline.h... no
 checking for readline/history.h... no
 checking for history.h... no
 checking for openssl/ssl.h... no
 configure: error: header file openssl/ssl.h is
 required for OpenSSL
 

actually that is a problem with the autoconf version used by postgresql.
the new gcc 3.1 gives out a warning if one of the system include directories
is also given as a -I argument (in this case -I/usr/include).
the autoconf, when compiling the test program, mistakenly interprets
this warning as an error, and decides that the feature is not present,
thus giving that openssl/ssl.h is not present, and in fact it is.
one messy and temporary solution is to compile with 
make CFLAGS=-Wp,-w CXXFLAGS=-Wp,-w
which tells gcc to pass -w to the preprocessor, and -w means inhibit
all warnings. with this, postgresql compiles and works fine.
for 'correct' solution - the configure script for postgresql must be
regenerated from configure.in, using the newer autoconf, but I am not
sure whether that would be successfull, as there were (AFAIK), some
incompatibilities between the two - but i may be wrong.
anyway, HTH

-tacho
-- 
[a lie is my shield] | [http://daemonz.org/ || [EMAIL PROTECTED]]
0x44fc3339 || [02b5 798b 4bd1 97fb f8db 72e4 dca4 be03 44fc 3339]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Problems building world in kdump

2002-06-10 Thread Scott Penno

Hi there,

I've been attempting to build current on and off over the past few weeks with little 
success.  Problems occur when making dependencies within kdump as shown below.  
Sources last update June 9, 2002 at 12:30 GMT.  I've been through UPDATING, README and 
mailling lists to no avail.  Any assistance appreciated.

Regards,

Scott.

=== usr.bin/kdump
sh /usr/src/usr.bin/kdump/mkioctls /usr/obj/usr/src/i386/usr/include  ioctl.c
cpp0: warning: changing search order for system directory 
/usr/obj/usr/src/i386/usr/include
cpp0: warning:   as it has already been specified as a non-system directory
cpp0: warning: changing search order for system directory 
/usr/obj/usr/src/i386/usr/include
cpp0: warning:   as it has already been specified as a non-system directory
In file included from /usr/obj/usr/src/i386/usr/include/sys/param.h:107,
 from /usr/obj/usr/src/i386/usr/include/security/lomac/lomacio.h:42,
 from stdin:49:
/usr/obj/usr/src/i386/usr/include/machine/limits.h:71:1: warning: INT_MAX redefined
In file included from stdin:23:
/usr/obj/usr/src/i386/usr/include/machine/if_wl_wavelan.h:149:1: warning: this is the 
location of the previous definition
In file included from stdin:70:
/usr/obj/usr/src/i386/usr/include/sys/memrange.h:19:1: warning: MDF_ACTIVE redefined
In file included from stdin:47:
/usr/obj/usr/src/i386/usr/include/pccard/cardinfo.h:115:1: warning: this is the 
location of the previous definition
In file included from stdin:100:
/usr/obj/usr/src/i386/usr/include/vm/dev/dpt/dpt.h:860:1: warning: EATAUSRCMD 
redefined
In file included from stdin:97:
/usr/obj/usr/src/i386/usr/include/vm/dev/asr/osd_unix.h:265:1: warning: this is the 
location of the previous definition
In file included from stdin:100:
/usr/obj/usr/src/i386/usr/include/vm/dev/dpt/dpt.h:861:1: warning: DPT_SIGNATURE 
redefined
In file included from stdin:97:
/usr/obj/usr/src/i386/usr/include/vm/dev/asr/osd_unix.h:269:1: warning: this is the 
location of the previous definition
In file included from stdin:100:
/usr/obj/usr/src/i386/usr/include/vm/dev/dpt/dpt.h:862:1: warning: DPT_NUMCTRLS 
redefined
In file included from stdin:97:
/usr/obj/usr/src/i386/usr/include/vm/dev/asr/osd_unix.h:274:1: warning: this is the 
location of the previous definition
In file included from stdin:100:
/usr/obj/usr/src/i386/usr/include/vm/dev/dpt/dpt.h:863:1: warning: DPT_CTRLINFO 
redefined
In file included from stdin:97:
/usr/obj/usr/src/i386/usr/include/vm/dev/asr/osd_unix.h:276:1: warning: this is the 
location of the previous definition
In file included from stdin:100:
/usr/obj/usr/src/i386/usr/include/vm/dev/dpt/dpt.h:864:1: warning: DPT_SYSINFO 
redefined
In file included from stdin:97:
/usr/obj/usr/src/i386/usr/include/vm/dev/asr/osd_unix.h:282:1: warning: this is the 
location of the previous definition
In file included from stdin:100:
/usr/obj/usr/src/i386/usr/include/vm/dev/dpt/dpt.h:865:1: warning: DPT_BLINKLED 
redefined
In file included from stdin:97:
/usr/obj/usr/src/i386/usr/include/vm/dev/asr/osd_unix.h:288:1: warning: this is the 
location of the previous definition
In file included from stdin:101:
/usr/obj/usr/src/i386/usr/include/vm/dev/iir/iir.h:379:1: warning: LUN_MASK redefined
In file included from stdin:100:
/usr/obj/usr/src/i386/usr/include/vm/dev/dpt/dpt.h:138:1: warning: this is the 
location of the previous definition
In file included from stdin:101:
/usr/obj/usr/src/i386/usr/include/vm/dev/iir/iir.h:380:1: warning: TARGET_MASK 
redefined
In file included from stdin:100:
/usr/obj/usr/src/i386/usr/include/vm/dev/dpt/dpt.h:135:1: warning: this is the 
location of the previous definition
In file included from stdin:101:
/usr/obj/usr/src/i386/usr/include/vm/dev/iir/iir.h:381:1: warning: BUS_MASK redefined
In file included from stdin:100:
/usr/obj/usr/src/i386/usr/include/vm/dev/dpt/dpt.h:136:1: warning: this is the 
location of the previous definition
In file included from stdin:101:
/usr/obj/usr/src/i386/usr/include/vm/dev/iir/iir.h:382:1: warning: HBA_MASK redefined
In file included from stdin:100:
/usr/obj/usr/src/i386/usr/include/vm/dev/dpt/dpt.h:137:1: warning: this is the 
location of the previous definition
In file included from stdin:101:
/usr/obj/usr/src/i386/usr/include/vm/dev/iir/iir.h:384:1: warning: minor2lun 
redefined
In file included from stdin:100:
/usr/obj/usr/src/i386/usr/include/vm/dev/dpt/dpt.h:143:1: warning: this is the 
location of the previous definition
In file included from stdin:101:
/usr/obj/usr/src/i386/usr/include/vm/dev/iir/iir.h:385:1: warning: minor2target 
redefined
In file included from stdin:100:
/usr/obj/usr/src/i386/usr/include/vm/dev/dpt/dpt.h:140:1: warning: this is the 
location of the previous definition
In file included from stdin:101:
/usr/obj/usr/src/i386/usr/include/vm/dev/iir/iir.h:386:1: warning: minor2bus 
redefined
In file included from stdin:100:
/usr/obj/usr/src/i386/usr/include/vm/dev/dpt/dpt.h:141:1: warning: this is the 
location of 

Re: My postgresql7 not working for new gcc

2002-06-10 Thread Terry Lambert

Stanislav Grozev wrote:
 actually that is a problem with the autoconf version used by postgresql.
 the new gcc 3.1 gives out a warning if one of the system include directories
 is also given as a -I argument (in this case -I/usr/include).
 the autoconf, when compiling the test program, mistakenly interprets
 this warning as an error, and decides that the feature is not present,
 thus giving that openssl/ssl.h is not present, and in fact it is.
 one messy and temporary solution is to compile with
 make CFLAGS=-Wp,-w CXXFLAGS=-Wp,-w
 which tells gcc to pass -w to the preprocessor, and -w means inhibit
 all warnings. with this, postgresql compiles and works fine.
 for 'correct' solution - the configure script for postgresql must be
 regenerated from configure.in, using the newer autoconf, but I am not
 sure whether that would be successfull, as there were (AFAIK), some
 incompatibilities between the two - but i may be wrong.
 anyway, HTH

That's ugly.

Since it's jamming in includes anyway:

  By using both `-nostdinc' and `-I-', you can  limit
  the include-file search file to only those directo-
  ries you specify explicitly.

e.g.: you should be able to get it to work with warnings fully
enabled, and explicit use of system include paths in the Makefile.

This might be a more permanent fix...

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: -current (DP1) and USB transfers

2002-06-10 Thread Carlos Ugarte

Maksim Yevmenkin writes:
  The problem is that as soon as i open isochronous pipe and 
  start incoming isochronous transfer, the isochronous callback
  gets called over and over again. Both isoc. pipe and isoc. 
  transfer have USBD_NO_SHORT_XFER flag set. I also set 
  configuration #5 for interface 1. The funny part that device
  says that it got zero bytes from the pipe. It does not affect
  (or so it seems) the other transfers and everything still works.
  I also tried ugen driver with the same results. What is up with
  that?

My experience with isochronous pipes is the same.  I'm working with a
couple of webcams and the isoc callback is invoked repeatedly, but
always with a size of 0.  This occurs in both -stable and -current,
tested on two different UHCI chipsets.  I also played around with ugen
(stock ugen and a userland driver, as well as a custom ugen) but the
results were the same.

While I have no other USB devices to try out under FreeBSD, my guess
is that the problems are mainly with isoc transfers; there are plenty
of supported devices using bulk and interrupt transfers but there is
only one case I'm aware of that makes use of isoc transfers.
Reportedly a different webcam works under 4.6-RC using ugen and a
userland program (/usr/ports/graphics/vid).

I'm also a USB newbie so I cannot answer your other questions.

Carlos

-- 
Carlos A. Ugarte[EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: My postgresql7 not working for new gcc

2002-06-10 Thread Stanislav Grozev

On Mon, Jun 10, 2002 at 07:02:14AM -0700, Terry Lambert wrote:
 Stanislav Grozev wrote:
 That's ugly.

well, i _did_ mention that it's a messy and a temporary solution,
but at least it gets postgresql (and many others) to compile and run
fine.

 
 Since it's jamming in includes anyway:
 
   By using both `-nostdinc' and `-I-', you can  limit
   the include-file search file to only those directo-
   ries you specify explicitly.
 
 e.g.: you should be able to get it to work with warnings fully
 enabled, and explicit use of system include paths in the Makefile.
 
 This might be a more permanent fix...

I agree... but still I don't see the point in that warning, which is useless
(IMHO) in 99% of the cases (normal development) and in the 1% where it is
usefull (gcc devel, libc, etc.) the people doing it already know their
stuff and know what they're doing. but I digress...

 
 -- Terry
 

-tacho
-- 
[a lie is my shield] | [http://daemonz.org/ || [EMAIL PROTECTED]]
0x44fc3339 || [02b5 798b 4bd1 97fb f8db 72e4 dca4 be03 44fc 3339]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: My postgresql7 not working for new gcc

2002-06-10 Thread David O'Brien

On Mon, Jun 10, 2002 at 07:02:14AM -0700, Terry Lambert wrote:
  one messy and temporary solution is to compile with
  make CFLAGS=-Wp,-w CXXFLAGS=-Wp,-w
  which tells gcc to pass -w to the preprocessor, and -w means inhibit
  all warnings. with this, postgresql compiles and works fine.
  for 'correct' solution - the configure script for postgresql must be
  regenerated from configure.in, using the newer autoconf, but I am not
  sure whether that would be successfull, as there were (AFAIK), some
  incompatibilities between the two - but i may be wrong.
  anyway, HTH
 
 That's ugly.
 
 Since it's jamming in includes anyway:
 
   By using both `-nostdinc' and `-I-', you can  limit
   the include-file search file to only those directo-
   ries you specify explicitly.
 
 e.g.: you should be able to get it to work with warnings fully
 enabled, and explicit use of system include paths in the Makefile.
 
 This might be a more permanent fix...

*sigh*, why not a *real* fix?

--- configure.in.orig   Thu Sep 27 01:03:56 2001
+++ configure.inMon Apr 29 13:20:27 2002
@@ -200,7 +200,9 @@
done
if test $ac_found_openssl_lib_dir != no; then
echo found in $ac_found_openssl_lib_dir
-   INCLUDES=-I$ac_found_openssl_inc_dir $INCLUDES
+   if test $ac_found_openssl_inc_dir != /usr/include; then
+ INCLUDES=-I$ac_found_openssl_inc_dir $INCLUDES
+   fi
DEFINES=-DOPENSSL $DEFINES
else
echo not found.


You'll note that they bother with this kind of check for other headers,
but for some reason didn't consider it for openssl headers.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Kernel breakage in XE module

2002-06-10 Thread Troy

Been trying to buildkernel, and as of about 2 weeks ago something
happened to the XE module.  Anyone have some ideas?

-Troy

=== xe
@ - /usr/src/sys
machine - /usr/src/sys/i386/include
awk -f @/tools/makeobjops.awk @/kern/bus_if.m -h
awk -f @/tools/makeobjops.awk @/dev/pccard/card_if.m -h
awk -f @/tools/makeobjops.awk @/kern/device_if.m -h
rm -f .depend
CC='/usr/bin/cc' mkdep -f .depend -a   -nostdinc -D_KERNEL -DKLD_MODULE -I- -I.
-I@ -I@/dev -I@/../include -I/usr/obj/usr/src/i386/usr/include  /usr/src/sys/mod
ules/xe/../../dev/xe/if_xe.c /usr/src/sys/modules/xe/../../dev/xe/if_xe_pccard.c

cd /usr/obj/usr/src/sys/SINDROME;  MAKEOBJDIRPREFIX=/usr/obj  MACHINE_ARCH=i386
 MACHINE=i386  OBJFORMAT_PATH=/usr/obj/usr/src/i386/usr/libexec  GROFF_BIN_PATH=
/usr/obj/usr/src/i386/usr/bin  
GROFF_FONT_PATH=/usr/obj/usr/src/i386/usr/share/groff_font  
GROFF_TMAC_PATH=/usr/obj/usr/src/i386/usr/share/tmac  DESTDIR=/usr/obj/usr/src/i386  
INSTALL=sh /usr/src/tools/install.sh  
PATH=/usr/obj/usr/src/i386/usr/sbin:/usr/obj/usr/src/i386/usr/bin:/usr/obj/usr/src/i386/usr/games:/sbin:/bin:/usr/sbin:/usr/bin
  OBJFORMAT_PATH=/usr/obj/usr/src/i386/usr/libexec:/usr/l
ibexec make KERNEL=kernel all
/usr/bin/cc -c -x assembler-with-cpp -DLOCORE -O -pipe  -Wall -Wredundant-decls
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winl
ine -Wcast-qual  -Wno-format -ansi  -nostdinc -I-  -I. -I/usr/src/sys -I/usr/src
/sys/dev -I/usr/src/sys/contrib/dev/acpica -I/usr/src/sys/contrib/ipfilter -I/us
r/src/sys/../include  -D_KERNEL -ffreestanding -include opt_global.h -fno-common
   -mpreferred-stack-boundary=2 -ffreestanding  /usr/src/sys/i386/i386/locore.s
{standard input}: Assembler messages:
{standard input}:1684: Warning: rest of line ignored; first ignored character is
 `t'
{standard input}:1686: Error: unknown pseudo-op: `.'
{standard input}:1801: Error: missing ')'
{standard input}:1801: Error: missing ')'
{standard input}:1801: Error: junk `tmpstk)- 0xc000)' after expression
*** Error code 1

Stop in /usr/obj/usr/src/sys/SINDROME.
*** Error code 1

Stop in /usr/src.
*** Error code 1

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Kernel breakage in XE module

2002-06-10 Thread Dan Nelson

In the last episode (Jun 10), Troy said:
 Been trying to buildkernel, and as of about 2 weeks ago something
 happened to the XE module.  Anyone have some ideas?

Upgrade your gcc in the base system.

-- 
Dan Nelson
[EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: GCC3.1 internal compiler error when compilingXFree86-4-libraries

2002-06-10 Thread Michael D. Harnois

The libraries build for me without incident. However, anything which
tries to link against libGLU generates this error for me:

/usr/X11R6/lib/libGLU.so: undefined reference to `operator
new[](unsigned)'
/usr/X11R6/lib/libGLU.so: undefined reference to `vtable for
__cxxabiv1::__si_class_type_info'
/usr/X11R6/lib/libGLU.so: undefined reference to `operator
delete(void*)'
/usr/X11R6/lib/libGLU.so: undefined reference to `__gxx_personality_v0'
/usr/X11R6/lib/libGLU.so: undefined reference to `__cxa_pure_virtual'
/usr/X11R6/lib/libGLU.so: undefined reference to `vtable for
__cxxabiv1::__class_type_info'
/usr/X11R6/lib/libGLU.so: undefined reference to `operator
delete[](void*)'
/usr/X11R6/lib/libGLU.so: undefined reference to `vtable for
__cxxabiv1::__vmi_class_type_info'
/usr/X11R6/lib/libGLU.so: undefined reference to `operator
new(unsigned)'


 
-- 
Michael D. Harnois   bilocational bivocational
Pastor, Redeemer Lutheran ChurchWashburn, Iowa
2L, UST School of Law   Minneapolis, Minnesota
 If you want to follow Jesus, you better look good on wood.
  --Daniel Berrigan


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: GCC3.1 internal compiler error when compiling XFree86-4-libraries

2002-06-10 Thread David O'Brien

On Mon, Jun 10, 2002 at 12:02:41PM -0500, Michael D. Harnois wrote:
 The libraries build for me without incident. However, anything which
 tries to link against libGLU generates this error for me:

Your current is too old.  Please do a fresh build. 

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: GCC3.1 internal compiler error when compilingXFree86-4-libraries

2002-06-10 Thread Michael D. Harnois

On Mon, 2002-06-10 at 12:13, David O'Brien wrote:
 On Mon, Jun 10, 2002 at 12:02:41PM -0500, Michael D. Harnois wrote:
  The libraries build for me without incident. However, anything which
  tries to link against libGLU generates this error for me:
 
 Your current is too old.  Please do a fresh build. 

Since 6:30 last night?
 
-- 
Michael D. Harnois   bilocational bivocational
Pastor, Redeemer Lutheran ChurchWashburn, Iowa
2L, UST School of Law   Minneapolis, Minnesota
 Wise men talk because they have something to say; 
 fools, because they have to say something. -- Plato


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: GCC3.1 internal compiler error when compiling XFree86-4-libraries

2002-06-10 Thread David O'Brien

On Mon, Jun 10, 2002 at 12:15:40PM -0500, Michael D. Harnois wrote:
 On Mon, 2002-06-10 at 12:13, David O'Brien wrote:
  On Mon, Jun 10, 2002 at 12:02:41PM -0500, Michael D. Harnois wrote:
   The libraries build for me without incident. However, anything which
   tries to link against libGLU generates this error for me:
  
  Your current is too old.  Please do a fresh build. 
 
 Since 6:30 last night?

You must have NO_CXX or something -- you aren't linking with the C++
support libs for some reason.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: new zero copy sockets snapshot, WITNESS problems

2002-06-10 Thread Jeffrey Hsu

   1. sf_buf_init() calls kmem_alloc_pageable(), which through several calls
  ends up calling vm_map_entry_create(). vm_map_entry_create() calls
  uma_zalloc() with M_WAITOK.

Alan Cox and Tor Egge just fixed this in -current in rev 1.247 of vm_map.c.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: My postgresql7 not working for new gcc

2002-06-10 Thread Shizuka Kudo

--- David O'Brien [EMAIL PROTECTED] wrote:
 
 *sigh*, why not a *real* fix?
 
 --- configure.in.orig Thu Sep 27 01:03:56 2001
 +++ configure.in  Mon Apr 29 13:20:27 2002
 @@ -200,7 +200,9 @@
   done
   if test $ac_found_openssl_lib_dir != no;
then
   echo found in
$ac_found_openssl_lib_dir
 - INCLUDES=-I$ac_found_openssl_inc_dir
$INCLUDES
 + if test $ac_found_openssl_inc_dir !=
 /usr/include; then
 +  
INCLUDES=-I$ac_found_openssl_inc_dir
 $INCLUDES
 + fi
   DEFINES=-DOPENSSL $DEFINES
   else
   echo not found.
 
 
 You'll note that they bother with this kind of check
 for other headers,
 but for some reason didn't consider it for openssl
 headers.
 
 To Unsubscribe: send mail to [EMAIL PROTECTED]
 with unsubscribe freebsd-current in the body of
 the message

Hi David,

Which version of postgresql that you are using? I have
cvsupped the postgresql7 ports and didn't find what
you referred here. However, I didn't manage to patch
configure not to include /usr/include based on
your advice. Here's the patch if anyone is interested.

Thanks


--- configure.orig  Mon Mar 18 23:04:09 2002
+++ configure   Mon Jun 10 18:06:57 2002
@@ -1697,7 +1697,9 @@
 # SRCH_INC comes from the template file
 for dir in $with_includes $SRCH_INC; do
   if test -d $dir; then
-INCLUDES=$INCLUDES -I$dir
+if test $dir != /usr/include; then
+  INCLUDES=$INCLUDES -I$dir
+fi
   else
 echo configure: warning: *** Include directory
$dir does not exist. 12
   fi
@@ -2008,7 +2010,9 @@
 
 
   if test -d $krb4_prefix/include; then
-INCLUDES=$INCLUDES -I$krb4_prefix/include
+if test $krb4_prefix/include != /usr/include;
then
+  INCLUDES=$INCLUDES -I$krb4_prefix/include
+fi
   fi
   if test -d $krb4_prefix/lib; then
 LIBDIRS=$LIBDIRS -L$krb4_prefix/lib
@@ -2053,7 +2057,9 @@
 
 
   if test -d $krb5_prefix/include; then
-INCLUDES=$INCLUDES -I$krb5_prefix/include
+if test $krb5_prefix/include != /usr/include;
then
+  INCLUDES=$INCLUDES -I$krb5_prefix/include
+fi
   fi
   if test -d $krb5_prefix/lib; then
 LIBDIRS=$LIBDIRS -L$krb5_prefix/lib
@@ -2158,7 +2164,9 @@
 
 
   if test -d ${openssl_prefix}/include ; then
-INCLUDES=$INCLUDES -I${openssl_prefix}/include
+if test ${openssl_prefix}/include !=
/usr/include; then
+  INCLUDES=$INCLUDES
-I${openssl_prefix}/include
+fi
   fi
   if test -d ${openssl_prefix}/lib ; then
 LIBDIRS=$LIBDIRS -L${openssl_prefix}/lib

__
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Kernel breakage in XE module

2002-06-10 Thread Julian Elischer

the HIDENAME() macro was changed to work with Gcc3.1 (the new compiler)
but broke it for the old compiler/assembler.

back out the definition in i386/include/asmacros.h to what it was before
(it used to use the CONCAT() macro)

OR

bite the bullet and upgrade to a new -current and get the new compiler.


On Mon, 10 Jun 2002, Troy wrote:

 Been trying to buildkernel, and as of about 2 weeks ago something
 happened to the XE module.  Anyone have some ideas?
 
 -Troy
 
 === xe
 @ - /usr/src/sys
 machine - /usr/src/sys/i386/include
 awk -f @/tools/makeobjops.awk @/kern/bus_if.m -h
 awk -f @/tools/makeobjops.awk @/dev/pccard/card_if.m -h
 awk -f @/tools/makeobjops.awk @/kern/device_if.m -h
 rm -f .depend
 CC='/usr/bin/cc' mkdep -f .depend -a   -nostdinc -D_KERNEL -DKLD_MODULE -I- -I.
 -I@ -I@/dev -I@/../include -I/usr/obj/usr/src/i386/usr/include  /usr/src/sys/mod
 ules/xe/../../dev/xe/if_xe.c /usr/src/sys/modules/xe/../../dev/xe/if_xe_pccard.c
 
 cd /usr/obj/usr/src/sys/SINDROME;  MAKEOBJDIRPREFIX=/usr/obj  MACHINE_ARCH=i386
  MACHINE=i386  OBJFORMAT_PATH=/usr/obj/usr/src/i386/usr/libexec  GROFF_BIN_PATH=
 /usr/obj/usr/src/i386/usr/bin  
GROFF_FONT_PATH=/usr/obj/usr/src/i386/usr/share/groff_font  
GROFF_TMAC_PATH=/usr/obj/usr/src/i386/usr/share/tmac  DESTDIR=/usr/obj/usr/src/i386  
INSTALL=sh /usr/src/tools/install.sh  
PATH=/usr/obj/usr/src/i386/usr/sbin:/usr/obj/usr/src/i386/usr/bin:/usr/obj/usr/src/i386/usr/games:/sbin:/bin:/usr/sbin:/usr/bin
  OBJFORMAT_PATH=/usr/obj/usr/src/i386/usr/libexec:/usr/l
 ibexec make KERNEL=kernel all
 /usr/bin/cc -c -x assembler-with-cpp -DLOCORE -O -pipe  -Wall -Wredundant-decls
 -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winl
 ine -Wcast-qual  -Wno-format -ansi  -nostdinc -I-  -I. -I/usr/src/sys -I/usr/src
 /sys/dev -I/usr/src/sys/contrib/dev/acpica -I/usr/src/sys/contrib/ipfilter -I/us
 r/src/sys/../include  -D_KERNEL -ffreestanding -include opt_global.h -fno-common
-mpreferred-stack-boundary=2 -ffreestanding  /usr/src/sys/i386/i386/locore.s
 {standard input}: Assembler messages:
 {standard input}:1684: Warning: rest of line ignored; first ignored character is
  `t'
 {standard input}:1686: Error: unknown pseudo-op: `.'
 {standard input}:1801: Error: missing ')'
 {standard input}:1801: Error: missing ')'
 {standard input}:1801: Error: junk `tmpstk)- 0xc000)' after expression
 *** Error code 1
 
 Stop in /usr/obj/usr/src/sys/SINDROME.
 *** Error code 1
 
 Stop in /usr/src.
 *** Error code 1
 
 To Unsubscribe: send mail to [EMAIL PROTECTED]
 with unsubscribe freebsd-current in the body of the message
 


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Kernel breakage in XE module

2002-06-10 Thread Dan Nelson

In the last episode (Jun 10), Troy said:
 Dan,
 
 Thanks for your response.  I just built the gcc31 package, but it doesn't
 appear to replace the 2.95. Can you be a bit more specific on what I
 should do to upgrade the GCC in your last note.

Basically, buildworld.  If you're lucky, just building and installing
/usr/src/gnu/usr.bin/cc might work.

I guess another question would be should you be able to build a
-current kernel with 2.95.3 anymore?  It might make upgrades from 4.*
a bit difficult.

-- 
Dan Nelson
[EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Mozilla 1.0 error

2002-06-10 Thread Alexandr Kovalenko

Hello, Kris Kennaway!

On Fri, Jun 07, 2002 at 02:02:52PM -0700, you wrote:

 On Fri, Jun 07, 2002 at 04:56:45PM -0400, Joe Marcus Clarke wrote:
  On Fri, 2002-06-07 at 10:52, Jun Kuriyama wrote:
   At Fri, 7 Jun 2002 12:43:27 + (UTC),
   John Angelmo wrote:
  (cd /usr/ports/www/mozilla/work/mozilla/dist/bin;  /usr/bin/env
  LD_LIBRARY_PATH=. MOZILLA_FIVE_HOME=. ./regxpcom;  echo
  skin,install,select,classic/1.0  chrome/installed-chrome.txt;  echo
  locale,install,select,en-US  chrome/installed-chrome.txt;
  /usr/bin/env LD_LIBRARY_PATH=. MOZILLA_FIVE_HOME=. ./regchrome)
  [1]   Segmentation fault (core dumped)
  *** Error code 139

  Stop in /usr/ports/www/mozilla.
   I got same result, too.
  This problem seems to happen on -CURRENT and alpha -stable.
 And i386 -stable.
Worked fine for me:
[never@mile ~]$ cat /usr/ports/www/mozilla/Makefile | grep \$FreeBSD
# $FreeBSD: ports/www/mozilla/Makefile,v 1.107 2002/06/06 18:52:31 sobomax Exp $
[never@mile ~]$ uname -a
FreeBSD mile.nevermind.kiev.ua 4.6-RC FreeBSD 4.6-RC #0: Wed Jun  5 21:12:35 EEST 2002 
[EMAIL PROTECTED]:/usr/obj/usr/src/sys/mile  i386
[never@mile ~]$ gcc -v
Using builtin specs.
gcc version 2.95.3 20010315 (release) [FreeBSD]

-- 
NEVE-RIPE
Ukrainian FreeBSD User Group
http://uafug.org.ua/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: GCC3.1 internal compiler error when compiling XFree86-4-libraries

2002-06-10 Thread Szilveszter Adam

On Mon, Jun 10, 2002 at 10:26:36AM -0700, David O'Brien wrote:
 On Mon, Jun 10, 2002 at 12:15:40PM -0500, Michael D. Harnois wrote:
  On Mon, 2002-06-10 at 12:13, David O'Brien wrote:
   On Mon, Jun 10, 2002 at 12:02:41PM -0500, Michael D. Harnois wrote:
The libraries build for me without incident. However, anything which
tries to link against libGLU generates this error for me:
   
   Your current is too old.  Please do a fresh build. 
  
  Since 6:30 last night?
 
 You must have NO_CXX or something -- you aren't linking with the C++
 support libs for some reason.

Sorry David, but I experienced the same thing. No matter if I used the
base system c++ compiler, or the latest gcc31 port. The problem is all
the more interesting, because X worked for me fine, no matter what
compiler I used to build it (with a few patches from the
XFree86-4-libraries port) and libGLU is the only part of XFree that is
wirtten in C++. If I specify -lstdc++ on the link line of any programs
that use libGLU, it works (see xc/programs/glxinfo).

My -CURRENT is from Saturday (8th), NO_CXX is *not* set.

-- 
Regards:

Szilveszter ADAM
Szombathely Hungary

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: New ipfw code available

2002-06-10 Thread Trish Lynch

On Mon, 10 Jun 2002, Luigi Rizzo wrote:

 On Mon, Jun 10, 2002 at 12:47:40PM +0400, Vladimir B.  Grebenschikov wrote:
 ...
  And what about radix-tree-based ip-list matching ?

 yes, it is planned.

   cheers
   luigi
 
  ipfw add 1 allow ip from {1.2.3.0/24,1.3.5.0/24,17.2.3.4/45,11.2.3.4/30}
  or
  cat mylist | ipfw list add mylist -
  ipfw add 1 allow ip from @mylist
 
  or something like
 
  If you deal with large access-lists ipfw becomes not best tool due to
  linear comparison.

Luigi, gave this a try, and dummynet and my current rulesets except for
one worked fine...

I tried to add a divert rule, and it kept telling me it was an invalid
port for divert/tee.

I went back to the original code... just because I happen to be using natd
:)

After this is fixed, I'll install again and play with the new features :)

-Trish


--
Trish Lynch [EMAIL PROTECTED]
FreeBSD The Power to Serve
Ecartis Core Team   [EMAIL PROTECTED]
   http://www.freebsd.org



To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Device cloning

2002-06-10 Thread Maksim Yevmenkin

Hackers,

The project i'm working on might require some sort of
device cloning. The current way of cloning, i.e. use
DEVFS and allocate unique minor numbers, is not very
good for my purpose.

The idea is simple: the same device(major,minor) can
be opened several times by different processes (or
possibly threads within the same process) and each
process (thread) will have unique device instance. 
Device driver will create new instance, every time
open() called. It will use D_TRACKCLOSE flag and
destroy instances in close().

What kind of information should i store to identify
each instance? Is/Will it be possible to identify a
single thread within a process? Is there any problems
with fork()? The support for the threads is optional.
I can live with single instance per process.

thanks,
max


__
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Device cloning

2002-06-10 Thread Poul-Henning Kamp

In message [EMAIL PROTECTED], Maksim Yevmenk
in writes:
Hackers,

The project i'm working on might require some sort of
device cloning. The current way of cloning, i.e. use
DEVFS and allocate unique minor numbers, is not very
good for my purpose.

The idea is simple: the same device(major,minor) can
be opened several times by different processes (or
possibly threads within the same process) and each
process (thread) will have unique device instance. 

Sorry, but this wont work for a large number of reasons.

For one thing none of the  dup(2) or fork(2) like systemcalls
report what happens to the filedescriptors down to the
device drivers so you have no way to correctly track which
process or which instance you are working on.

-- 
Poul-Henning Kamp   | UNIX since Zilog Zeus 3.20
[EMAIL PROTECTED] | TCP/IP since RFC 956
FreeBSD committer   | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Device cloning

2002-06-10 Thread Vladimir B.

÷ Tue, 11.06.2002, × 01:15, Poul-Henning Kamp ÎÁÐÉÓÁÌ:
 In message [EMAIL PROTECTED], Maksim Yevmenk
 in writes:
 Hackers,
 
 The project i'm working on might require some sort of
 device cloning. The current way of cloning, i.e. use
 DEVFS and allocate unique minor numbers, is not very
 good for my purpose.
 
 The idea is simple: the same device(major,minor) can
 be opened several times by different processes (or
 possibly threads within the same process) and each
 process (thread) will have unique device instance. 
 
 Sorry, but this wont work for a large number of reasons.
 
 For one thing none of the  dup(2) or fork(2) like systemcalls
 report what happens to the filedescriptors down to the
 device drivers so you have no way to correctly track which
 process or which instance you are working on.

As far as I understand _key_ word is open, each new instance appears
on open(), but fork() and dup() only do regular work. dup'ed or fork'ed
descriptors will be same from driver's point of view, but each new
open() will create new instance.


 Poul-Henning Kamp   | UNIX since Zilog Zeus 3.20
 [EMAIL PROTECTED] | TCP/IP since RFC 956
 FreeBSD committer   | BSD since 4.3-tahoe
 Never attribute to malice what can adequately be explained by incompetence.
 
-- 
Vladimir B. Grebenschikov
[EMAIL PROTECTED], SWsoft, Inc.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



about beforeinstall target in /usr/share/mk/*.mk

2002-06-10 Thread Masahide -mac- NODA

Hi.

In /usr/share/mk/bsd.*.mk, 'beforeinstall' target execute after install
on current.

You found it to doing below in current:

  % cd /usr/src/share/mk
  % make install -n
  install -c -o root -g wheel  -m 444 bsd.README bsd.cpu.mk bsd.dep.mk bsd.doc.mk 
bsd.files.mk bsd.info.mk bsd.incs.mk bsd.init.mk bsd.kern.mk bsd.kmod.mk bsd.lib.mk 
bsd.libnames.mk bsd.man.mk bsd.nls.mk bsd.obj.mk bsd.own.mk bsd.port.mk 
bsd.port.post.mk bsd.port.pre.mk bsd.port.subdir.mk bsd.prog.mk bsd.subdir.mk 
bsd.sys.mk sys.mk /usr/share/mk
  date '+%Y%m%d'  /var/db/port.mkversion
  %

but, in makefile, 

  beforeinstall:
  date '+%Y%m%d'  ${DESTDIR}/var/db/port.mkversion


beforeinstall target execute after install.

### I found it at installing portupgrade from ports. :-)
-- 
[EMAIL PROTECTED][EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: My postgresql7 not working for new gcc

2002-06-10 Thread Terry Lambert

David O'Brien wrote:
 *sigh*, why not a *real* fix?

Feel free to submit this to the Postgres project... they may
even incorporate it.


 You'll note that they bother with this kind of check for other headers,
 but for some reason didn't consider it for openssl headers.

Mostly the reason that this fix was not being bandied about
is that the Postgres source code is largely under third party
control.  If the change can be made to the Makefile, etc.,
which is under direct control of FreeBSD, then the code will
compile unmodified.  That means if there are future changes,
we won't end up with a local patch to third party code, which
doesn't apply cleanly.

Locally maintaining patches against large projects is a very
big headache; in fact, this headache is one of the primary
things people rely upon in order to ensure that people donate
tactical fixes back to the FreeBSD project itself.

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



buildworld problem

2002-06-10 Thread drogoh

how do I resolve this?

=== gnu/usr.bin/groff/src/libs/libgroff
c++  -O -pipe  -DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DIRENT_H=1 -DHAVE_LIMITS_H=1 
-DHAVE_STRING_H=1 -DHAVE_STRINGS_H=1 -DHAVE_MATH_H=1 -DRET_TYPE_SRAND_IS_VOID=1 
-DHAVE_SYS_NERR=1 -DHAVE_SYS_ERRLIST=1 -DHAVE_CC_LIMITS_H=1 -DRETSIGTYPE=void 
-DHAVE_STRUCT_EXCEPTION=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DHAVE_FMOD=1 
-DHAVE_STRTOL=1 -DHAVE_GETCWD=1 -DHAVE_STRERROR=1 -DHAVE_PUTENV=1 -DHAVE_RENAME=1 
-DHAVE_MKSTEMP=1 -DHAVE_STRCASECMP=1 -DHAVE_STRNCASECMP=1 -DHAVE_STRSEP=1 
-DHAVE_STRDUP=1 -DSYS_SIGLIST_DECLARED=1 
-I/usr/src/gnu/usr.bin/groff/src/libs/libgroff/../../../../../../contrib/groff/src/include
 -I/usr/src/gnu/usr.bin/groff/src/libs/libgroff/../../../src/include  
-D__FBSDID=__RCSID -fno-rtti -fno-exceptions -c 
/usr/src/contrib/groff/src/libs/libgroff/assert.cc -o assert.o
ld: unrecognized option `-o'
Use `ld --help' for a complete list of options.
*** Error code 1

Stop in /usr/src/gnu/usr.bin/groff/src/libs/libgroff.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Device cloning

2002-06-10 Thread Terry Lambert

Vladimir B. Grebenschikov wrote:
 As far as I understand _key_ word is open, each new instance appears
 on open(), but fork() and dup() only do regular work. dup'ed or fork'ed
 descriptors will be same from driver's point of view, but each new
 open() will create new instance.

No.

The problem is that if you open the same thing N times, you will
get N references to the single vnode of the thing.

For devices, it's possible to kludge this, so that the device
gives you a different vnode for each instance; however, the
close is not sufficiently tracked unless you also give back
a different minor number for each open instance.  The problem
is that there is no per reference instance information that
is stored with the vnode and given to the device, as a context,
with each operation, other tha the device context itself.  So
the only way to do this is a different minor number, so that
the device is capable of maintaining its own per open instance
information.

It's also really questionable what the correct course of action
for the fork/dup/dup2 code is.  Consider the case of a program
that intentionally forks, so that one process can read from the
/etc/tty and write to the device, while the other can do the
opposite (this is how the original cu program worked).  On
top of this, add descriptor passing.

This breaks down to: are you creating a new open instance, or
are you manipulating a reference to an existing open instance?

Pushing this information over the struct fileops barrier is
not a very easy thing to do.  It would require reorganization
of a lot of code.

While this code is in *dire* need of reorganization, when you
are done, if you can't answer the question about whether you
are doing a dup or passing a reference to a single instance
when you pass an FD between processes... well... you're in a
bit of a jam.

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: My postgresql7 not working for new gcc

2002-06-10 Thread Terry Lambert

Shizuka Kudo wrote:
 
 --- David O'Brien [EMAIL PROTECTED] wrote:
 
  *sigh*, why not a *real* fix?

[ ... ]

 Which version of postgresql that you are using? I have
 cvsupped the postgresql7 ports and didn't find what
 you referred here. However, I didn't manage to patch
 configure not to include /usr/include based on
 your advice. Here's the patch if anyone is interested.

David's fix is more correct.  The configure program you are
patching is actually created from the configure.in file that
David was patching.  Since it's machine generated, it's a bad
idea to patch it directly.

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: My postgresql7 not working for new gcc

2002-06-10 Thread Shizuka Kudo


--- Terry Lambert [EMAIL PROTECTED] wrote:
 Shizuka Kudo wrote:
  
  --- David O'Brien [EMAIL PROTECTED] wrote:
  
   *sigh*, why not a *real* fix?
 
 [ ... ]
 
  Which version of postgresql that you are using? I
 have
  cvsupped the postgresql7 ports and didn't find
 what
  you referred here. However, I didn't manage to
 patch
  configure not to include /usr/include based on
  your advice. Here's the patch if anyone is
 interested.
 
 David's fix is more correct.  The configure
 program you are
 patching is actually created from the configure.in
 file that
 David was patching.  Since it's machine generated,
 it's a bad
 idea to patch it directly.
 
 -- Terry

I don't think autoconf was called in postgresql7 port,
and patching configure is necessary.

__
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: one or two errors in installworld

2002-06-10 Thread Andrew Lankford

In message [EMAIL PROTECTED], Steve Kargl wr
ites:

If you don't think it's bogus, then fix the
documentation of make.conf and commit an UPDATING
entry to warn everyone who set INSTALL several years
ago.

Check out the next to last few entries in:

http://www.freebsd.org/cgi/cvsweb.cgi/src/share/sendmail/Makefile?sortby=log

or

http://www.freebsd.org/cgi/cvsweb.cgi/src/usr.bin/xinstall/xinstall.c

So, on to a new topic.  Which is better, ^? or ^H ?

Andrew Lankford


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: My postgresql7 not working for new gcc

2002-06-10 Thread Terry Lambert

Shizuka Kudo wrote:
 I don't think autoconf was called in postgresql7 port,
 and patching configure is necessary.

It's derived data, and the patches will likely not remain valid
after the next release/upgrade.  That basically means that the
way to correct your complaint about autoconf not being run is to
make the port Makefile run autoconf.

A patch to a derived file is not one that will make it back into
the project source tree.  If the patch isn't one that the Postgres
people will accept, it's probably a bad patch.

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Kernel breakage in XE module

2002-06-10 Thread Bruce Evans

On Mon, 10 Jun 2002, Julian Elischer wrote:

 the HIDENAME() macro was changed to work with Gcc3.1 (the new compiler)
 but broke it for the old compiler/assembler.

Ugh.  I was surprised that this change worked for any gcc.  The change is
from:

#define HIDENAME(asmsym)__CONCAT(.,asmsym)

to:

#define HIDENAME(asmsym).asmsym

Note that the change isn't for use of CONCAT with , and word lke
its commit message says.  It is for use of __CONCAT with . and word.
Here the quotes are to mark up identifiers -- there are no strings
involved.  The problem is that the ISO C concatenation operator ##
is less useful than might first appear.  It is only required to work
if the result could be a preprocessing token, and the rules for when
the result could be a preprocessing token are quite complicated.  E.g.,
.foo is not a preprocessing token but .1 is.  The result of
concatenating . with foo is undefined, and gcc now detects this
error.

Since .foo is lexed as separate tokens, there is no need for the
preprocessor to keep the . and the foo separate.  In practice,
previous versions of the preprocessor inserted a space between the
tokens and the current version doesn't.  The current HIDENAME() macro
depends on this implementation detail in the current preprocessor and
is just broken in general.

 back out the definition in i386/include/asmacros.h to what it was before
 (it used to use the CONCAT() macro)

 OR

 bite the bullet and upgrade to a new -current and get the new compiler.

OR for a quick fix, fixing one of the following related bogons:

(1) For non-profiling kernels, HIDENAME is only used for the tmpstk
variable in locore.s, but there is no need for this variable to be
hidden.  Hiding it mainly broke examining it using ddb before ddb
was fixed to recognize symbols with a . in their name.
(2) For non-profiling kernels, HIDENAME is only used for the tmpstk
variable in locore.s, but the old macro still works for cpp'ing
assembler sources.  This is why committing gcc-3 didn't break
building of all kernels.

Fixing the following related bogon would have no significant affect:

(3) HIDENAME still has its old definition in at least the i386
machine/asm.h.  This is harmless at least on i386's because that
definition is not actually used.

This leaves the problem of fixing the use of HIDENAME in profiling kernels.
Unfortunately, the standard name for mcount requires a . in it for
the ELF case (the ELF case is more broken than the aout case here).  This
problem is avoided for userland profiling using a magic asm in
machine/profile.h.  The i386 prof_machdep.c uses HIDENAME to get slightly
less magic asm.

Bruce


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: one or two errors in installworld

2002-06-10 Thread Steve Kargl

On Tue, Jun 11, 2002 at 12:09:23AM -0400, Andrew Lankford wrote:
 In message [EMAIL PROTECTED], Steve Kargl wr
 ites:
 
 If you don't think it's bogus, then fix the
 documentation of make.conf and commit an UPDATING
 entry to warn everyone who set INSTALL several years
 ago.
 
 Check out the next to last few entries in:
 
 http://www.freebsd.org/cgi/cvsweb.cgi/src/share/sendmail/Makefile?sortby=log
 
 or
 
 http://www.freebsd.org/cgi/cvsweb.cgi/src/usr.bin/xinstall/xinstall.c
 
 So, on to a new topic.  Which is better, ^? or ^H ?
 

What's your point? Greg kludged share/sendmail/Makefile to
work around Ruslan's broken implementation in xinstall.

Either fix xinstall so options that conflict with -d
are ignored (I've already posted a patch, twice), or 
fix the documentation of make.conf (I've already posted
a patch for this, too) and fix the example make.conf
under share/example/etc and add an entry to UPDATING.

There is also an open problem report bin/37795, which
Ruslan knew existed, and he has not closed it (his kludge
invalidates the PR).

At one time, setting INSTALL to install -C in make.conf
could be a BIG time saver during a make world?  One
can no longer set INSTALL.

-- 
Steve

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message