NetBSD/external/gpl3/gcc/dist/libiberty
mrg 4d5abbe83f import GCC 5.3.0. see these urls for details which are too large to
include here:

	http://gcc.gnu.org/gcc-4.9/changes.html
	http://gcc.gnu.org/gcc-5/changes.html

(note that GCC 5.x is a release stream like GCC 4.9.x, 4.8.x, etc.)


the main issues we will have are:

The default mode for C is now -std=gnu11 instead of -std=gnu89.

ARM:
The deprecated option -mwords-little-endian has been removed.
The options -mapcs, -mapcs-frame, -mtpcs-frame and -mtpcs-leaf-frame
 which are only applicable to the old ABI have been deprecated.

MIPS:
The o32 ABI has been modified and extended. The o32 64-bit
 floating-point register support is now obsolete and has been removed.
 It has been replaced by three ABI extensions FPXX, FP64A, and FP64.
 The meaning of the -mfp64 command-line option has changed. It is now
 used to enable the FP64A and FP64 ABI extensions.
2016-01-24 06:05:37 +00:00
..
config
_doprnt.c import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
aclocal.m4 import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
alloca.c
argv.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
asprintf.c import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
at-file.texi
atexit.c
basename.c
bcmp.c
bcopy.c
bsearch.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
bzero.c initial import of GCC 4.5.3 sources. changes since 4.1 are way too numerous 2011-06-21 01:19:41 +00:00
calloc.c
ChangeLog import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
ChangeLog.jit import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
choose-temp.c import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
clock.c
concat.c import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
config.h-vms
config.in import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
configure Set ac_install_sh="$SHELL $ac_aux_dir/$ac_t -c" 2014-04-19 13:00:57 +00:00
configure.ac merge gcc 4.8.2 r206687 (part 1). 2014-03-01 08:58:28 +00:00
configure.com
copying-lib.texi import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
COPYING.LIB
copysign.c
cp-demangle.c import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
cp-demangle.h import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
cp-demint.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
cplus-dem.c import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
crc32.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
d-demangle.c import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
dwarfnames.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
dyn-string.c
fdmatch.c
ffs.c
fibheap.c
filename_cmp.c import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
floatformat.c merge gcc 4.8.2 r206687 (part 1). 2014-03-01 08:58:28 +00:00
fnmatch.c
fnmatch.txh import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
fopen_unlocked.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
functions.texi import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
gather-docs import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
getcwd.c
getopt1.c
getopt.c
getpagesize.c initial import of GCC 4.5.3 sources. changes since 4.1 are way too numerous 2011-06-21 01:19:41 +00:00
getpwd.c
getruntime.c
gettimeofday.c initial import of GCC 4.5.3 sources. changes since 4.1 are way too numerous 2011-06-21 01:19:41 +00:00
hashtab.c import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
hex.c
index.c
insque.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
lbasename.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
libiberty.texi import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
lrealpath.c
maint-tool import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
make-relative-prefix.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
make-temp-file.c Correct temporary directory preference order in libiberty's choose_tmpdir(). 2015-08-10 15:45:40 +00:00
Makefile.in merge gcc 4.8.2 r206687 (part 3). 2014-03-01 09:44:50 +00:00
makefile.vms import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
md5.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
memchr.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
memcmp.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
memcpy.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
memmem.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
memmove.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
mempcpy.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
memset.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
mkstemps.c
msdos.c
objalloc.c
obstack.c
obstacks.texi import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
partition.c
pex-common.c import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
pex-common.h import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
pex-djgpp.c import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
pex-msdos.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
pex-one.c
pex-unix.c import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
pex-win32.c import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
pexecute.c
pexecute.txh import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
physmem.c initial import of GCC 4.5.3 sources. changes since 4.1 are way too numerous 2011-06-21 01:19:41 +00:00
putenv.c
random.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
README
regex.c import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
rename.c
rindex.c
safe-ctype.c
setenv.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
setproctitle.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
sha1.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
sigsetmask.c import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
simple-object-coff.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
simple-object-common.h import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
simple-object-elf.c import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
simple-object-mach-o.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
simple-object-xcoff.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
simple-object.c import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
simple-object.txh import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
snprintf.c import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
sort.c
spaces.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
splay-tree.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
stack-limit.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
stpcpy.c
stpncpy.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
strcasecmp.c
strchr.c
strdup.c
strerror.c
strncasecmp.c
strncmp.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
strndup.c
strnlen.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
strrchr.c
strsignal.c
strstr.c
strtod.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
strtol.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
strtoll.c import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
strtoul.c initial import of GCC 4.5.3 sources. changes since 4.1 are way too numerous 2011-06-21 01:19:41 +00:00
strtoull.c import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
strverscmp.c
timeval-utils.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
tmpnam.c initial import of GCC 4.5.3 sources. changes since 4.1 are way too numerous 2011-06-21 01:19:41 +00:00
unlink-if-ordinary.c
vasprintf.c import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
vfork.c
vfprintf.c
vprintf-support.c import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
vprintf-support.h import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
vprintf.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
vsnprintf.c import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
vsprintf.c
waitpid.c
xasprintf.c import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00
xatexit.c
xexit.c
xmalloc.c
xmemdup.c import GCC 4.8 branch at r206687. 2014-03-01 08:41:18 +00:00
xstrdup.c
xstrerror.c
xstrndup.c
xvasprintf.c import GCC 5.3.0. see these urls for details which are too large to 2016-01-24 06:05:37 +00:00

This directory contains the -liberty library of free software.
It is a collection of subroutines used by various GNU programs.
Current members include:

	getopt -- get options from command line
	obstack -- stacks of arbitrarily-sized objects
	strerror -- error message strings corresponding to errno
	strtol -- string-to-long conversion
	strtoul -- string-to-unsigned-long conversion

We expect many of the GNU subroutines that are floating around to
eventually arrive here.

The library must be configured from the top source directory.  Don't
try to run configure in this directory.  Follow the configuration
instructions in ../README.

Please report bugs to "gcc-bugs@gcc.gnu.org" and send fixes to
"gcc-patches@gcc.gnu.org".  Thank you.

ADDING A NEW FILE
=================

There are two sets of files:  Those that are "required" will be
included in the library for all configurations, while those
that are "optional" will be included in the library only if "needed."

To add a new required file, edit Makefile.in to add the source file
name to CFILES and the object file to REQUIRED_OFILES.

To add a new optional file, it must provide a single function, and the
name of the function must be the same as the name of the file.

    * Add the source file name to CFILES in Makefile.in and the object
      file to CONFIGURED_OFILES.

    * Add the function to name to the funcs shell variable in
      configure.ac.

    * Add the function to the AC_CHECK_FUNCS lists just after the
      setting of the funcs shell variable.  These AC_CHECK_FUNCS calls
      are never executed; they are there to make autoheader work
      better.

    * Consider the special cases of building libiberty; as of this
      writing, the special cases are newlib and VxWorks.  If a
      particular special case provides the function, you do not need
      to do anything.  If it does not provide the function, add the
      object file to LIBOBJS, and add the function name to the case
      controlling whether to define HAVE_func.

Finally, in the build directory of libiberty, configure with
"--enable-maintainer-mode", run "make maint-deps" to update
Makefile.in, and run 'make stamp-functions' to regenerate
functions.texi.

The optional file you've added (e.g. getcwd.c) should compile and work
on all hosts where it is needed.  It does not have to work or even
compile on hosts where it is not needed.

ADDING A NEW CONFIGURATION
==========================

On most hosts you should be able to use the scheme for automatically
figuring out which files are needed.  In that case, you probably
don't need a special Makefile stub for that configuration.

If the fully automatic scheme doesn't work, you may be able to get
by with defining EXTRA_OFILES in your Makefile stub.  This is
a list of object file names that should be treated as required
for this configuration - they will be included in libiberty.a,
regardless of whatever might be in the C library.