Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(139)

Unified Diff: ports/coreutils/nacl.patch

Issue 135853011: Add coreutils (Closed) Base URL: https://naclports.googlecode.com/svn/trunk/src
Patch Set: rebase Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ports/coreutils/coreutils-8.22.sha1 ('k') | ports/coreutils/pkg_info » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ports/coreutils/nacl.patch
diff --git a/ports/coreutils/nacl.patch b/ports/coreutils/nacl.patch
new file mode 100644
index 0000000000000000000000000000000000000000..01011d33b2f6abc21f01d5441e4e75ae99ba21f0
--- /dev/null
+++ b/ports/coreutils/nacl.patch
@@ -0,0 +1,140 @@
+diff --git a/Makefile.in b/Makefile.in
+index dab25d0..04646f6 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -611,8 +611,9 @@ src_libver_a_LIBADD =
+ nodist_src_libver_a_OBJECTS = src/version.$(OBJEXT)
+ src_libver_a_OBJECTS = $(nodist_src_libver_a_OBJECTS)
+ am__EXEEXT_1 = src/arch$(EXEEXT) src/hostname$(EXEEXT)
++# Removed $(EXEEXT) from libstdbuf.so. This is an upstream bug.
+ am__EXEEXT_2 = src/chroot$(EXEEXT) src/df$(EXEEXT) src/hostid$(EXEEXT) \
+- src/libstdbuf.so$(EXEEXT) src/nice$(EXEEXT) src/pinky$(EXEEXT) \
++ src/libstdbuf.so src/nice$(EXEEXT) src/pinky$(EXEEXT) \
+ src/stdbuf$(EXEEXT) src/stty$(EXEEXT) src/uptime$(EXEEXT) \
+ src/users$(EXEEXT) src/who$(EXEEXT)
+ am__EXEEXT_3 = src/[$(EXEEXT) src/base64$(EXEEXT) \
+@@ -1493,7 +1494,7 @@ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DEFAULT_POSIX2_VERSION = @DEFAULT_POSIX2_VERSION@
+-DEFS = @DEFS@
++DEFS = @DEFS@ -Dmain=nacl_main
+ DEPDIR = @DEPDIR@
+ ECHO_C = @ECHO_C@
+ ECHO_N = @ECHO_N@
+@@ -2306,7 +2307,7 @@ LIBMULTITHREAD = @LIBMULTITHREAD@
+ LIBOBJS = @LIBOBJS@
+ LIBPTH = @LIBPTH@
+ LIBPTH_PREFIX = @LIBPTH_PREFIX@
+-LIBS = @LIBS@
++LIBS = @LIBS@ $(EXTRA_LIBS)
+ LIBSOCKET = @LIBSOCKET@
+ LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+ LIBTHREAD = @LIBTHREAD@
+@@ -2749,7 +2750,9 @@ libexecdir = @libexecdir@
+ lispdir = @lispdir@
+ localedir = @localedir@
+ localstatedir = @localstatedir@
+-man1_MANS = @man1_MANS@
++# The build rule for man pages are broken for NaCl, and we do not need
++# man pages anyway.
++#man1_MANS = @man1_MANS@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ oldincludedir = @oldincludedir@
+@@ -5579,8 +5582,9 @@ src/kill$(EXEEXT): $(src_kill_OBJECTS) $(src_kill_DEPENDENCIES) $(EXTRA_src_kill
+ src/src_libstdbuf_so-libstdbuf.$(OBJEXT): src/$(am__dirstamp) \
+ src/$(DEPDIR)/$(am__dirstamp)
+
+-src/libstdbuf.so$(EXEEXT): $(src_libstdbuf_so_OBJECTS) $(src_libstdbuf_so_DEPENDENCIES) $(EXTRA_src_libstdbuf_so_DEPENDENCIES) src/$(am__dirstamp)
+- @rm -f src/libstdbuf.so$(EXEEXT)
++# Removed $(EXEEXT) from libstdbuf.so. This is an upstream bug.
++src/libstdbuf.so: $(src_libstdbuf_so_OBJECTS) $(src_libstdbuf_so_DEPENDENCIES) $(EXTRA_src_libstdbuf_so_DEPENDENCIES) src/$(am__dirstamp)
++ @rm -f src/libstdbuf.so
+ $(AM_V_CCLD)$(src_libstdbuf_so_LINK) $(src_libstdbuf_so_OBJECTS) $(src_libstdbuf_so_LDADD) $(LIBS)
+ src/link.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
+
+diff --git a/lib/openat.c b/lib/openat.c
+index fd1ff91..0155f9d 100644
+--- a/lib/openat.c
++++ b/lib/openat.c
+@@ -27,6 +27,11 @@
+ #include <sys/types.h>
+ #undef __need_system_fcntl_h
+
++#if defined(__native_client__)
++/* We do not have openat. */
++#undef HAVE_OPENAT
++#endif
++
+ #if HAVE_OPENAT
+ static int
+ orig_openat (int fd, char const *filename, int flags, mode_t mode)
+diff --git a/lib/sigaction.c b/lib/sigaction.c
+index 97eb76d..330e0f8 100644
+--- a/lib/sigaction.c
++++ b/lib/sigaction.c
+@@ -15,6 +15,10 @@
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
++/* ./configure script detects sigaction in nacl-glibc is just a stub,
++ but we use the stub implementation as the following does not compile. */
++#if !defined(__native_client__)
++
+ #include <config.h>
+
+ /* Specification. */
+@@ -202,3 +206,5 @@ sigaction (int sig, const struct sigaction *restrict act,
+ errno = saved_errno;
+ return -1;
+ }
++
++#endif
+diff --git a/lib/signal.in.h b/lib/signal.in.h
+index a531487..241625a 100644
+--- a/lib/signal.in.h
++++ b/lib/signal.in.h
+@@ -402,6 +402,12 @@ typedef struct siginfo_t siginfo_t;
+ /* We assume that platforms which lack the sigaction() function also lack
+ the 'struct sigaction' type, and vice versa. */
+
++/* ./configure script detects sigaction in nacl-glibc is just a stub,
++ but we do have struct sigaction. */
++# if defined(__native_client__)
++# define GNULIB_defined_struct_sigaction 1
++# endif
++
+ # if !GNULIB_defined_struct_sigaction
+
+ struct sigaction
+diff --git a/src/fs.h b/src/fs.h
+index 8826c4f..7b5b0bf 100644
+--- a/src/fs.h
++++ b/src/fs.h
+@@ -2,7 +2,10 @@
+ Please send additions to bug-coreutils@gnu.org and meskes@debian.org.
+ This file is generated automatically from ./src/stat.c. */
+
+-#if defined __linux__
++/* nacl_io does not have statfs so the following magic numbers which
++ specify the type of a filesystem is useless, but we need their
++ definitions to compile everything in coreutils. */
++#if defined __linux__ || defined __native_client__
+ # define S_MAGIC_ADFS 0xADF5
+ # define S_MAGIC_AFFS 0xADFF
+ # define S_MAGIC_AFS 0x5346414F
+diff --git a/src/ls.c b/src/ls.c
+index e7d1d93..35f6ee6 100644
+--- a/src/ls.c
++++ b/src/ls.c
+@@ -36,6 +36,9 @@
+ Greg Lee <lee@uhunix.uhcc.hawaii.edu>. */
+
+ #include <config.h>
++/* Disable _FORTIFY_SOURCE in this module to work-around the issue in mempcpy.
++ https://code.google.com/p/nativeclient/issues/detail?id=3770 */
++#undef _FORTIFY_SOURCE
+ #include <sys/types.h>
+
+ #include <termios.h>
« no previous file with comments | « ports/coreutils/coreutils-8.22.sha1 ('k') | ports/coreutils/pkg_info » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698