[SCM] Samba Shared Repository - branch v3-4-test updated - release-4-0-0alpha7-1280-g95cc5af

Karolin Seeger kseeger at samba.org
Wed Sep 9 04:28:01 MDT 2009


The branch, v3-4-test has been updated
       via  95cc5af5fd6150f3c54cd344b66393dbc186c2df (commit)
       via  6b9d518b9f1244c99fbaa2812886d02635caff14 (commit)
       via  a9890fb49d2372edbf2050134bb21450d98ff7f6 (commit)
       via  161e20843054ecc5745e967da2a9d08ed09229d0 (commit)
       via  1108225c1316521bf2bb59c9b99b030440af0002 (commit)
       via  5cc105ac513164d66d4661a41d1daa99f28ab928 (commit)
       via  792ab5c34a20bd2b292b642dc96cae62e5ad1ce0 (commit)
       via  bd28ae54a635667096e4a0d1010a1c3cce59712f (commit)
       via  fdcc157d51cce8561df37fa9eed39332772bacb9 (commit)
       via  c78d2a86f7410b6e09d0c326233e06f09dfc6ddb (commit)
       via  4c63af17eda7e22fd6c258524204a44879006db7 (commit)
       via  1157ff3353b528d285f456d8e946d98bf202a560 (commit)
       via  6e8becce900e7686dcd81307722105d175103c06 (commit)
       via  0a14a3daa8c1f6d402865b8b1f24d91c64085176 (commit)
       via  f6d54b0db737f3474820b491488c68de41e8e659 (commit)
       via  80d62cc788211cf2783e315359f832a95b88cdc5 (commit)
       via  5a66d5776923647169ab2ae816f6a632b0f4e8aa (commit)
       via  620dde3a0fa246ebac35e64f1a99f56415b15e97 (commit)
       via  be0191b0c416f2fbf03d2cdb0a5ea3e8ce3d58e9 (commit)
       via  3ee857b058780fd3df915d8dab3e7d4ede682ce8 (commit)
       via  1e460e95956e9c1352ad9879ed2a9833b96b8746 (commit)
       via  6c002a988bd37cc04b488d78c910540b19cac88e (commit)
       via  5543fc2599b3ec7e3a676f95d8283d0f55113ec5 (commit)
       via  000d2835d78b6beb6db573a1946346e01de2ff7d (commit)
       via  8d988b165d373d074b8be321bcc9c20a8e85a6fc (commit)
       via  d0ab357d3bae114bda2d678049e89272614da713 (commit)
       via  ce80afbe3ad7534d659109e60874540531738aaf (commit)
       via  1d0e302bc49c77542fa39a18d995268e8685d141 (commit)
       via  30acc30ce5c01a30a96a6ce80ab99576574d8196 (commit)
       via  c20026a9afe1527f6442e8eedf669d199d8cdb26 (commit)
       via  49c97fb7a1bc49b160677fc7fae69b05bd6161a4 (commit)
       via  915a516da4ef536d09075e14959cfa7e866f7e7b (commit)
       via  01a4ec433627fe36c9eef7a8f1a7f45b86eb8262 (commit)
       via  6e968a6f12de83be431e6244c34bb3cecf52ee42 (commit)
      from  1f6f0fc92b1bb487fb99ac1e9c96f8f09adb9fbc (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-4-test


- Log -----------------------------------------------------------------
commit 95cc5af5fd6150f3c54cd344b66393dbc186c2df
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Sep 3 07:40:48 2009 -0700

    Hopefully last part of the fix for bug 6651 - smbd SIGSEGV when breaking oplocks. This one is subtle. There is a race condition where a signal can be queued for oplock break, and then the file can be closed by the client before the signal can be processed. Currently if this occurs we panic (we can't match an incoming signal fd with a fsp pointer). Simply log the error (at debug level 10 right now, might be too much) and then return without processing the break request. It looks like there is another race condition with this fix, but here's why it won't happen. If the signal was pending (caused by a kernel oplock break from a local file open), and the client closed the file and then re-opened another file which happened to use the same file descriptor as the file just closed, then theoretically the oplock break requests could be processed on the wrong fd. Here's why this should be very rare.. Processing a pending signal always take precedence over an incoming network reque
 st, so as long as the client close request is non-chained then the break signal should always be harmlessly processed *before* the open can be called. If the open is chained onto the close, and the fd on the new open is the same as the old closed fd, then it's possible this race will occur. However, all that will happen is that we'll lose the oplock on this file. A shame, but not a fatal event. Jeremy. (cherry picked from commit bdc7bdb0d3e02d04477906dbda8995bc5789ce22)

commit 6b9d518b9f1244c99fbaa2812886d02635caff14
Author: Jeremy Allison <jra at samba.org>
Date:   Mon Aug 24 21:14:52 2009 -0700

    Help debug for bug 6651 - smbd SIGSEGV when breaking oplocks. Should help track if we get invoked with an invalid fd from the signal handler. Jeremy. (cherry picked from commit 213546103749c30dbb3ad8472872b9a8fad34205)

commit a9890fb49d2372edbf2050134bb21450d98ff7f6
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Sep 4 12:56:39 2009 +0200

    tevent: change version to 0.9.8 after some critical bugs have been fixed
    
    metze
    (cherry picked from commit 1bb68402a2e37f39118eaaaa039ac69e03ba66f2)

commit 161e20843054ecc5745e967da2a9d08ed09229d0
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Sep 3 07:38:21 2009 -0700

    Another part of the fix for bug 6651 - smbd SIGSEGV when breaking oplocks. SA_INFO_QUEUE_COUNT *MUST* be a power of 2, in order for the ring buffer wrap to work correctly at the 32 bit boundary. Thanks to Petr Vandrovec <petr at vandrovec.name> for this. (cherry picked from commit c97698e762b1ea8d7133f04ae822225676a6f135)

commit 1108225c1316521bf2bb59c9b99b030440af0002
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Aug 29 09:41:32 2009 +0200

    tevent: Fix a segfault upon the first signal
    
    When the first signal arrives, tevent_common_signal_handler() crashed: "ev" is
    initialized to NULL, so the first "write(ev->pipe_fds[1], &c, 1);" dereferences
    NULL.
    
    Rusty, Tridge, please check. Also, can you tell me a bit more about the
    environment you tested this in? I'd be curious to see where this survived.
    
    Thanks,
    
    Volker
    (cherry picked from commit 23abcd2318c69753aa2a144e1dc0f9cf9efdb705)

commit 5cc105ac513164d66d4661a41d1daa99f28ab928
Author: Rusty Russell <rusty at rustcorp.com.au>
Date:   Fri Aug 28 12:11:23 2009 +0930

    lib/tevent: close pipe_fds on event_context destruction
    
    The "hack_fds" were never closed before; now they're inside event_context
    they should be closed when that is destroyed.
    
    Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
    (cherry picked from commit 76d91156c82e20bbd68c752376cb814d71759033)

commit 792ab5c34a20bd2b292b642dc96cae62e5ad1ce0
Author: Rusty Russell <rusty at rustcorp.com.au>
Date:   Fri Aug 28 12:08:47 2009 +0930

    lib/tevent: handle tevent_common_add_signal on different event contexts.
    
    I don't know if this is a problem in real life.
    
    The code assumes there's only one tevent_context; all signals will notify
    the first event context.  That's counter-intuitive if you ever use more
    than one, and there's nothing else in this code which prevents it AFAICT.
    
    Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
    (cherry picked from commit be4ac227842530d484659f2db683453366326d8b)

commit bd28ae54a635667096e4a0d1010a1c3cce59712f
Author: Rusty Russell <rusty at rustcorp.com.au>
Date:   Fri Aug 28 12:04:22 2009 +0930

    lib/tevent: fix race with signals and tevent_common_add_signal
    
    We carefully preserve the old signal handler, but we replace it before
    we've set up everything; in particular, if we fail setting up the
    pipe_hack we could write a NUL char to stdout (fd 0), instead of
    calling the old signal handler.
    
    Replace the signal handler as the very last thing we do.
    
    Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
    (cherry picked from commit 6abb637e3e0d23635fdbbb91c163731b325d696d)

commit fdcc157d51cce8561df37fa9eed39332772bacb9
Author: Rusty Russell <rusty at rustcorp.com.au>
Date:   Wed Aug 26 17:30:32 2009 +0930

    lib/tevent: remove spectacularly complicated manual subtraction
    
    To be completely honest, I don't quite know whether to laugh or cry at
    this one:
    
    	1 + (0xFFFFFFFF & ~(s.seen - s.count))
    	== 1 + (~(s.seen - s.count))		# s.seen, s.count are uint32_t
    	== s.count - s.seen			# -A == ~A + 1
    
    Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>
    (cherry picked from commit 4279879c9847ca069527e11ca934b8906009cad8)

commit c78d2a86f7410b6e09d0c326233e06f09dfc6ddb
Author: Günther Deschner <gd at samba.org>
Date:   Mon Aug 24 14:27:13 2009 +0200

    tevent: avoid using reserved c++ word.
    
    Guenther
    (cherry picked from commit 965a079535bd11a7870d45991a0d0628d6579b3b)

commit 4c63af17eda7e22fd6c258524204a44879006db7
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Aug 21 15:07:25 2009 -0700

    Fix for bug 6651 - smbd SIGSEGV when breaking oplocks. Based on a patch submitted by Petr Vandrovec <petr at vandrovec.name>. Multiple pending signals with siginfo_t's weren't being handled correctly leading to smbd abort with kernel oplock signals. Jeremy (cherry picked from commit ba52f18bfecfd7b0ba22c4ad9e9b5bfd18f34c93)

commit 1157ff3353b528d285f456d8e946d98bf202a560
Author: Michael Adam <obnox at samba.org>
Date:   Tue Aug 18 11:53:42 2009 +0200

    tevent: fix a comment
    
    Michael
    (cherry picked from commit 5270efab1a8dd06158aa45467958939b677e4b7b)

commit 6e8becce900e7686dcd81307722105d175103c06
Author: Stefan Metzmacher <metze at samba.org>
Date:   Sat Aug 15 10:44:50 2009 +0200

    tevent: change version to 0.9.7 after adding tevent_req_cancel infrastructure
    
    metze
    (cherry picked from commit 97a1ed53ca4255ac7fc5643292019ad30c276de5)

commit 0a14a3daa8c1f6d402865b8b1f24d91c64085176
Author: Stefan Metzmacher <metze at samba.org>
Date:   Sat Aug 15 09:46:23 2009 +0200

    tevent: add tevent_req_cancel() infrastructure
    
    This offers a generic way for callers to cancel an
    async request.
    
    metze
    (cherry picked from commit 45e4be0d96abdc729252df1e97bb9a56302e5a4a)

commit f6d54b0db737f3474820b491488c68de41e8e659
Author: Stefan Metzmacher <metze at samba.org>
Date:   Sat Aug 15 09:45:39 2009 +0200

    tevent: add some more doxygen comments for tevent_req functions
    
    metze
    (cherry picked from commit 95c3d3b5d8fdc05f20c826a48312f1230f036029)

commit 80d62cc788211cf2783e315359f832a95b88cdc5
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jul 16 09:06:42 2009 +0200

    tevent: try to fix the build on QNX qnx18 6.4.1 it doesn't have SA_RESTART defined
    
    metze
    (cherry picked from commit 39684d2cbe1c8c69dc9ca5c6e05861e24091bb83)

commit 5a66d5776923647169ab2ae816f6a632b0f4e8aa
Author: Jeremy Allison <jra at samba.org>
Date:   Tue Jul 14 16:54:01 2009 -0700

    Change to talloc_zero_size instead of extra memset. Jeremy. (cherry picked from commit 5927ca7067a0ead65c00042a62545b0d940f2b2a)

commit 620dde3a0fa246ebac35e64f1a99f56415b15e97
Author: Jeremy Allison <jra at samba.org>
Date:   Tue Jul 14 16:42:21 2009 -0700

    When tallocing a memory block for the state in a tevent_req struct, ensure it's zeroed out. Vl & Metze please check. Jeremy. (cherry picked from commit 7be1d727a31b34debbcf8faa1e0bea911112d145)

commit be0191b0c416f2fbf03d2cdb0a5ea3e8ce3d58e9
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Sep 4 13:13:53 2009 +0200

    Sort the signature files (cherry picked from commit 7119241c0d12768b31ebdb489aa0bbba6ca21e40)

commit 3ee857b058780fd3df915d8dab3e7d4ede682ce8
Author: Simo Sorce <idra at samba.org>
Date:   Thu Jun 18 20:06:00 2009 -0400

    Expose functions need by backend writers
    
    move publicly needed structures and functions in the public header.
    Stop installing internal headers.
    Update the signature and exports files with the new exposed
    function.
    (cherry picked from commit 30b2014a01b31d66dd76e0562c5d769dfacf167b)

commit 1e460e95956e9c1352ad9879ed2a9833b96b8746
Author: Simo Sorce <idra at samba.org>
Date:   Thu Jun 18 07:56:51 2009 -0400

    Revert "For tevent to install tevent_util.h"
    
    This reverts commit b112cc5503350b248949bdbcce8072f5523ce877.
    
    tevent_util.h is a private header. Must not be installed.
    (cherry picked from commit c92505817d6453c100ed52c9c3ab289f5589ce25)

commit 6c002a988bd37cc04b488d78c910540b19cac88e
Author: Eric Sandall <sandalle at sourcemage.org>
Date:   Fri Jun 12 13:24:30 2009 +0200

    For tevent to install tevent_util.h
    
    Patch for bug #6270
    
    This patch is for the future when samba4 builds using external libraries. With
    this patch, tevent now installs tevent_util.h which is required by samba4.
    (cherry picked from commit b112cc5503350b248949bdbcce8072f5523ce877)

commit 5543fc2599b3ec7e3a676f95d8283d0f55113ec5
Author: Simo Sorce <ssorce at redhat.com>
Date:   Sun Jun 7 14:10:15 2009 -0400

    Add exports file and abi checker for tevent
    
    This is a first attempt at exporting symbols only for public functions
    We also provide a rudimentary ABI checker that tries to check that
    function signatures are not changed by mistake.
    Given our use of macros this is not an API checker.
    It's all based on tevent.h contents and the gcc -aux-info option
    (cherry picked from commit efccef09aec93180a06955b5e03f1ceb99dc39e8)

commit 000d2835d78b6beb6db573a1946346e01de2ff7d
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Sep 4 13:12:42 2009 +0200

    Increase tevent version for tevent_req_notify_callback() (cherry picked from commit d0aedeb46e5d2da582b5c030114186f8d755b528)

commit 8d988b165d373d074b8be321bcc9c20a8e85a6fc
Author: Volker Lendecke <vl at samba.org>
Date:   Thu Jun 4 17:26:23 2009 +0200

    Add tevent_req_notify_callback
    
    This is necessary for requests that have multiple results. Examples would be
    SMBEcho and ldap_search.
    (cherry picked from commit c6f39b46a7b0505331612a1bee15a82f97009f0d)

commit d0ab357d3bae114bda2d678049e89272614da713
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Tue May 19 23:31:34 2009 +0200

    tevent/python: Makefile was still trying to build some non AC_SUBST python targets
    
    Signed-Off-By: Jelmer Vernooij <jelmer at samba.org>(cherry picked from commit cf9636ea99bb5063a8c7d771c1e29f684b4b753a)

commit ce80afbe3ad7534d659109e60874540531738aaf
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sat May 16 20:31:59 2009 +0200

    tevent: Define TALLOC_FREE() if it's not defined yet, to allow building with released versions of talloc. (cherry picked from commit 72b744f38ebb9f9576c05c7bb0a00de26697ec8f)

commit 1d0e302bc49c77542fa39a18d995268e8685d141
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Sep 4 13:10:56 2009 +0200

    tevent: Remove python module.
    
    This module didn't have any functionality that we actually used yet, and
    it was quite small.
    
    Tevent is quite low level and perhaps doesn't make much sense to expose
    directly as a Python module. It was also causing build problems when used with a
    system-tevent. We can always back later if necessary.
    (cherry picked from commit 5065cf70f8bf41193d6d33413f2285f62bba0502)

commit 30acc30ce5c01a30a96a6ce80ab99576574d8196
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sat May 16 04:14:21 2009 +0200

    tevent: Install tevent_internal.h in the standalone build.
    
    This is not ideal, but at least it fixes the build of samba-gtk for now.
    I've also added a warning about API guarantees at the top of the header.
    (cherry picked from commit 857c3f8322005efd460c2f516a9486a2de059e9f)

commit c20026a9afe1527f6442e8eedf669d199d8cdb26
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sat May 16 04:03:12 2009 +0200

    Update copies of config.guess and config.sub. (cherry picked from commit 6230eb94af2305f479db3b76479a0dc841c3d1d5)

commit 49c97fb7a1bc49b160677fc7fae69b05bd6161a4
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sat May 16 01:54:10 2009 +0200

    tevent: Don't install headers, since we don't install a shared lib either (from Samba). (cherry picked from commit 06864b4469f5f3d77637f8e6c97ec0558289cd29)

commit 915a516da4ef536d09075e14959cfa7e866f7e7b
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri May 1 17:45:39 2009 +0200

    tevent: fix typo async_req_done() => tevent_req_done()
    
    metze
    (cherry picked from commit 6f7cd213dd38e770224cf131054862b76069aed8)

commit 01a4ec433627fe36c9eef7a8f1a7f45b86eb8262
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Mar 19 14:31:43 2009 +0100

    tevent: fix the nesting logic
    
    Only tevent_loop_once and tevent_loop_until() should care
    about the nesting level.
    
    This fixes the samba3 printing code where we use tevent_loop_wait()
    and don't allow nested events.
    
    We still call the nesting hook for all levels, we need to decide
    if we really want this...
    
    metze
    (cherry picked from commit 36e7045340bbc7d6567008bdd87c4cdf717835bd)

commit 6e968a6f12de83be431e6244c34bb3cecf52ee42
Author: Andrew Tridgell <tridge at samba.org>
Date:   Thu Mar 19 11:21:36 2009 +1100

    fixed a logic bug in the tevent nesting code
    
    The event nesting code never triggered as nesting.level was never
    greater than 1. The main event loop needs to increase the nesting
    level by 1.
    
    I also added a paranoia check to the nesting setup call. The API as
    currently written cannot support multiple nesting hooks, so we need to
    abort if multiple hooks are tried.
    (cherry picked from commit 13b6663e23a424473d14324ac229a21e1e90580a)

-----------------------------------------------------------------------

Summary of changes:
 lib/replace/config.guess     |  153 +++++++++++++++++++++++++------
 lib/replace/config.sub       |  205 ++++++++++++++++++++++++++++++++----------
 lib/talloc/config.guess      |  153 +++++++++++++++++++++++++------
 lib/talloc/config.sub        |  205 ++++++++++++++++++++++++++++++++----------
 lib/tdb/config.guess         |  153 +++++++++++++++++++++++++------
 lib/tdb/config.sub           |  205 ++++++++++++++++++++++++++++++++----------
 lib/tevent/Makefile.in       |   15 ++--
 lib/tevent/abi_checks.sh     |   31 +++++++
 lib/tevent/config.guess      |  153 +++++++++++++++++++++++++------
 lib/tevent/config.sub        |  205 ++++++++++++++++++++++++++++++++----------
 lib/tevent/configure.ac      |   16 +---
 lib/tevent/libtevent.m4      |    5 +
 lib/tevent/pytevent.c        |  143 -----------------------------
 lib/tevent/python.mk         |    5 -
 lib/tevent/rules.mk          |    5 +-
 lib/tevent/samba.m4          |    5 -
 lib/tevent/tests.py          |   35 -------
 lib/tevent/testsuite.c       |   12 +++-
 lib/tevent/tevent.c          |   18 ++++-
 lib/tevent/tevent.exports    |   60 ++++++++++++
 lib/tevent/tevent.h          |   76 ++++++++++++++++
 lib/tevent/tevent.mk         |   20 ----
 lib/tevent/tevent.signatures |   55 +++++++++++
 lib/tevent/tevent_fd.c       |    2 +-
 lib/tevent/tevent_internal.h |   74 +++++-----------
 lib/tevent/tevent_req.c      |   98 +++++++++++++++++++--
 lib/tevent/tevent_signal.c   |  156 ++++++++++++++++++++++----------
 lib/tevent/tevent_util.h     |    6 ++
 source3/config.guess         |    6 +-
 source3/config.sub           |    6 +-
 source3/lib/ldb/config.guess |  153 +++++++++++++++++++++++++------
 source3/lib/ldb/config.sub   |  205 ++++++++++++++++++++++++++++++++----------
 source3/smbd/oplock_linux.c  |    4 +
 source4/config.guess         |  153 +++++++++++++++++++++++++------
 source4/config.sub           |  205 ++++++++++++++++++++++++++++++++----------
 source4/lib/ldb/config.guess |  153 +++++++++++++++++++++++++------
 source4/lib/ldb/config.sub   |  205 ++++++++++++++++++++++++++++++++----------
 source4/min_versions.m4      |    2 +-
 source4/selftest/tests.sh    |    1 -
 39 files changed, 2481 insertions(+), 881 deletions(-)
 create mode 100755 lib/tevent/abi_checks.sh
 delete mode 100644 lib/tevent/pytevent.c
 delete mode 100644 lib/tevent/python.mk
 delete mode 100644 lib/tevent/tests.py
 create mode 100644 lib/tevent/tevent.exports
 create mode 100644 lib/tevent/tevent.signatures


Changeset truncated at 500 lines:

diff --git a/lib/replace/config.guess b/lib/replace/config.guess
index 354dbe1..4af8558 100755
--- a/lib/replace/config.guess
+++ b/lib/replace/config.guess
@@ -1,13 +1,14 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+#   Free Software Foundation, Inc.
 
-timestamp='2005-08-03'
+timestamp='2009-04-27'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
+# the Free Software Foundation; either version 2 of the License, or
 # (at your option) any later version.
 #
 # This program is distributed in the hope that it will be useful, but
@@ -16,7 +17,9 @@ timestamp='2005-08-03'
 # General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, see <http://www.gnu.org/licenses/>.
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -53,8 +56,8 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -104,7 +107,7 @@ set_cc_for_build='
 trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
 trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
 : ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
  { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
  { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
  { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
@@ -158,6 +161,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	    arm*) machine=arm-unknown ;;
 	    sh3el) machine=shl-unknown ;;
 	    sh3eb) machine=sh-unknown ;;
+	    sh5el) machine=sh5le-unknown ;;
 	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
 	esac
 	# The Operating System including object format, if it has switched
@@ -204,8 +208,11 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     *:ekkoBSD:*:*)
 	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
 	exit ;;
+    *:SolidBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+	exit ;;
     macppc:MirBSD:*:*)
-	echo powerppc-unknown-mirbsd${UNAME_RELEASE}
+	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
 	exit ;;
     *:MirBSD:*:*)
 	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
@@ -317,14 +324,30 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	case `/usr/bin/uname -p` in
 	    sparc) echo sparc-icl-nx7; exit ;;
 	esac ;;
+    s390x:SunOS:*:*)
+	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
     sun4H:SunOS:5.*:*)
 	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 	exit ;;
     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
 	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 	exit ;;
-    i86pc:SunOS:5.*:*)
-	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+	eval $set_cc_for_build
+	SUN_ARCH="i386"
+	# If there is a compiler, see if it is configured for 64-bit objects.
+	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+	# This test works for both compilers.
+	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		grep IS_64BIT_ARCH >/dev/null
+	    then
+		SUN_ARCH="x86_64"
+	    fi
+	fi
+	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 	exit ;;
     sun4*:SunOS:6*:*)
 	# According to config.sub, this is the proper way to canonicalize
@@ -525,7 +548,7 @@ EOF
 		echo rs6000-ibm-aix3.2
 	fi
 	exit ;;
-    *:AIX:*:[45])
+    *:AIX:*:[456])
 	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
 	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
 		IBM_ARCH=rs6000
@@ -762,12 +785,19 @@ EOF
 	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
 	exit ;;
     *:FreeBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	case ${UNAME_MACHINE} in
+	    pc98)
+		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+	    amd64)
+		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+	    *)
+		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+	esac
 	exit ;;
     i*:CYGWIN*:*)
 	echo ${UNAME_MACHINE}-pc-cygwin
 	exit ;;
-    i*:MINGW*:*)
+    *:MINGW*:*)
 	echo ${UNAME_MACHINE}-pc-mingw32
 	exit ;;
     i*:windows32*:*)
@@ -777,9 +807,18 @@ EOF
     i*:PW*:*)
 	echo ${UNAME_MACHINE}-pc-pw32
 	exit ;;
-    x86:Interix*:[34]*)
-	echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
-	exit ;;
+    *:Interix*:[3456]*)
+	case ${UNAME_MACHINE} in
+	    x86)
+		echo i586-pc-interix${UNAME_RELEASE}
+		exit ;;
+	    EM64T | authenticamd | genuineintel)
+		echo x86_64-unknown-interix${UNAME_RELEASE}
+		exit ;;
+	    IA64)
+		echo ia64-unknown-interix${UNAME_RELEASE}
+		exit ;;
+	esac ;;
     [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
 	echo i${UNAME_MACHINE}-pc-mks
 	exit ;;
@@ -813,6 +852,16 @@ EOF
 	echo ${UNAME_MACHINE}-pc-minix
 	exit ;;
     arm*:Linux:*:*)
+	eval $set_cc_for_build
+	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+	    | grep -q __ARM_EABI__
+	then
+	    echo ${UNAME_MACHINE}-unknown-linux-gnu
+	else
+	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+	fi
+	exit ;;
+    avr32*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     cris:Linux:*:*)
@@ -849,7 +898,11 @@ EOF
 	#endif
 	#endif
 EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+	    /^CPU/{
+		s: ::g
+		p
+	    }'`"
 	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
 	;;
     mips64:Linux:*:*)
@@ -868,7 +921,11 @@ EOF
 	#endif
 	#endif
 EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+	    /^CPU/{
+		s: ::g
+		p
+	    }'`"
 	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
 	;;
     or32:Linux:*:*)
@@ -894,6 +951,9 @@ EOF
 	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
 	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
 	exit ;;
+    padre:Linux:*:*)
+	echo sparc-unknown-linux-gnu
+	exit ;;
     parisc:Linux:*:* | hppa:Linux:*:*)
 	# Look for CPU level
 	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
@@ -917,9 +977,15 @@ EOF
     sparc:Linux:*:* | sparc64:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
+    vax:Linux:*:*)
+	echo ${UNAME_MACHINE}-dec-linux-gnu
+	exit ;;
     x86_64:Linux:*:*)
 	echo x86_64-unknown-linux-gnu
 	exit ;;
+    xtensa*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
     i*86:Linux:*:*)
 	# The BFD linker knows what the default object file format is, so
 	# first see if it will tell us. cd to the root directory to prevent
@@ -938,9 +1004,6 @@ EOF
 	  a.out-i386-linux)
 		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
 		exit ;;
-	  coff-i386)
-		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
-		exit ;;
 	  "")
 		# Either a pre-BFD a.out linker (linux-gnuoldld) or
 		# one that does not give us useful --help.
@@ -962,7 +1025,7 @@ EOF
 	LIBC=gnulibc1
 	# endif
 	#else
-	#ifdef __INTEL_COMPILER
+	#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
 	LIBC=gnu
 	#else
 	LIBC=gnuaout
@@ -972,7 +1035,11 @@ EOF
 	LIBC=dietlibc
 	#endif
 EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
+	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+	    /^LIBC/{
+		s: ::g
+		p
+	    }'`"
 	test x"${LIBC}" != x && {
 		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
 		exit
@@ -1051,8 +1118,11 @@ EOF
     pc:*:*:*)
 	# Left here for compatibility:
         # uname -m prints for DJGPP always 'pc', but it prints nothing about
-        # the processor, so we play safe by assuming i386.
-	echo i386-pc-msdosdjgpp
+        # the processor, so we play safe by assuming i586.
+	# Note: whatever this is, it MUST be the same as what config.sub
+	# prints for the "djgpp" host, or else GDB configury will decide that
+	# this is a cross-build.
+	echo i586-pc-msdosdjgpp
         exit ;;
     Intel:Mach:3*:*)
 	echo i386-pc-mach3
@@ -1090,6 +1160,16 @@ EOF
     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
           && { echo i486-ncr-sysv4; exit; } ;;
+    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+	OS_REL='.3'
+	test -r /etc/.relid \
+	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
 	echo m68k-unknown-lynxos${UNAME_RELEASE}
 	exit ;;
@@ -1165,6 +1245,9 @@ EOF
     BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
 	echo i586-pc-beos
 	exit ;;
+    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
+	echo i586-pc-haiku
+	exit ;;
     SX-4:SUPER-UX:*:*)
 	echo sx4-nec-superux${UNAME_RELEASE}
 	exit ;;
@@ -1174,6 +1257,15 @@ EOF
     SX-6:SUPER-UX:*:*)
 	echo sx6-nec-superux${UNAME_RELEASE}
 	exit ;;
+    SX-7:SUPER-UX:*:*)
+	echo sx7-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-8:SUPER-UX:*:*)
+	echo sx8-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-8R:SUPER-UX:*:*)
+	echo sx8r-nec-superux${UNAME_RELEASE}
+	exit ;;
     Power*:Rhapsody:*:*)
 	echo powerpc-apple-rhapsody${UNAME_RELEASE}
 	exit ;;
@@ -1183,7 +1275,6 @@ EOF
     *:Darwin:*:*)
 	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
 	case $UNAME_PROCESSOR in
-	    *86) UNAME_PROCESSOR=i686 ;;
 	    unknown) UNAME_PROCESSOR=powerpc ;;
 	esac
 	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
@@ -1262,6 +1353,12 @@ EOF
     i*86:skyos:*:*)
 	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
 	exit ;;
+    i*86:rdos:*:*)
+	echo ${UNAME_MACHINE}-pc-rdos
+	exit ;;
+    i*86:AROS:*:*)
+	echo ${UNAME_MACHINE}-pc-aros
+	exit ;;
 esac
 
 #echo '(No uname command or uname output not recognized.)' 1>&2
@@ -1422,9 +1519,9 @@ This script, last modified $timestamp, has failed to recognize
 the operating system you are using. It is advised that you
 download the most up to date version of the config scripts from
 
-  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
 and
-  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
 
 If the version you run ($0) is already up to date, please
 send the following data and any information you think might be
diff --git a/lib/replace/config.sub b/lib/replace/config.sub
index 23cd6fd..80a7852 100755
--- a/lib/replace/config.sub
+++ b/lib/replace/config.sub
@@ -1,9 +1,10 @@
 #! /bin/sh
 # Configuration validation subroutine script.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+#   Free Software Foundation, Inc.
 
-timestamp='2005-07-08'
+timestamp='2009-04-17'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -11,7 +12,7 @@ timestamp='2005-07-08'
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
+# the Free Software Foundation; either version 2 of the License, or
 # (at your option) any later version.
 #
 # This program is distributed in the hope that it will be useful,
@@ -20,7 +21,9 @@ timestamp='2005-07-08'
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, see <http://www.gnu.org/licenses/>.
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -69,8 +72,8 @@ Report bugs and patches to <config-patches at gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -117,8 +120,10 @@ esac
 # Here we must recognize all the valid KERNEL-OS combinations.
 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
-  nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
-  kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
+  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+  kopensolaris*-gnu* | \
+  storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
     ;;
@@ -169,6 +174,10 @@ case $os in
 	-hiux*)
 		os=-hiuxwe2
 		;;
+	-sco6)
+		os=-sco5v6
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
 	-sco5)
 		os=-sco3.2v5
 		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@@ -185,6 +194,10 @@ case $os in
 		# Don't forget version if it is 3.2v4 or newer.
 		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
 		;;
+	-sco5v6*)
+		# Don't forget version if it is 3.2v4 or newer.
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
 	-sco*)
 		os=-sco3.2v2
 		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@@ -229,20 +242,24 @@ case $basic_machine in
 	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
 	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
 	| am33_2.0 \
-	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
+	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
 	| bfin \
 	| c4x | clipper \
 	| d10v | d30v | dlx | dsp16xx \
-	| fr30 | frv \
+	| fido | fr30 | frv \
 	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
 	| i370 | i860 | i960 | ia64 \
 	| ip2k | iq2000 \
-	| m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \
+	| lm32 \
+	| m32c | m32r | m32rle | m68000 | m68k | m88k \
+	| maxq | mb | microblaze | mcore | mep | metag \
 	| mips | mipsbe | mipseb | mipsel | mipsle \
 	| mips16 \
 	| mips64 | mips64el \
-	| mips64vr | mips64vrel \
+	| mips64octeon | mips64octeonel \
 	| mips64orion | mips64orionel \
+	| mips64r5900 | mips64r5900el \
+	| mips64vr | mips64vrel \
 	| mips64vr4100 | mips64vr4100el \
 	| mips64vr4300 | mips64vr4300el \
 	| mips64vr5000 | mips64vr5000el \
@@ -255,26 +272,26 @@ case $basic_machine in
 	| mipsisa64sr71k | mipsisa64sr71kel \
 	| mipstx39 | mipstx39el \
 	| mn10200 | mn10300 \
-	| ms1 \
+	| moxie \
+	| mt \
 	| msp430 \
+	| nios | nios2 \
 	| ns16k | ns32k \
 	| or32 \
 	| pdp10 | pdp11 | pj | pjl \
 	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
 	| pyramid \
-	| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+	| score \
+	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
 	| sh64 | sh64le \
-	| sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
-	| sparcv8 | sparcv9 | sparcv9b \
-	| strongarm \
+	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+	| spu | strongarm \
 	| tahoe | thumb | tic4x | tic80 | tron \
 	| v850 | v850e \
 	| we32k \
-	| x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
-	| z8k)
-		basic_machine=$basic_machine-unknown
-		;;
-	m32c)
+	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+	| z8k | z80)
 		basic_machine=$basic_machine-unknown
 		;;
 	m6811 | m68hc11 | m6812 | m68hc12)


-- 
Samba Shared Repository


More information about the samba-cvs mailing list