binutils-gdb/gdb/common
Sergio Durigan Junior 3c025cfe5e Move 'is_regular_file' from common-utils.c to filestuff.c
There is no reason for 'is_regular_file' to be in common-utils.c; it
belongs to 'filestuff.c'.  This commit moves the function definition
and its prototype to the appropriate files.

The motivation behind this move is a failure that happens on certain
cross-compilation environments when compiling the IPA library, due to
the way gnulib probes the need for a 'stat' call replacement.  Because
configure checks when cross-compiling are more limited, gnulib decides
that it needs to substitute the 'stat' calls its own 'rpl_stat';
however, the IPA library doesn't link with gnulib, which leads to an
error when compiling 'common-utils.c':

  ...
  /opt/x86-core2--musl--bleeding-edge-2018.09-1/bin/i686-buildroot-linux-musl-g++  -shared -fPIC -Wl,--soname=libinproctrace.so -Wl,--no-undefined -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os      -I. -I. -I./../common -I./../regformats -I./.. -I./../../include -I./../gnulib/import -Ibuild-gnulib-gdbserver/import -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable -Wno-sign-compare -Wno-narrowing -Wno-error=maybe-uninitialized  -DGDBSERVER \
   -Wl,--dynamic-list=./proc-service.list -o libinproctrace.so ax-ipa.o common-utils-ipa.o errors-ipa.o format-ipa.o print-utils-ipa.o regcache-ipa.o remote-utils-ipa.o rsp-low-ipa.o tdesc-ipa.o tracepoint-ipa.o utils-ipa.o vec-ipa.o linux-i386-ipa.o linux-x86-tdesc-ipa.o arch/i386-ipa.o -ldl -pthread
  /opt/x86-core2--musl--bleeding-edge-2018.09-1/lib/gcc/i686-buildroot-linux-musl/8.2.0/../../../../i686-buildroot-linux-musl/bin/ld: common-utils-ipa.o: in function `is_regular_file(char const*, int*)':
  common-utils.c:(.text+0x695): undefined reference to `rpl_stat'
  collect2: error: ld returned 1 exit status
  Makefile:413: recipe for target 'libinproctrace.so' failed
  make[1]: *** [libinproctrace.so] Error 1
  ...

More details can also be found at:

  https://sourceware.org/ml/gdb-patches/2018-09/msg00304.html

The most simple fix for this problem is to move 'is_regular_file' to
'filestuff.c', which is not used by IPA.  This ends up making the
files more logically organized as well, since 'is_regular_file' is a
file operation.

No regressions found.

gdb/ChangeLog:
2018-09-12  Sergio Durigan Junior  <sergiodj@redhat.com>

	* common/common-utils.c: Don't include '<sys/stat.h>'.
	(is_regular_file): Move to...
	* common/filestuff.c (is_regular_file): ... here.
	* common/common-utils.h (is_regular_file): Move to...
	* common/filestuff.h (is_regular_file): ... here.
2018-09-12 13:58:30 -04:00
..
agent.c Get rid of -Wodr warning (PR build/23399) 2018-08-28 17:23:16 -04:00
agent.h Get rid of -Wodr warning (PR build/23399) 2018-08-28 17:23:16 -04:00
array-view.h Add selftests for range_contains and insert_into_bit_range_vector 2018-04-09 15:47:12 -04:00
ax.def
break-common.h
btrace-common.c Remove cleanups from btrace code 2018-06-08 07:05:49 -06:00
btrace-common.h Remove cleanups from btrace code 2018-06-08 07:05:49 -06:00
buffer.c
buffer.h
byte-vector.h
cleanups.c
cleanups.h
common-debug.c
common-debug.h
common-defs.h Define _FORTIFY_SOURCE in common-defs.h 2018-08-13 10:02:00 -06:00
common-exceptions.c
common-exceptions.h Mark END_CATCH as ATTRIBUTE_NORETURN (-Wmaybe-uninitialized warnings) 2018-05-30 14:18:47 +01:00
common-gdbthread.h
common-inferior.h
common-regcache.c
common-regcache.h Add regcache raw_compare method 2018-06-11 10:09:30 +01:00
common-types.h Avoid -Wnarrowing warnings in struct tramp_frame instances 2018-08-27 12:00:10 -06:00
common-utils.c Move 'is_regular_file' from common-utils.c to filestuff.c 2018-09-12 13:58:30 -04:00
common-utils.h Move 'is_regular_file' from common-utils.c to filestuff.c 2018-09-12 13:58:30 -04:00
common.host
common.m4
create-version.sh
def-vector.h
default-init-alloc.h
enum-flags.h Fix typo in common/enum-flags.h example 2018-06-05 18:22:25 +01:00
environ.c
environ.h
errors.c
errors.h
fileio.c
fileio.h
filestuff.c Move 'is_regular_file' from common-utils.c to filestuff.c 2018-09-12 13:58:30 -04:00
filestuff.h Move 'is_regular_file' from common-utils.c to filestuff.c 2018-09-12 13:58:30 -04:00
format.c Make format_pieces recognize the \e escape sequence 2018-05-17 13:06:11 -04:00
format.h Make format_pieces recognize the \e escape sequence 2018-05-17 13:06:11 -04:00
function-view.h
gdb_assert.h
gdb_locale.h
gdb_optional.h
gdb_ref_ptr.h Introduce ref_ptr::new_reference 2018-04-30 11:33:11 -06:00
gdb_setjmp.h
gdb_signals.h
gdb_splay_tree.h
gdb_string_view.h Add gdb::string_view 2018-04-09 14:20:46 -04:00
gdb_string_view.tcc Add gdb::string_view 2018-04-09 14:20:46 -04:00
gdb_sys_time.h
gdb_tilde_expand.c
gdb_tilde_expand.h
gdb_unique_ptr.h
gdb_unlinker.h
gdb_vecs.c
gdb_vecs.h Remove const_char_ptr typedef 2018-05-29 08:52:55 -06:00
gdb_wait.h
hash_enum.h
host-defs.h
job-control.c
job-control.h
mingw-strerror.c
netstuff.c Implement IPv6 support for GDB/gdbserver 2018-07-11 19:41:31 -04:00
netstuff.h Implement IPv6 support for GDB/gdbserver 2018-07-11 19:41:31 -04:00
new-op.c
observable.h
offset-type.h
pathstuff.c Add DWARF index cache 2018-08-07 18:14:20 -04:00
pathstuff.h Add DWARF index cache 2018-08-07 18:14:20 -04:00
poison.h Introduce obstack_new, poison other "typed" obstack functions 2018-05-20 21:06:36 -04:00
posix-strerror.c
preprocessor.h
print-utils.c
print-utils.h
ptid.c Remove ptid_equal 2018-07-03 11:36:46 -06:00
ptid.h Remove ptid_equal 2018-07-03 11:36:46 -06:00
queue.h
refcounted-object.h Use thread_info and inferior pointers more throughout 2018-06-21 17:09:31 +01:00
rsp-low.c
rsp-low.h
run-time-clock.c
run-time-clock.h
scoped_fd.h
scoped_mmap.c Fix some gettext ARI warnings 2018-08-09 13:17:56 -04:00
scoped_mmap.h Introduce mmap_file function 2018-08-07 18:10:29 -04:00
scoped_restore.h
selftest.c
selftest.h
signals-state-save-restore.c
signals-state-save-restore.h
signals.c
symbol.h
tdesc.c Simple unused variable removals 2018-07-22 13:20:01 -06:00
tdesc.h Remove xml file references from target descriptions 2018-04-18 20:49:37 +01:00
traits.h Fix copy-pasto, allocate objfile_per_bfd_storage with obstack_new 2018-05-20 23:19:35 -04:00
underlying.h
valid-expr.h
vec.c
vec.h
version.h
x86-xstate.h gdb/x86: Handle kernels using compact xsave format 2018-05-08 18:03:46 +01:00
xml-utils.c
xml-utils.h