Go to file
Tom de Vries 47e3f47487 [gdb] Fix s390x -m31 build
When building gdb on s390x with -m31, we run into this Wformat
warning (which Werror turns into an error):
...
gdb/dwarf2read.c: In function \
  'void create_addrmap_from_aranges(dwarf2_per_objfile*, \
                                    dwarf2_section_info*)':
gdb/dwarf2read.c:3277:22: error: format '%zu' expects argument of type \
  'size_t', but argument 3 has type 'int' [-Werror=format=]
    warning (_("Section .debug_aranges in %s entry at offset %zu "
...

The Wformat warning is triggered in this statement:
...
          warning (_("Section .debug_aranges in %s entry at offset %zu "
                     "length %s exceeds section length %s, "
                     "ignoring .debug_aranges."),
                   objfile_name (objfile), entry_addr - section->buffer,
                   plongest (bytes_read + entry_length),
                   pulongest (section->size));
...
where 'entry_addr - section->buffer' is of type ptrdiff_t and '%zu' prints an
unsigned with the same size as size_t/ssize_t.

On s390x with -m31, we have:
- size_t   : unsigned long int (32-bit)
- ptrdiff_t: int               (32-bit)

Wformat warns against this because even though long int and int have the same
size, the types are not compatible.

[ The Wformat warning is to similar to what we would get for x86_64 -m32
(where long and int are also the same size) and:
...
int i;
printf ("%ld", i);
... ]

Fix this by using '%s' and plongest instead of '%zu' to print ptrdiff_t.

Build and reg-tested on x86_64.

gdb/ChangeLog:

2019-06-22  Tom de Vries  <tdevries@suse.de>

	* dwarf2read.c (create_addrmap_from_aranges)
	(read_debug_names_from_section): Print ptrdiff_t using '%s' and plongest
	instead of '%zu'.
2019-06-22 10:59:37 +02:00
bfd Automatic date update in version.in 2019-06-22 00:00:20 +00:00
binutils Regenerate with approved autotools version 2019-06-14 10:30:35 +09:30
config Add markers for 2.32 branch to NEWS and ChangeLog files. 2019-01-19 15:55:50 +00:00
contrib Update dg-extract-results.* from gcc 2018-08-06 16:05:16 +02:00
cpu cpu/or1k: Update fpu compare symbols to imply set flag 2019-06-13 06:16:19 +09:00
elfcpp [PATCH 1/57][Arm][GAS]: Add support for +mve and +mve.fp 2019-05-16 16:17:21 +01:00
etc Update year range in copyright notice of binutils files 2019-01-01 22:06:53 +10:30
gas i386: Check vector length for EVEX broadcast instructions 2019-06-19 10:01:42 -07:00
gdb [gdb] Fix s390x -m31 build 2019-06-22 10:59:37 +02:00
gnulib Fix gnulib/update-gnulib.sh 2019-06-21 13:23:59 +01:00
gold Fix a missing include of <string> 2019-06-10 12:26:33 +02:00
gprof Correct the alpha sorting of the short options in the usage description of the gprof program. 2019-05-20 17:17:24 +01:00
include libctf: endianness fixes 2019-06-21 13:04:02 +01:00
intl Change version to 2.32.51 and regenerate configure and pot files. 2019-01-19 16:51:42 +00:00
ld Add R_AARCH64_P32_MOVW_PREL_* ELF32 relocs 2019-06-14 12:02:19 +01:00
libctf libctf: fix ctf_open endianness problems with raw CTF files 2019-06-21 13:04:02 +01:00
libdecnumber Merge config/ changes from GCC. 2018-10-31 17:16:41 +00:00
libiberty Pull in patch for libiberty that fixes a stack exhaustion bug when demangling a pathalogically constructed mangled name. 2019-04-10 15:49:36 +01:00
opcodes i386: Break i386-dis-evex.h into small files 2019-06-21 13:18:41 -07:00
readline config.guess,config.sub: synchronize with config project master sources 2019-05-23 18:19:56 +02:00
sim sim/testsuite/or1k: Add tests for unordered compares 2019-06-13 21:27:10 +09:00
texinfo
zlib Merge config/ changes from GCC. 2018-10-31 17:16:41 +00:00
.cvsignore
.gitattributes Add a .gitattributes file for use with git-merge-changelog 2014-07-25 18:07:23 -04:00
.gitignore Add archives and make stamps to the .gitignore file. 2016-09-27 15:10:42 +01:00
ar-lib Bump to autoconf 2.69 and automake 1.15.1 2018-06-19 16:55:06 -04:00
ChangeLog Add gnulib to gdb release tarball 2019-06-21 15:20:34 +02:00
compile Update from upstream Automake 2014-11-16 13:43:48 +01:00
config-ml.in Update top level configure files by synchronizing them with gcc. 2018-01-10 15:29:21 +00:00
config.guess config.guess,config.sub: synchronize with config project master sources 2019-05-23 18:19:56 +02:00
config.rpath
config.sub config.guess,config.sub: synchronize with config project master sources 2019-05-23 18:19:56 +02:00
configure Move gnulib to top level 2019-06-14 12:40:02 -06:00
configure.ac Move gnulib to top level 2019-06-14 12:40:02 -06:00
COPYING
COPYING3
COPYING3.LIB
COPYING.LIB
COPYING.LIBGLOSS Update the address of the FSF in the copyright notice of files which were using the old address. 2017-12-14 12:48:55 +00:00
COPYING.NEWLIB
depcomp Update from upstream Automake 2014-11-16 13:43:48 +01:00
djunpack.bat
install-sh Update from upstream Automake 2014-11-16 13:43:48 +01:00
libtool.m4 Bump to autoconf 2.69 and automake 1.15.1 2018-06-19 16:55:06 -04:00
lt~obsolete.m4
ltgcc.m4
ltmain.sh
ltoptions.m4
ltsugar.m4
ltversion.m4
MAINTAINERS Move gnulib to top level 2019-06-14 12:40:02 -06:00
Makefile.def Move gnulib to top level 2019-06-14 12:40:02 -06:00
Makefile.in Move gnulib to top level 2019-06-14 12:40:02 -06:00
Makefile.tpl Revert "Sync top level files with versions from gcc." 2019-05-30 11:17:19 +01:00
makefile.vms
missing Update from upstream Automake 2014-11-16 13:43:48 +01:00
mkdep
mkinstalldirs Update from upstream Automake 2014-11-16 13:43:48 +01:00
move-if-change Update `move-if-change' from gnulib 2014-11-16 17:04:02 +01:00
multilib.am Merge autoconf / automake update changes from GCC. 2018-10-31 17:10:56 +00:00
README
README-maintainer-mode Bump to autoconf 2.69 and automake 1.15.1 2018-06-19 16:55:06 -04:00
setup.com
src-release.sh Add gnulib to gdb release tarball 2019-06-21 15:20:34 +02:00
symlink-tree
test-driver Bump to autoconf 2.69 and automake 1.15.1 2018-06-19 16:55:06 -04:00
ylwrap Update from upstream Automake 2014-11-16 13:43:48 +01:00

		   README for GNU development tools

This directory contains various GNU compilers, assemblers, linkers, 
debuggers, etc., plus their support routines, definitions, and documentation.

If you are receiving this as part of a GDB release, see the file gdb/README.
If with a binutils release, see binutils/README;  if with a libg++ release,
see libg++/README, etc.  That'll give you info about this
package -- supported targets, how to use it, how to report bugs, etc.

It is now possible to automatically configure and build a variety of
tools with one command.  To build all of the tools contained herein,
run the ``configure'' script here, e.g.:

	./configure 
	make

To install them (by default in /usr/local/bin, /usr/local/lib, etc),
then do:
	make install

(If the configure script can't determine your type of computer, give it
the name as an argument, for instance ``./configure sun4''.  You can
use the script ``config.sub'' to test whether a name is recognized; if
it is, config.sub translates it to a triplet specifying CPU, vendor,
and OS.)

If you have more than one compiler on your system, it is often best to
explicitly set CC in the environment before running configure, and to
also set CC when running make.  For example (assuming sh/bash/ksh):

	CC=gcc ./configure
	make

A similar example using csh:

	setenv CC gcc
	./configure
	make

Much of the code and documentation enclosed is copyright by
the Free Software Foundation, Inc.  See the file COPYING or
COPYING.LIB in the various directories, for a description of the
GNU General Public License terms under which you can copy the files.

REPORTING BUGS: Again, see gdb/README, binutils/README, etc., for info
on where and how to report problems.