dragonfly.git
3 years agoi386: Move mp_set_cpuids() from mp_machdep.c to lapic.c
Sepherosa Ziehau [Thu, 12 May 2011 07:04:07 +0000 (15:04 +0800)]
i386: Move mp_set_cpuids() from mp_machdep.c to lapic.c

3 years agoi386: Move CPU ID and APIC ID maps from mp_machdep.c to lapic.c
Sepherosa Ziehau [Thu, 5 May 2011 11:21:53 +0000 (19:21 +0800)]
i386: Move CPU ID and APIC ID maps from mp_machdep.c to lapic.c

3 years agoi386: Move ioapic_map() from mp_machdep.c to ioapic.c
Sepherosa Ziehau [Thu, 5 May 2011 11:03:21 +0000 (19:03 +0800)]
i386: Move ioapic_map() from mp_machdep.c to ioapic.c

3 years agokernel: Add SLAB_DEBUG and VM_PAGE_DEBUG to the LINT* configs.
Sascha Wildner [Thu, 12 May 2011 12:16:09 +0000 (14:16 +0200)]
kernel: Add SLAB_DEBUG and VM_PAGE_DEBUG to the LINT* configs.

3 years agoperiodic.conf: Adjust for ipfilter removal.
Sascha Wildner [Thu, 12 May 2011 12:10:53 +0000 (14:10 +0200)]
periodic.conf: Adjust for ipfilter removal.

3 years agolibc -- Initial fmemopen support.
Venkatesh Srinivas [Wed, 11 May 2011 17:31:35 +0000 (10:31 -0700)]
libc -- Initial fmemopen support.

fmemopen allows wrapping a memory buffer in the FILE* interface.

fmemopen was added to POSIX 200809. This version is based around a patch
from Hiten Pandya for FreeBSD. This version does not currently support all of
POSIX's mode strings.

3 years agokernel ELF: Map PIE binaries at non-zero or specified address
John Marino [Tue, 10 May 2011 21:06:51 +0000 (23:06 +0200)]
kernel ELF: Map PIE binaries at non-zero or specified address

From FreeBSD:
svn 197933 (10 OCT 2009)
svn 197934 (10 OCT 2009)
svn 198202 (18 OCT 2009)

By default, map PIE binaries to a non-zero address.  The specified
default address was determined by FreeBSD by examining ld to see where
non-relocable binaries get put normally.

The binary relocation will not happen if the ET_DYN binary already has
a non-zero base address specified.

Also cleaned up some whitespace issues, and took some alignment checks
from FreeBSD.

3 years agokernel ELF: Do not map segments of zero length
John Marino [Tue, 10 May 2011 19:39:01 +0000 (21:39 +0200)]
kernel ELF: Do not map segments of zero length

From FreeBSD svn 197932 (10 OCT 2009)

3 years agokernel ELF: Reimplement Elf Branding, .note.ABI-tag
John Marino [Tue, 10 May 2011 19:17:07 +0000 (21:17 +0200)]
kernel ELF: Reimplement Elf Branding, .note.ABI-tag

Static executables built with the GNU gold linker are not recognized as
valid ELF binaries, although the same binaries built by ld linker did
work.

It was suspected that gold was keying off the .note.ABI-tag.  Primitive
support for this tag had been added years ago from NetBSD, and later
Corecode disabled it except for ELF program headers.

I removed all the .note.ABI-tag support that had been added after
DragonFly forked from FreeBSD and ported over FreeBSD's branding logic
and .note.ABI-tag support.  In particular, the branding logic a lot
cleaner now, and will easily support 32-bit binaries on x86_64 should
this feature arise in DragonFly in the future.

With these changes, gold can now build static executables that are
recognized and execute.  The Linuxolator had to be modified to work
with the new branding scheme as well (i386 only).

3 years agokernel -- Convert sb_timeo for socket timeout from short -> int.
Venkatesh Srinivas [Tue, 10 May 2011 19:54:07 +0000 (12:54 -0700)]
kernel -- Convert sb_timeo for socket timeout from short -> int.

Allows socket timeouts longer than 327; allows Varnish to run w/ default
configuration.

3 years agotaskqueue: Fix error message.
Sascha Wildner [Tue, 10 May 2011 16:26:19 +0000 (18:26 +0200)]
taskqueue: Fix error message.

3 years agoefun.3: evasprintf() wasn't brought in and easprintf() was missing docs.
Sascha Wildner [Mon, 9 May 2011 19:01:24 +0000 (21:01 +0200)]
efun.3: evasprintf() wasn't brought in and easprintf() was missing docs.

3 years agoSome manual page cleanup.
Sascha Wildner [Mon, 9 May 2011 15:26:15 +0000 (17:26 +0200)]
Some manual page cleanup.

3 years agowho.1: Fix a typo.
Sascha Wildner [Mon, 9 May 2011 08:41:58 +0000 (10:41 +0200)]
who.1: Fix a typo.

3 years agohammer.8: Fix a typo.
Sascha Wildner [Sun, 8 May 2011 20:36:47 +0000 (22:36 +0200)]
hammer.8: Fix a typo.

3 years agoAdd libgnuregex remains for removal via 'make upgrade'.
Sascha Wildner [Sun, 8 May 2011 20:29:47 +0000 (22:29 +0200)]
Add libgnuregex remains for removal via 'make upgrade'.

3 years agocvs: fix recently introduced, repeatable segfault
John Marino [Sun, 8 May 2011 19:42:46 +0000 (21:42 +0200)]
cvs: fix recently introduced, repeatable segfault

In specific involving local cvs repositories, the newly refactored cvs
would segfault.  It was traces back to libc's version of delim.  The
previous version of cvs provided its own functions like getline and
delim, but the recent change choose to use libc instead.

This "fix" basically goes back to the provided version of delim.  There
might be something wrong with the libc version.  It would work for a
while, but eventually it segfaulted on a memcpy command.

reported-by: swildner

3 years agoRemove libgnuregex from the system
John Marino [Sat, 7 May 2011 16:35:40 +0000 (18:35 +0200)]
Remove libgnuregex from the system

With recent upgrades to grep, diffutils, and CVS, this library is not
longer required.

3 years agocvs: Rebuild without gnuregex library
John Marino [Sat, 7 May 2011 14:48:11 +0000 (16:48 +0200)]
cvs: Rebuild without gnuregex library

CVS is the last software that uses the libgnuregex.  In fact, it only
used one of its headers, and it wasn't necessary.  This commit clears the
way for libgnuregex to be removed from base by restoring the use of the
provided regex source files.

Review showed:
* config.h.proto file was out of date
* alloca.h allowed macro redefinition
* prepend_args.* files weren't used
* doc files were generating warnings, maybe due to new texinfo upgrade
* MD library linking unnecessary
* other minor issues

3 years agoMerge branch 'vendor/CVS'
John Marino [Sat, 7 May 2011 16:04:09 +0000 (18:04 +0200)]
Merge branch 'vendor/CVS'

3 years agocvs vendor branch: restore local regex source files vendor/CVS
John Marino [Sat, 7 May 2011 11:23:46 +0000 (13:23 +0200)]
cvs vendor branch: restore local regex source files

3 years agoFix rc script order.
Sascha Wildner [Sat, 7 May 2011 12:19:32 +0000 (14:19 +0200)]
Fix rc script order.

3 years agoRemove ipfilter remains via 'make upgrade'.
Sascha Wildner [Sat, 7 May 2011 11:03:48 +0000 (13:03 +0200)]
Remove ipfilter remains via 'make upgrade'.

3 years agoddb.4: Argh, it's Control-Alt-Esc.
Sascha Wildner [Sat, 7 May 2011 09:29:42 +0000 (11:29 +0200)]
ddb.4: Argh, it's Control-Alt-Esc.

3 years agoddb.4: Mention that the default for invoking ddb(4) is Control-Alt-Delete.
Sascha Wildner [Sat, 7 May 2011 09:28:59 +0000 (11:28 +0200)]
ddb.4: Mention that the default for invoking ddb(4) is Control-Alt-Delete.

Reported-by: marino
3 years agoGDB: Upgrade version from 7.0 to 7.2
John Marino [Tue, 3 May 2011 22:11:24 +0000 (00:11 +0200)]
GDB: Upgrade version from 7.0 to 7.2

It was thought that an minor point upgrade of gdb would be a straight-
forward task, but that wasn't the case.  There was an architectural change
between version 7.0 and 7.2 that introduced the concept of separate program
spaces and address spaces for each "inferior" (process being debugged) that
required a rework of the kernel debugger to make it work properly.

One ramification from this change is now GDB 7.2 starts off with one
inferior with process ID of 0.  GDB 7.0 started off with no inferiors
pre-defined.  However, there is a legitimate process with PID 0, and that's
the swapper.  GDB 7.2 had to be modified to behave one way as gdb and
differently as kgdb.  An undocumented command-line option "--kernel" was
added, which prevents the initial inferior from being created, and disables
all asserts and checks for pid 0.  There is no reason for a normal user to
use the --kernel option; it's only for kgdb to signal to gdb to operate
differently.

The major required change to kgdb was to create an unique program space and
address space for each inferior.  The trick to get threading symbols to
display was to copy the object file and target section data from the
initial program space over to each additionally created one.  There are
some other minor changed required by function prototype changes and some
minor improvements were borrowed from FreeBSD.

GDB 7.3 should be released relatively soon.  This update to GDB 7.2 is
considered a stepping-stone upgrade.  There are no apparently design
changes between versions 7.2 and 7.3, so the update to 7.3 is expected
to be very easy, and will occur after the 7.3 release, assuming there are
no issues found with the 7.2 upgrade.

=============================================
 Changes by GDB 7.1 (Released 18 March 2010)
=============================================

* C++ Improvements

  ** Namespace Support

  GDB now supports importing of namespaces in C++.  This enables the
  user to inspect variables from imported namespaces.  Support for
  namepace aliasing has also been added.  So, if a namespace is
  aliased in the current scope (e.g. namepace C=A; ) the user can
  print variables using the alias (e.g. (gdb) print C::x).

  ** Bug Fixes

  All known bugs relating to the printing of virtual base class were
  fixed.  It is now possible to call overloaded static methods using a
  qualified name.

  ** Cast Operators

  The C++ cast operators static_cast<>, dynamic_cast<>, const_cast<>,
  and reinterpret_cast<> are now handled by the C++ expression parser.

* New targets

Xilinx MicroBlaze microblaze-*-*
Renesas RX rx-*-elf

* New Simulators

Xilinx MicroBlaze microblaze
Renesas RX rx

* Multi-program debugging.

  GDB now has support for multi-program (a.k.a. multi-executable or
  multi-exec) debugging.  This allows for debugging multiple inferiors
  simultaneously each running a different program under the same GDB
  session.  See "Debugging Multiple Inferiors and Programs" in the
  manual for more information.  This implied some user visible changes
  in the multi-inferior support.  For example, "info inferiors" now
  lists inferiors that are not running yet or that have exited
  already.  See also "New commands" and "New options" below.

* New tracing features

  GDB's tracepoint facility now includes several new features:

  ** Trace state variables

  GDB tracepoints now include support for trace state variables, which
  are variables managed by the target agent during a tracing
  experiment.  They are useful for tracepoints that trigger each
  other, so for instance one tracepoint can count hits in a variable,
  and then a second tracepoint has a condition that is true when the
  count reaches a particular value.  Trace state variables share the
  $-syntax of GDB convenience variables, and can appear in both
  tracepoint actions and condition expressions.  Use the "tvariable"
  command to create, and "info tvariables" to view; see "Trace State
  Variables" in the manual for more detail.

  ** Fast tracepoints

  GDB now includes an option for defining fast tracepoints, which
  targets may implement more efficiently, such as by installing a jump
  into the target agent rather than a trap instruction.  The resulting
  speedup can be by two orders of magnitude or more, although the
  tradeoff is that some program locations on some target architectures
  might not allow fast tracepoint installation, for instance if the
  instruction to be replaced is shorter than the jump.  To request a
  fast tracepoint, use the "ftrace" command, with syntax identical to
  the regular trace command.

  ** Disconnected tracing

  It is now possible to detach GDB from the target while it is running
  a trace experiment, then reconnect later to see how the experiment
  is going.  In addition, a new variable disconnected-tracing lets you
  tell the target agent whether to continue running a trace if the
  connection is lost unexpectedly.

  ** Trace files

  GDB now has the ability to save the trace buffer into a file, and
  then use that file as a target, similarly to you can do with
  corefiles.  You can select trace frames, print data that was
  collected in them, and use tstatus to display the state of the
  tracing run at the moment that it was saved.  To create a trace
  file, use "tsave <filename>", and to use it, do "target tfile
  <name>".

  ** Circular trace buffer

  You can ask the target agent to handle the trace buffer as a
  circular buffer, discarding the oldest trace frames to make room for
  newer ones, by setting circular-trace-buffer to on.  This feature may
  not be available for all target agents.

* Changed commands

disassemble
  The disassemble command, when invoked with two arguments, now requires
  the arguments to be comma-separated.

info variables
  The info variables command now displays variable definitions.  Files
  which only declare a variable are not shown.

source
  The source command is now capable of sourcing Python scripts.
  This feature is dependent on the debugger being build with Python
  support.

  Related to this enhancement is also the introduction of a new command
  "set script-extension" (see below).

* New commands (for set/show, see "New options" below)

record save [<FILENAME>]
  Save a file (in core file format) containing the process record
  execution log for replay debugging at a later time.

record restore <FILENAME>
  Restore the process record execution log that was saved at an
  earlier time, for replay debugging.

add-inferior [-copies <N>] [-exec <FILENAME>]
  Add a new inferior.

clone-inferior [-copies <N>] [ID]
  Make a new inferior ready to execute the same program another
  inferior has loaded.

remove-inferior ID
  Remove an inferior.

maint info program-spaces
  List the program spaces loaded into GDB.

set remote interrupt-sequence [Ctrl-C | BREAK | BREAK-g]
show remote interrupt-sequence
  Allow the user to select one of ^C, a BREAK signal or BREAK-g
  as the sequence to the remote target in order to interrupt the execution.
  Ctrl-C is a default.  Some system prefers BREAK which is high level of
  serial line for some certain time.  Linux kernel prefers BREAK-g, a.k.a
  Magic SysRq g.  It is BREAK signal and character 'g'.

set remote interrupt-on-connect [on | off]
show remote interrupt-on-connect
  When interrupt-on-connect is ON, gdb sends interrupt-sequence to
  remote target when gdb connects to it.  This is needed when you debug
  Linux kernel.

set remotebreak [on | off]
show remotebreak
Deprecated.  Use "set/show remote interrupt-sequence" instead.

tvariable $NAME [ = EXP ]
  Create or modify a trace state variable.

info tvariables
  List trace state variables and their values.

delete tvariable $NAME ...
  Delete one or more trace state variables.

teval EXPR, ...
  Evaluate the given expressions without collecting anything into the
  trace buffer. (Valid in tracepoint actions only.)

ftrace FN / FILE:LINE / *ADDR
  Define a fast tracepoint at the given function, line, or address.

* New expression syntax

  GDB now parses the 0b prefix of binary numbers the same way as GCC does.
  GDB now parses 0b101010 identically with 42.

* New options

set follow-exec-mode new|same
show follow-exec-mode
  Control whether GDB reuses the same inferior across an exec call or
  creates a new one.  This is useful to be able to restart the old
  executable after the inferior having done an exec call.

set default-collect EXPR, ...
show default-collect
   Define a list of expressions to be collected at each tracepoint.
   This is a useful way to ensure essential items are not overlooked,
   such as registers or a critical global variable.

set disconnected-tracing
show disconnected-tracing
   If set to 1, the target is instructed to continue tracing if it
   loses its connection to GDB.  If 0, the target is to stop tracing
   upon disconnection.

set circular-trace-buffer
show circular-trace-buffer
   If set to on, the target is instructed to use a circular trace buffer
   and discard the oldest trace frames instead of stopping the trace due
   to a full trace buffer.  If set to off, the trace stops when the buffer
   fills up.  Some targets may not support this.

set script-extension off|soft|strict
show script-extension
   If set to "off", the debugger does not perform any script language
   recognition, and all sourced files are assumed to be GDB scripts.
   If set to "soft" (the default), files are sourced according to
   filename extension, falling back to GDB scripts if the first
   evaluation failed.
   If set to "strict", files are sourced according to filename extension.

set ada trust-PAD-over-XVS on|off
show ada trust-PAD-over-XVS
   If off, activate a workaround against a bug in the debugging information
   generated by the compiler for PAD types (see gcc/exp_dbug.ads in
   the GCC sources for more information about the GNAT encoding and
   PAD types in particular).  It is always safe to set this option to
   off, but this introduces a slight performance penalty.  The default
   is on.

* Python API Improvements

  ** GDB provides the new class gdb.LazyString.  This is useful in
     some pretty-printing cases.  The new method gdb.Value.lazy_string
     provides a simple way to create objects of this type.

  ** The fields returned by gdb.Type.fields now have an
     `is_base_class' attribute.

  ** The new method gdb.Type.range returns the range of an array type.

  ** The new method gdb.parse_and_eval can be used to parse and
     evaluate an expression.

* New remote packets

QTDV
   Define a trace state variable.

qTV
   Get the current value of a trace state variable.

QTDisconnected
   Set desired tracing behavior upon disconnection.

QTBuffer:circular
   Set the trace buffer to be linear or circular.

qTfP, qTsP
   Get data about the tracepoints currently in use.

* Bug fixes

Process record now works correctly with hardware watchpoints.

Multiple bug fixes have been made to the mips-irix port, making it
much more reliable. In particular:
  - Debugging threaded applications is now possible again.  Previously,
    GDB would hang while starting the program, or while waiting for
    the program to stop at a breakpoint.
  - Attaching to a running process no longer hangs.
  - An error occurring while loading a core file has been fixed.
  - Changing the value of the PC register now works again.  This fixes
    problems observed when using the "jump" command, or when calling
    a function from GDB, or even when assigning a new value to $pc.
  - With the "finish" and "return" commands, the return value for functions
    returning a small array is now correctly printed.
  - It is now possible to break on shared library code which gets executed
    during a shared library init phase (code executed while executing
    their .init section).  Previously, the breakpoint would have no effect.
  - GDB is now able to backtrace through the signal handler for
    non-threaded programs.

PIE (Position Independent Executable) programs debugging is now supported.
This includes debugging execution of PIC (Position Independent Code) shared
libraries although for that, it should be possible to run such libraries as an
executable program.

=================================================
 Changes by GDB 7.2 (Released 02 September 2010)
=================================================

* Shared library support for remote targets by default

  When GDB is configured for a generic, non-OS specific target, like
  for example, --target=arm-eabi or one of the many *-*-elf targets,
  GDB now queries remote stubs for loaded shared libraries using the
  `qXfer:libraries:read' packet.  Previously, shared library support
  was always disabled for such configurations.

* C++ Improvements:

  ** Argument Dependent Lookup (ADL)

  In C++ ADL lookup directs function search to the namespaces of its
  arguments even if the namespace has not been imported.
  For example:
    namespace A
      {
        class B { };
        void foo (B) { }
      }
    ...
    A::B b
    foo(b)
  Here the compiler will search for `foo' in the namespace of 'b'
  and find A::foo.  GDB now supports this.  This construct is commonly
  used in the Standard Template Library for operators.

  ** Improved User Defined Operator Support

  In addition to member operators, GDB now supports lookup of operators
  defined in a namespace and imported with a `using' directive, operators
  defined in the global scope, operators imported implicitly from an
  anonymous namespace, and the ADL operators mentioned in the previous
  entry.
  GDB now also supports proper overload resolution for all the previously
  mentioned flavors of operators.

  ** static const class members

  Printing of static const class members that are initialized in the
  class definition has been fixed.

* Windows Thread Information Block access.

  On Windows targets, GDB now supports displaying the Windows Thread
  Information Block (TIB) structure.  This structure is visible either
  by using the new command `info w32 thread-information-block' or, by
  dereferencing the new convenience variable named `$_tlb', a
  thread-specific pointer to the TIB.  This feature is also supported
  when remote debugging using GDBserver.

* Static tracepoints

  Static tracepoints are calls in the user program into a tracing
  library.  One such library is a port of the LTTng kernel tracer to
  userspace --- UST (LTTng Userspace Tracer, http://lttng.org/ust).
  When debugging with GDBserver, GDB now supports combining the GDB
  tracepoint machinery with such libraries.  For example: the user can
  use GDB to probe a static tracepoint marker (a call from the user
  program into the tracing library) with the new "strace" command (see
  "New commands" below).  This creates a "static tracepoint" in the
  breakpoint list, that can be manipulated with the same feature set
  as fast and regular tracepoints.  E.g., collect registers, local and
  global variables, collect trace state variables, and define
  tracepoint conditions.  In addition, the user can collect extra
  static tracepoint marker specific data, by collecting the new
  $_sdata internal variable.  When analyzing the trace buffer, you can
  inspect $_sdata like any other variable available to GDB.  For more
  information, see the "Tracepoints" chapter in GDB user manual.  New
  remote packets have been defined to support static tracepoints, see
  the "New remote packets" section below.

* Better reconstruction of tracepoints after disconnected tracing

  GDB will attempt to download the original source form of tracepoint
  definitions when starting a trace run, and then will upload these
  upon reconnection to the target, resulting in a more accurate
  reconstruction of the tracepoints that are in use on the target.

* Observer mode

  You can now exercise direct control over the ways that GDB can
  affect your program.  For instance, you can disallow the setting of
  breakpoints, so that the program can run continuously (assuming
  non-stop mode).  In addition, the "observer" variable is available
  to switch all of the different controls; in observer mode, GDB
  cannot affect the target's behavior at all, which is useful for
  tasks like diagnosing live systems in the field.

* The new convenience variable $_thread holds the number of the
  current thread.

* New remote packets

qGetTIBAddr

  Return the address of the Windows Thread Information Block of a given thread.

qRelocInsn

  In response to several of the tracepoint packets, the target may now
  also respond with a number of intermediate `qRelocInsn' request
  packets before the final result packet, to have GDB handle
  relocating an instruction to execute at a different address.  This
  is particularly useful for stubs that support fast tracepoints.  GDB
  reports support for this feature in the qSupported packet.

qTfSTM, qTsSTM

  List static tracepoint markers in the target program.

qTSTMat

  List static tracepoint markers at a given address in the target
  program.

qXfer:statictrace:read

  Read the static trace data collected (by a `collect $_sdata'
  tracepoint action).  The remote stub reports support for this packet
  to gdb's qSupported query.

QAllow

  Send the current settings of GDB's permission flags.

QTDPsrc

  Send part of the source (textual) form of a tracepoint definition,
  which includes location, conditional, and action list.

* The source command now accepts a -s option to force searching for the
  script in the source search path even if the script name specifies
  a directory.

* New features in the GDB remote stub, GDBserver

  - GDBserver now support tracepoints (including fast tracepoints, and
    static tracepoints).  The feature is currently supported by the
    i386-linux and amd64-linux builds.  See the "Tracepoints support
    in gdbserver" section in the manual for more information.

    GDBserver JIT compiles the tracepoint's conditional agent
    expression bytecode into native code whenever possible for low
    overhead dynamic tracepoints conditionals.  For such tracepoints,
    an expression that examines program state is evaluated when the
    tracepoint is reached, in order to determine whether to capture
    trace data.  If the condition is simple and false, processing the
    tracepoint finishes very quickly and no data is gathered.

    GDBserver interfaces with the UST (LTTng Userspace Tracer) library
    for static tracepoints support.

  - GDBserver now supports x86_64 Windows 64-bit debugging.

* GDB now sends xmlRegisters= in qSupported packet to indicate that
  it understands register description.

* The --batch flag now disables pagination and queries.

* X86 general purpose registers

  GDB now supports reading/writing byte, word and double-word x86
  general purpose registers directly.  This means you can use, say,
  $ah or $ax to refer, respectively, to the byte register AH and
  16-bit word register AX that are actually portions of the 32-bit
  register EAX or 64-bit register RAX.

* The `commands' command now accepts a range of breakpoints to modify.
  A plain `commands' following a command that creates multiple
  breakpoints affects all the breakpoints set by that command.  This
  applies to breakpoints set by `rbreak', and also applies when a
  single `break' command creates multiple breakpoints (e.g.,
  breakpoints on overloaded c++ functions).

* The `rbreak' command now accepts a filename specification as part of
  its argument, limiting the functions selected by the regex to those
  in the specified file.

* Support for remote debugging Windows and SymbianOS shared libraries
  from Unix hosts has been improved.  Non Windows GDB builds now can
  understand target reported file names that follow MS-DOS based file
  system semantics, such as file names that include drive letters and
  use the backslash character as directory separator.  This makes it
  possible to transparently use the "set sysroot" and "set
  solib-search-path" on Unix hosts to point as host copies of the
  target's shared libraries.  See the new command "set
  target-file-system-kind" described below, and the "Commands to
  specify files" section in the user manual for more information.

* New commands

eval template, expressions...
  Convert the values of one or more expressions under the control
  of the string template to a command line, and call it.

set target-file-system-kind unix|dos-based|auto
show target-file-system-kind
  Set or show the assumed file system kind for target reported file
  names.

save breakpoints <filename>
  Save all current breakpoint definitions to a file suitable for use
  in a later debugging session.  To read the saved breakpoint
  definitions, use the `source' command.

`save tracepoints' is a new alias for `save-tracepoints'.  The latter
is now deprecated.

info static-tracepoint-markers
  Display information about static tracepoint markers in the target.

strace FN | FILE:LINE | *ADDR | -m MARKER_ID
  Define a static tracepoint by probing a marker at the given
  function, line, address, or marker ID.

set observer on|off
show observer
  Enable and disable observer mode.

set may-write-registers on|off
set may-write-memory on|off
set may-insert-breakpoints on|off
set may-insert-tracepoints on|off
set may-insert-fast-tracepoints on|off
set may-interrupt on|off
  Set individual permissions for GDB effects on the target.  Note that
  some of these settings can have undesirable or surprising
  consequences, particularly when changed in the middle of a session.
  For instance, disabling the writing of memory can prevent
  breakpoints from being inserted, cause single-stepping to fail, or
  even crash your program, if you disable after breakpoints have been
  inserted.  However, GDB should not crash.

set record memory-query on|off
show record memory-query
  Control whether to stop the inferior if memory changes caused
  by an instruction cannot be recorded.

* Changed commands

disassemble
  The disassemble command now supports "start,+length" form of two arguments.

* Python scripting

** GDB now provides a new directory location, called the python directory,
   where Python scripts written for GDB can be installed.  The location
   of that directory is <data-directory>/python, where <data-directory>
   is the GDB data directory.  For more details, see section `Scripting
   GDB using Python' in the manual.

** The GDB Python API now has access to breakpoints, symbols, symbol
   tables, program spaces, inferiors, threads and frame's code blocks.
   Additionally, GDB Parameters can now be created from the API, and
   manipulated via set/show in the CLI.

** New functions gdb.target_charset, gdb.target_wide_charset,
   gdb.progspaces, gdb.current_progspace, and gdb.string_to_argv.

** New exception gdb.GdbError.

** Pretty-printers are now also looked up in the current program space.

** Pretty-printers can now be individually enabled and disabled.

** GDB now looks for names of Python scripts to auto-load in a
   special section named `.debug_gdb_scripts', in addition to looking
   for a OBJFILE-gdb.py script when OBJFILE is read by the debugger.

* Tracepoint actions were unified with breakpoint commands. In particular,
there are no longer differences in "info break" output for breakpoints and
tracepoints and the "commands" command can be used for both tracepoints and
regular breakpoints.

* New targets

ARM Symbian arm*-*-symbianelf*

* D language support.
  GDB now supports debugging programs written in the D programming
  language.

* GDB now supports the extended ptrace interface for PowerPC which is
  available since Linux kernel version 2.6.34.  This automatically enables
  any hardware breakpoints and additional hardware watchpoints available in
  the processor.  The old ptrace interface exposes just one hardware
  watchpoint and no hardware breakpoints.

* GDB is now able to use the Data Value Compare (DVC) register available on
  embedded PowerPC processors to implement in hardware simple watchpoint
  conditions of the form:

  watch ADDRESS|VARIABLE if ADDRESS|VARIABLE == CONSTANT EXPRESSION

  This works in native GDB running on Linux kernels with the extended ptrace
  interface mentioned above.

3 years agoMerge branch 'vendor/GDB'
John Marino [Sat, 7 May 2011 08:23:29 +0000 (10:23 +0200)]
Merge branch 'vendor/GDB'

Conflicts:
contrib/gdb-7/gdb/charset.c

3 years agoUpgrade GDB from 7.0 and 7.2 on the vendor branch
John Marino [Tue, 3 May 2011 20:53:42 +0000 (22:53 +0200)]
Upgrade GDB from 7.0 and 7.2 on the vendor branch

3 years agokernel: Add -Wold-style-definition to the warnings.
Sascha Wildner [Fri, 6 May 2011 22:32:03 +0000 (00:32 +0200)]
kernel: Add -Wold-style-definition to the warnings.

3 years agoRemove ipfilter from the system.
Sascha Wildner [Fri, 6 May 2011 22:12:05 +0000 (00:12 +0200)]
Remove ipfilter from the system.

3 years agoFix LINT64 build.
Sascha Wildner [Fri, 6 May 2011 22:10:14 +0000 (00:10 +0200)]
Fix LINT64 build.

3 years agoAdd some files to remove via 'make upgrade'.
Sascha Wildner [Fri, 6 May 2011 21:31:19 +0000 (23:31 +0200)]
Add some files to remove via 'make upgrade'.

3 years agompt(4): Make mpt_{vol,disk}_prt() printflike.
Sascha Wildner [Fri, 6 May 2011 21:26:21 +0000 (23:26 +0200)]
mpt(4): Make mpt_{vol,disk}_prt() printflike.

3 years agoFix LINT build.
Sascha Wildner [Fri, 6 May 2011 21:22:03 +0000 (23:22 +0200)]
Fix LINT build.

3 years agomake upgrade - removal additional obsolete files
Matthew Dillon [Fri, 6 May 2011 08:45:38 +0000 (01:45 -0700)]
make upgrade - removal additional obsolete files

* Remove /usr/lib/libc_r.so.5, libthread_xu.so.2, libc_r_p.a, and
  libthread_xu_p.a, in addition to the base libc_r and libthread_xu
  libraries.

* All of these were relocated to /usr/lib/thread/

3 years agomake upgrade - Allow removal of protected files
Matthew Dillon [Fri, 6 May 2011 08:39:16 +0000 (01:39 -0700)]
make upgrade - Allow removal of protected files

* chflags -Rf noschg <blah> from the files to be deleted list
  before attempting to rm -rf <blah>.

* Fixes the proper removal of obsolete or moved libraries.

3 years agolibpthread - Always override the symlinks
Matthew Dillon [Fri, 6 May 2011 08:24:28 +0000 (01:24 -0700)]
libpthread - Always override the symlinks

* Always override the symlinks for /usr/lib/libpthread* to ensure that
  very old systems are properly upgraded.

* If the user wants to point the symlink at a different threading library
  the use rcan set THREAD_LIB in /etc/make.conf.

Reported-by: Vitaly Shevtsov <loki.vt@gmail.com>
3 years agogcc 4.4: Remove PIE profiling trigger
John Marino [Thu, 5 May 2011 19:16:01 +0000 (21:16 +0200)]
gcc 4.4: Remove PIE profiling trigger

The support for Position Independent Executables came from FreeBSD.
Unfortunately, a bug in their initial commit was also carried over.
Removing the GCRT define from the i386 crtstuff makefile will stop
PIE binaries from generating *.gmon files as they are executed.  The main
software that suffers this are cups and samba.  Rebuilding those ports
after rebuilding world will fix this issue on the i386 platform, the only
one affected.

Report by mroland, issue 2063

3 years agoMerge branch 'master' of /repository/git/dragonfly
Venkatesh Srinivas [Thu, 5 May 2011 08:31:31 +0000 (01:31 -0700)]
Merge branch 'master' of /repository/git/dragonfly

3 years agox86_64: Get rid of cpu_apic_versions
Sepherosa Ziehau [Thu, 5 May 2011 08:29:54 +0000 (16:29 +0800)]
x86_64: Get rid of cpu_apic_versions

3 years agobitstring.h -- Correct errors in bit_nsearch.
Venkatesh Srinivas [Thu, 5 May 2011 08:28:59 +0000 (01:28 -0700)]
bitstring.h -- Correct errors in bit_nsearch.

* bit_nsearch returned 0, not the correct -1, for a size 0 request.

* bit_nsearch returned 0, not the correct -1, for requests larger than the
  bitvector.

* bit_nsearch didn't find a zero cluster if it was the last one in a vector.

Submitted-by: Luis Useche <useche@gmail.com>
Closes bug: 2057

3 years agoi386: Get rid of cpu_apic_versions
Sepherosa Ziehau [Thu, 5 May 2011 05:18:03 +0000 (13:18 +0800)]
i386: Get rid of cpu_apic_versions

This global array is only used by kprintf, well, useless now.

3 years agoi386: Unbreak buildkernel
Sepherosa Ziehau [Thu, 5 May 2011 02:20:41 +0000 (10:20 +0800)]
i386: Unbreak buildkernel

Reported-by: ejc <eric.j.christeson@gmail.com>
3 years agogcc: Remove support for the %z conversion specifier in printf-like stuff.
Sascha Wildner [Thu, 5 May 2011 01:41:24 +0000 (03:41 +0200)]
gcc: Remove support for the %z conversion specifier in printf-like stuff.

This was previously needed for printing signed hex numbers from ddb(4).

Now that ddb(4) has been modified to no longer need it, get rid of the
compiler change too.

3 years agokernel/ddb: Fix examine's z format (for signed hex).
Sascha Wildner [Thu, 5 May 2011 01:17:57 +0000 (03:17 +0200)]
kernel/ddb: Fix examine's z format (for signed hex).

This was previously attempted to be printed with a special %z conversion
specifier of kprintf(). But our kprintf() doesn't support this specifier.
Either support for it got lost along the way or we never had it, I didn't
check.

Since we want to get rid of non-standard conversion specifiers (because
they require compiler modification for silencing format warnings), use a
db_format_hex() function that does the same as %z was supposed to do.

Taken-from: NetBSD

3 years agox86_64: Split out mptable.c from mp_machdep.c
Sepherosa Ziehau [Wed, 4 May 2011 09:24:24 +0000 (17:24 +0800)]
x86_64: Split out mptable.c from mp_machdep.c

3 years agox86_64: Move ioapic function declarations from smp.h to apic/ioapic.h
Sepherosa Ziehau [Wed, 4 May 2011 09:04:43 +0000 (17:04 +0800)]
x86_64: Move ioapic function declarations from smp.h to apic/ioapic.h

3 years agox86_64: Move lapic function declarations from smp.h to apic/lapic.h
Sepherosa Ziehau [Wed, 4 May 2011 08:45:42 +0000 (16:45 +0800)]
x86_64: Move lapic function declarations from smp.h to apic/lapic.h

3 years agox86_64: apic/mpapic.h -> apic/lapic.h
Sepherosa Ziehau [Wed, 4 May 2011 08:36:53 +0000 (16:36 +0800)]
x86_64: apic/mpapic.h -> apic/lapic.h

3 years agox86_64: Split mpapic.c into lapic.c and ioapic.c
Sepherosa Ziehau [Wed, 4 May 2011 08:19:17 +0000 (16:19 +0800)]
x86_64: Split mpapic.c into lapic.c and ioapic.c

3 years agoi386: Split out mptable.c from mp_machdep.c
Sepherosa Ziehau [Wed, 4 May 2011 06:41:21 +0000 (14:41 +0800)]
i386: Split out mptable.c from mp_machdep.c

3 years agoi386/lapic: Use pmap_mapdev_uncacheable() to map LAPIC
Sepherosa Ziehau [Wed, 4 May 2011 06:08:57 +0000 (14:08 +0800)]
i386/lapic: Use pmap_mapdev_uncacheable() to map LAPIC

3 years agoi386/ioapic: Use pmap_mapdev_uncacheable() to map I/O APIC
Sepherosa Ziehau [Wed, 4 May 2011 05:20:59 +0000 (13:20 +0800)]
i386/ioapic: Use pmap_mapdev_uncacheable() to map I/O APIC

3 years agoi386: Copy pmap_mapdev_uncacheable() from x86_64
Sepherosa Ziehau [Wed, 4 May 2011 03:46:05 +0000 (11:46 +0800)]
i386: Copy pmap_mapdev_uncacheable() from x86_64

3 years agoi386: Move ioapic function declarations from smp.h to apic/ioapic.h
Sepherosa Ziehau [Wed, 4 May 2011 03:26:00 +0000 (11:26 +0800)]
i386: Move ioapic function declarations from smp.h to apic/ioapic.h

3 years agoi386: Move lapic function declarations from smp.h to apic/lapic.h
Sepherosa Ziehau [Wed, 4 May 2011 03:16:04 +0000 (11:16 +0800)]
i386: Move lapic function declarations from smp.h to apic/lapic.h

3 years agoi386: apic/mpapic.h -> apic/lapic.h
Sepherosa Ziehau [Wed, 4 May 2011 03:00:35 +0000 (11:00 +0800)]
i386: apic/mpapic.h -> apic/lapic.h

3 years agoi386: Split mpapic.c into lapic.c and ioapic.c
Sepherosa Ziehau [Wed, 4 May 2011 02:25:18 +0000 (10:25 +0800)]
i386: Split mpapic.c into lapic.c and ioapic.c

3 years agoinstallkernel: Copy /boot/kernel/initrd.img to /boot/kernel.old too.
Sascha Wildner [Mon, 2 May 2011 23:11:36 +0000 (01:11 +0200)]
installkernel: Copy /boot/kernel/initrd.img to /boot/kernel.old too.

Reported-by: Tim Darby <t+dfbsd@timdarby.net>
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue2059>

3 years agogcc44: provide pragma pack(push) & pragma pack(pop) support
John Marino [Sun, 1 May 2011 19:12:37 +0000 (21:12 +0200)]
gcc44: provide pragma pack(push) & pragma pack(pop) support

3 years agoAdd a LINT64 kernel config.
Sascha Wildner [Sun, 1 May 2011 17:09:07 +0000 (19:09 +0200)]
Add a LINT64 kernel config.

3 years agokernel: Make ep(4) and ie(4) compilable into the x86_64 kernel.
Sascha Wildner [Sun, 1 May 2011 16:54:12 +0000 (18:54 +0200)]
kernel: Make ep(4) and ie(4) compilable into the x86_64 kernel.

3 years agoinfokey(1): Add new Texinfo man page for infokey
John Marino [Sun, 1 May 2011 15:40:37 +0000 (17:40 +0200)]
infokey(1): Add new Texinfo man page for infokey

3 years agoTexinfo: Upgrade version from 4.8 to 4.13
John Marino [Sun, 1 May 2011 11:07:06 +0000 (13:07 +0200)]
Texinfo: Upgrade version from 4.8 to 4.13

This is the first upgrade of Texinfo in nearly 6 years.
There are 3 new executables:
  * texi2dvi
  * texi2pdf
  * pdftexi2dvi
As the host version 4.8 can not build the tex.info file, a full buildworld
is required to obtain this upgrade.

====================
 4.9 (29 June 2007)
====================
* GPLv3.
* texi2dvi:
  . new mode --build=tidy which supports compilation in a separate
    directory, where intermediate files are preserved.
  . new option --build-dir, to specify where the tidy build will take
    place, either locally or globally.  This allows avoiding the clutter
    while preserving auxiliary files.
  . new support for AUC-TeX: texi2dvi (weakly) supports arguments a la
    TeX such as `\nonstopmode\input{file.tex}'.
  . new options --ps and --dvipdf, useful especially for pstricks docs.
  . new option --src-specials, passed to TeX.
* texinfo.tex:
  . Latin1, Latin2, Latin9, and UTF-8 are supported -- only as well as
    the Computer Modern fonts can manage, which means primarily English
    and western European languages, to a limited extent.
  . png and jpg images supported in pdf output.
  . new Russian, Serbian, and Ukrainian translations for texinfo.tex:
    txi-ru.tex, txi-sr.tex, txi-uk.tex.
  . section names with \ characters work properly in pdf outlines.
  . have .toc files use @ as the escape character, instead of \.

==============
 Version 4.10
==============
Never published.

=========================
 4.11 (9 September 2007)
=========================
* Language:
  . @documentlanguage now supports an optional country code
    specification after the language code, a la gettext.
  . new command @allowcodebreaks controls breaks at _ and - within @code.
  . new command @frenchspacing controls spacing after sentences.
  . new command @fonttextsize allows changing body text font size to 10pt.
  . new command @textdegree{} produces the normal degrees symbol.
  . new command @thischapternum can be used in TeX headers/footers.
  . new commands for quotes: @quotedblleft @quotedblright
     @quoteleft @quoteright  @quotedblbase @quotesinglbase
     @guillemetleft @guillemetright @guilsinglleft @guilsinglright.
  . new option @set txicodequoteundirected produces an undirected quote
    in code and example output, instead of the regular right quote.
  . new option @set txicodequotebacktick produces a grave accent in
    code and example output, instead of the regular left quote.
* makeinfo:
  . The @documentlanguage locale is used to translate various doc strings.
  . --enable-encoding is now the default, meaning Info and plain text
    output use 8-bit characters given a supported @documentencoding.
  . new option --css-ref=URL for creating a stylesheet <link> in HTML.
  . new option --transliterate-file-names to use a reduction-to-ASCII
    algorithm for split HTML file names, useful for non-Latin-based langs.
  . @enddots{} outputs three dots instead of four, for consistency with
    texinfo.tex.
  . the Local Variables coding: setting written by --enable-encoding now
    comes at the very end, after the tags table, so that Emacs can find
    it in more cases.
  . @allow-recursion (not documented) is deprecated and produces a warning.
  . @quote-args (not documented) is now the default behavior.
  . centering and such take account of character widths.
  . the --reference-limit option is now a no-op.
  . improvements to XML and Docbook output and the DTD.
* texinfo.tex:
  . @thissection can now be used in custom headings, and @thischapter
    works reliably even without @set chapternewpage.  Custom headings
    have additional flexibility as well.
* texi2dvi:
  . pdftexi2dvi is a new wrapper to `texi2dvi --pdf', equal to texi2pdf,
    for the sake of AUC-TeX which prepends `pdf' to the compilation
    command when requested to produce PDF.
* info:
  . look for info files in the current directory first, by default.
  . when calling man, use -a if no explicit section is found.
  . avoid showing the top(1) man page for nonexistent info files.
* install-info:
  . new options --section-regex, --remove-exactly, --debug, --test.
* Distribution:
  . autoconf 2.60, automake 1.10, gettext 0.16.1.
  . gettext support now [external].
  . new translations: hu (Hungarian), rw (Kinyarwandan), vi (Vietnamese).
  . most common sources imported from gnulib.

======================
 4.12 (20 April 2008)
======================
* Language:
  . new commands @clicksequence, @click, and @clickstyle for documenting
    GUI sequences, and @arrow for the default glyph used.
  . new commands @geq{} and @leq{} for the normal >= and <= relations.
* install-info:
  . lzma compression supported.
  . Much work towards compatibility with Debian's independent
    implementation.  Changes in behavior:
    - new entries are formatted to start at column 34 by default.
    - existing entries are replaced by default.
    - new sections are alphabetized among existing sections.
    - if an entry being removed is the last one in a section, the
      section is also removed.
  . Also many new options:
    --section REGEX TITLE.
    --no-indent: disable formatting of new entries.
    --menuentry, --name: specify left-hand side of an entry.
    --dry-run: alias for --test.
    --regex REGEX: renamed from --section regex, adds to all sections
      matching REGEX by default.
    --add-once: add only to first specified or matching section.
    --align COL: start description at column COL.
    --calign COL: start continuation lines in description at COL.
    --max-width COL: wrap the description at COL.
  . New section in the Texinfo manual describing all this.
* info:
  Our goal with these changes to the default interface is to make Info
  documents more easily and quickly readable, especially by non-experts.
  . the PageUp and PageDown keys move through the whole document by
    default, instead of just the current node.
  . the h command shows the basic help, and H starts the Info tutorial.
  . the newly-bound x command deletes the current window, e.g. within help.
  . the scroll-step variable is set to 1 by default, for smooth scrolling.
  . the cursor-movement-scrolls-p variable is set to 1 by default, so
    link searches look through the whole document.
  . regular expression searches are supported, and are the default for
    both regular and incremental searches.
  . the new R command toggles between regexp and literal-string searches.
  . the new variable scroll-last-node controls scrolling at the end of
    the last node; by default, it now simply reports there are no more
    nodes.  To restore the old behavior, set scroll-last-node=Scroll.
  . the precise line number specified in index entries is used if avail.
  . --usage=info shows usage for standalone Info.
  . lzma compression supported.
* Distribution:
  . lang support for no removed/renamed to nb, per Norwegian translators.
  . new translation: es.
  . bug fixes in make check (and elsewhere).
  . gettext 0.17, automake 1.10.1, autoconf 2.62.

==========================
 4.13 (18 September 2008)
==========================
* A reference card for Texinfo is now available, in doc/refcard.  For
  convenience, preformatted PDFs for letter-size and A4 paper are included.
* makeinfo:
  . new option --internal-links for HTML output, to write a tsv file
    mapping indexed/toc terms to links, for easy reference from external
    documents.
  . - as an input file name reads standard input.
* info:
  . support for multibyte encodings such as UTF-8.
  . new option --show-malformed-multibytes, to display malformed multibyte
  sequences.
  . new environment variable INFO_MAN_COMMAND sets the name of man binary
  (use it if you a need to override PATH settings).
* install-info:
  . bug fix: support names w/ embedded periods (e.g., config.status) again.
* Distribution:
  . autoconf 2.63.

3 years agoMerge branch 'vendor/TEXINFO'
John Marino [Sun, 1 May 2011 14:20:09 +0000 (16:20 +0200)]
Merge branch 'vendor/TEXINFO'

3 years agoUpgrade Texinfo from 4.8 to 4.13 on the vendor branch vendor/TEXINFO
John Marino [Sat, 30 Apr 2011 21:52:02 +0000 (23:52 +0200)]
Upgrade Texinfo from 4.8 to 4.13 on the vendor branch

3 years agoRename texinfo-4 directory to "texinfo" in vendor branch
John Marino [Sat, 30 Apr 2011 21:34:10 +0000 (23:34 +0200)]
Rename texinfo-4 directory to "texinfo" in vendor branch

3 years agokernel: Move fe(4) to i386.
Sascha Wildner [Sun, 1 May 2011 12:51:42 +0000 (14:51 +0200)]
kernel: Move fe(4) to i386.

3 years agokernel: Fix some x86_64 warnings.
Sascha Wildner [Sun, 1 May 2011 10:36:39 +0000 (12:36 +0200)]
kernel: Fix some x86_64 warnings.

3 years agokernel: Move sbni(4)'s PCI attachment to i386, too.
Sascha Wildner [Sun, 1 May 2011 09:38:57 +0000 (11:38 +0200)]
kernel: Move sbni(4)'s PCI attachment to i386, too.

3 years agonetgraph: Fix some x86_64 warnings.
Sascha Wildner [Sun, 1 May 2011 09:12:10 +0000 (11:12 +0200)]
netgraph: Fix some x86_64 warnings.

3 years agoswapon(8): Fix "swapctl -l".
Sascha Wildner [Sat, 30 Apr 2011 22:27:05 +0000 (00:27 +0200)]
swapon(8): Fix "swapctl -l".

Without -s, swapctl -l would report 0 for swap size and used swap because
some variables were initialized only for the -s case. Just remove the
"if (sflag)" around the calculation.

Reported-by: Joachim de Groot <jdegroot@web.de>
Taken-from:  FreeBSD

3 years agoUpdate files for less-443 import.
Peter Avalos [Sat, 30 Apr 2011 22:13:13 +0000 (12:13 -1000)]
Update files for less-443 import.

3 years agoMerge branch 'vendor/LESS'
Peter Avalos [Sat, 30 Apr 2011 21:59:07 +0000 (11:59 -1000)]
Merge branch 'vendor/LESS'

3 years agoImport less-443.
Peter Avalos [Sat, 30 Apr 2011 21:49:52 +0000 (11:49 -1000)]
Import less-443.

* Change search behavior such that when a search is given an explicit
  pattern, the entire displayed screen is included in the search and
  not just the portion after the target line.

* Add -A option to change search behavior to the old way: only
  the portion of the screen after the target line is searched.

* Add %F formatting to prompt strings, replaced by the last component
  of the input file.

* Control-G while editing a command exits the command.

* Less now exits with status 2 if control-C is pressed and -K is in effect.

* Fix "ungetc overflow" when passing long commands via the -p option.

* Fix bug in using line filtering via the & command
  in combination with -i and -I.

* Fix bug in handling negative arguments to the -j option.

* Fix bug in handling %t in prompt strings.

* Improve handling of long option names.

* Improve percentage calculation for very large files.

3 years agokernel: Fix some printf format warnings on x86_64.
Sascha Wildner [Sat, 30 Apr 2011 20:57:06 +0000 (22:57 +0200)]
kernel: Fix some printf format warnings on x86_64.

3 years agoMerge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
John Marino [Sat, 30 Apr 2011 20:38:01 +0000 (22:38 +0200)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly

3 years agoThis is a complete overhaul in the diffutils makefile system. The
John Marino [Sat, 30 Apr 2011 14:05:09 +0000 (16:05 +0200)]
This is a complete overhaul in the diffutils makefile system.  The
directories gnu/usr.bin/diff3 and gnu/usr.bin/sdiff have been removed
as a result.  Those directories also used the deprecated patch approach.

Like grep before it, diffutils uses its own regex library.  The
previous version used gnuregex.

The README.DELETED was woefully out of date.  It is hoped this overhaul
will make future diffutils upgrades easier.

=========================================================
 Noteworthy changes in release 2.9 (2010-02-11) [stable]
=========================================================

** New features

  New diff option --suppress-blank-empty.

  Bring back support for `diff -NUM', where NUM is a number,
  even when conforming to POSIX 1003.1-2001.  This change reverts to
  the behavior of GNU diff 2.7 and earlier.  This is a change only
  when conforming to POSIX 1003.1-2001; there is no effect when
  conforming to older POSIX versions.

  This change is in response to decisions taken in the January 2005
  Austin Group standardization meeting.  For more details, please see
  "Utility Syntax Guidelines" in the Minutes of the January 2005
  Meeting <http://www.opengroup.org/austin/docs/austin_239.html>.

  sdiff now understands '1' and '2' as synonyms for 'l' and 'r'.

** Changes in behavior

  sdiff and diff3 now invoke diff, not $(bindir)/diff

** Administrivia

  New discussion and bug-reporting address: bug-diffutils@gnu.org

  updated gnulib support

=========================================================
 Noteworthy changes in release 3.0 (2010-05-03) [stable]
=========================================================

** Bug fixes

  diff once again prints the required "\ No newline at end of file" line
  when at least one input lacks a newline-at-EOF and the final hunk plus
  context-length aligns exactly with the end of the newline-lacking file.
  [bug introduced between 2.8.7 and 2.9]

** Changes in behavior

  In context-style diffs, diff prints a portion of a preceding "function"
  line for each hunk, with --show-function-line=RE (-F) or
  --show-c-function (-p).  Now, it trims leading blanks from such lines
  before extracting a prefix.  This is useful especially when a function
  line is so far indented that the name itself would be truncated or not
  included in the limited-width substring that diff appends.

  diff once again reports a difference with the diagnostic
  "Binary files A and B differ" when at least one of the files
  appears to be binary.  From 2.8.4 through diffutils-2.9, it printed
  "Files A and B differ".

3 years agomxge(4): Fix a compilation warning on x86_64 (inlining a function failed).
Sascha Wildner [Sat, 30 Apr 2011 20:09:24 +0000 (22:09 +0200)]
mxge(4): Fix a compilation warning on x86_64 (inlining a function failed).

Add a comment explaining how and why.

In-discussion-with: aggelos

3 years agoMerge branch 'vendor/DIFFUTILS'
John Marino [Sat, 30 Apr 2011 19:58:06 +0000 (21:58 +0200)]
Merge branch 'vendor/DIFFUTILS'

3 years agoUpgrade diffutils from 2.8.7 to 3.0 on the vendor branch
John Marino [Sat, 30 Apr 2011 11:56:40 +0000 (13:56 +0200)]
Upgrade diffutils from 2.8.7 to 3.0 on the vendor branch

3 years agokernel: Make the COMPAT_OLDISA kernel option i386 only.
Sascha Wildner [Sat, 30 Apr 2011 18:34:56 +0000 (20:34 +0200)]
kernel: Make the COMPAT_OLDISA kernel option i386 only.

It is not used in x86_64.

3 years agokernel/x86_64: Separate some i386 only drivers better.
Sascha Wildner [Sat, 30 Apr 2011 12:30:17 +0000 (14:30 +0200)]
kernel/x86_64: Separate some i386 only drivers better.

The following drivers are listed in sys/platform/pc32/conf/files only,
so remove anything that has to do with them from x86_64.

asc ctx cy dgb el gp gsc labpc le rc rdp spigot stl stli tw wt

3 years agogcc44: remove my copyright from dragonfly-unwind.h
John Marino [Sat, 30 Apr 2011 01:09:58 +0000 (03:09 +0200)]
gcc44: remove my copyright from dragonfly-unwind.h

This file was copied from the gnat-aux repository and I didn't notice that
it contained my copyright before committing.

3 years agoGCC: Upgrade to 4.4.6; improved exception handling
John Marino [Fri, 29 Apr 2011 21:04:59 +0000 (23:04 +0200)]
GCC: Upgrade to 4.4.6; improved exception handling

In addition to 70 bug fixes provided by GNU, this version handles
exceptions through the new rtld, which is important to C++.  This
compiler also now incorporates MD_UNWIND_SUPPORT from gnat-aux, but
it's not clear if C++ utilizes this frame unwinding or not yet.

3 years agoMerge branch 'vendor/GCC44'
John Marino [Sat, 30 Apr 2011 00:55:58 +0000 (02:55 +0200)]
Merge branch 'vendor/GCC44'

3 years agoUpgrade GCC from 4.4.5 to 4.4.6 on the vendor branch
John Marino [Fri, 29 Apr 2011 14:17:27 +0000 (16:17 +0200)]
Upgrade GCC from 4.4.5 to 4.4.6 on the vendor branch

3 years agoAdd an nsclpcsio(4) manual page (from OpenBSD).
Sascha Wildner [Fri, 29 Apr 2011 21:51:55 +0000 (23:51 +0200)]
Add an nsclpcsio(4) manual page (from OpenBSD).

3 years agobsd-family-tree: Sync with FreeBSD.
Sascha Wildner [Fri, 29 Apr 2011 09:03:17 +0000 (11:03 +0200)]
bsd-family-tree: Sync with FreeBSD.

3 years agodm(4): Fix a typo in the code.
Sascha Wildner [Fri, 29 Apr 2011 06:23:47 +0000 (08:23 +0200)]
dm(4): Fix a typo in the code.

3 years agodlvsym manpage: cleanup
John Marino [Fri, 29 Apr 2011 04:53:44 +0000 (06:53 +0200)]
dlvsym manpage: cleanup

3 years agodlerror.3: Oops, fix wrong change I did.
Sascha Wildner [Fri, 29 Apr 2011 04:35:45 +0000 (06:35 +0200)]
dlerror.3: Oops, fix wrong change I did.

3 years agosysv_msg: Fix a typo in the code.
Sascha Wildner [Fri, 29 Apr 2011 02:27:17 +0000 (04:27 +0200)]
sysv_msg: Fix a typo in the code.

3 years agolibutil: Create a <util.h> symlink.
Sascha Wildner [Fri, 29 Apr 2011 01:32:53 +0000 (03:32 +0200)]
libutil: Create a <util.h> symlink.

As stuff from NetBSD goes into our libutil, pkgsrc starts detecting that
and assumes we have a <util.h> header, too. But ours is named <libutil.h>
due to FreeBSD heritage.

In an attempt to make life easier and not have to patch packages for this
every time, symlink <util.h> to <libutil.h> for now.

However, it could well be that other packages test for the existence of
<util.h> and (upon finding it) assume we have some NetBSD function in
libutil which we don't have. But we'll see.

As-proposed-by: y0netan1
3 years agodl*(3) manpages: Some cleanup.
Sascha Wildner [Fri, 29 Apr 2011 01:10:05 +0000 (03:10 +0200)]
dl*(3) manpages: Some cleanup.

3 years agompt(4): Sync with FreeBSD.
Sascha Wildner [Thu, 28 Apr 2011 23:54:29 +0000 (01:54 +0200)]
mpt(4): Sync with FreeBSD.

This fixes issues which were observed with the LSI SAS 3081E-R card.

Reported-and-tested-by: <ftigeot@wolfpond.org>
3 years agong_pppoe(4): Fix a typo in the code.
Sascha Wildner [Thu, 28 Apr 2011 23:54:12 +0000 (01:54 +0200)]
ng_pppoe(4): Fix a typo in the code.

3 years agokernel/npx: Fix ambiguous inline assembly.
Sascha Wildner [Thu, 28 Apr 2011 23:53:54 +0000 (01:53 +0200)]
kernel/npx: Fix ambiguous inline assembly.

GNU as converts fld to flds, while clang errors about the missing suffix.

Taken-from: FreeBSD

3 years agokernel: Implement ELF auxinfo entry type AT_EXECPATH
John Marino [Sat, 23 Apr 2011 19:44:10 +0000 (21:44 +0200)]
kernel: Implement ELF auxinfo entry type AT_EXECPATH

Refer to issue 2005.
The new RTLD can optionally use AT_EXECPATH for some of its new
functionality such as libmap.conf and dynamic token expansion.
In the absence of this kernel support, RTLD has a fallback
mechanism that works most of the time, but using it takes a
performance hit.

This patch was tested for some time by various people prior to
the 2.10 branch being created.

3 years agortld-elf: Sync with FreeBSD
John Marino [Wed, 13 Apr 2011 19:20:44 +0000 (21:20 +0200)]
rtld-elf: Sync with FreeBSD

The DragonFly run-time linker receives its first upgrade since TLS was
added.  Highlights include improvements to dl functionality:

dlvsym
dl_iterate_phdr
_rtld_addr_phdr
improved dlfunct

Improved security for dangerous LD environment variables were added.
Several bugs were fixed.
libmap.conf functionality was added.
utrace/ktrace support added.
Improved atexit and cxa_atexit finalization.
ELF symbol versioning using gnu semantics.
ldd and kdump improvments
significant man page updates
dynamic token expansion functionlity added.
new locking mechanism
Support for env var LD_ELF_HINTS_PATH
Support for RTLD_NODELETE and RTLD_NOLOAD flags for dlopen
dlfunc moved from libc to rtld

The next GCC upgrade will take advantage of this rtld upgrade in order
to improve exception handling.  DragonFly has never used the shared
libgcc_s which has impeded (or broke?) C++ exception handling.

This commit syncs rtld-elf to the FreeBSD cerca 16 DEC 2010.  However,
bug fixes between then and 25 March 2011 have been included, but major
functionality changes from the ELF Filter support on 25 DEC 2010 onwards
has been excluded.