From: Alex Riesen <raa.lkml@gmail.com>
To: git@vger.kernel.org
Cc: Junio C Hamano <junkio@cox.net>
Subject: cygwin-latest: compile errors related to sockaddr_storage, dirent->d_type and dirent->d_ino
Date: Wed, 18 Jan 2006 14:47:00 +0100 [thread overview]
Message-ID: <81b0412b0601180547q4a812c8xb632de6ab13a5e62@mail.gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 996 bytes --]
For reasons unknown, cygwin decided to use our sockaddr_storage.
As it is redefined to sockaddr_in it'd cause compilation errors in
cygwin headers. Fixed by first patch, which uses a more git-related
name (can we claim rights for the symbol, being first to use it? :-)
For the other, probably unrelated, reasons, they decided to leave
declarations of DT_* macros in dirent.h without providing dirent->d_type.
This is what NO_DTYPE in the 0002-patch is all about.
And on top of that, they removed dirent->d_ino (or probably replaced
it by __ino32, if at all).
BTW, can we somehow avoid using d_ino? It is referenced only in fsck-objects.c
Anyway, to workaround this I put
COMPAT_CFLAGS += -Dd_ino=__ino32
It helps, but surely is not the solution.
P.S. For all you poor souls on Win2k, my config.mak contains:
NO_MMAP = YesPlease
NO_DTYPE = YesPlease
COMPAT_CFLAGS += -Dd_ino=__ino32
Just to make it work (at least it's enough for me, even the tests run...)
[-- Attachment #2: 0001-fix-compilation-of-sockaddr_storage.txt --]
[-- Type: text/plain, Size: 1355 bytes --]
>From nobody Mon Sep 17 00:00:00 2001
From: Alex Riesen <raa.lkml@gmail.com>
Date: Wed Jan 18 14:02:54 2006 +0100
Subject: fix compilation of sockaddr_storage
---
Makefile | 2 +-
daemon.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
59379c380a6c2829c5614aadd4a5492abb8d14c8
diff --git a/Makefile b/Makefile
index f6d9e0a..5782e2a 100644
--- a/Makefile
+++ b/Makefile
@@ -342,7 +342,7 @@ ifdef NO_MMAP
COMPAT_OBJS += compat/mmap.o
endif
ifdef NO_IPV6
- ALL_CFLAGS += -DNO_IPV6 -Dsockaddr_storage=sockaddr_in
+ ALL_CFLAGS += -DNO_IPV6 -Dsockaddr_stg_git=sockaddr_in
endif
ifdef PPC_SHA1
diff --git a/daemon.c b/daemon.c
index bb014fa..b424e5e 100644
--- a/daemon.c
+++ b/daemon.c
@@ -277,7 +277,7 @@ static unsigned int children_deleted = 0
static struct child {
pid_t pid;
int addrlen;
- struct sockaddr_storage address;
+ struct sockaddr_stg_git address;
} live_child[MAX_CHILDREN];
static void add_child(int idx, pid_t pid, struct sockaddr *addr, int addrlen)
@@ -578,7 +578,7 @@ static int service_loop(int socknum, int
for (i = 0; i < socknum; i++) {
if (pfd[i].revents & POLLIN) {
- struct sockaddr_storage ss;
+ struct sockaddr_stg_git ss;
unsigned int sslen = sizeof(ss);
int incoming = accept(pfd[i].fd, (struct sockaddr *)&ss, &sslen);
if (incoming < 0) {
--
1.1.2-ge577
[-- Attachment #3: 0002-fix-compilation-of-dirent-d_type.txt --]
[-- Type: text/plain, Size: 1137 bytes --]
>From nobody Mon Sep 17 00:00:00 2001
From: Alex Riesen <raa.lkml@gmail.com>
Date: Wed Jan 18 14:04:34 2006 +0100
Subject: fix compilation of dirent->d_type
---
Makefile | 3 +++
cache.h | 10 +++++++++-
2 files changed, 12 insertions(+), 1 deletions(-)
5232f9128ad9d10368525fe709954acc2d6f49b3
diff --git a/Makefile b/Makefile
index 5782e2a..c3bae0f 100644
--- a/Makefile
+++ b/Makefile
@@ -329,6 +329,9 @@ ifdef NEEDS_NSL
LIBS += -lnsl
SIMPLE_LIB += -lnsl
endif
+ifdef NO_DTYPE
+ COMPAT_CFLAGS += -DNO_DTYPE
+endif
ifdef NO_STRCASESTR
COMPAT_CFLAGS += -DNO_STRCASESTR
COMPAT_OBJS += compat/strcasestr.o
diff --git a/cache.h b/cache.h
index 29c9e81..3846fb9 100644
--- a/cache.h
+++ b/cache.h
@@ -10,13 +10,21 @@
#define deflateBound(c,s) ((s) + (((s) + 7) >> 3) + (((s) + 63) >> 6) + 11)
#endif
-#ifdef DT_UNKNOWN
+#ifndef NO_DTYPE
#define DTYPE(de) ((de)->d_type)
#else
+#ifndef DT_UNKNOWN
#define DT_UNKNOWN 0
+#endif
+#ifndef DT_DIR
#define DT_DIR 1
+#endif
+#ifndef DT_REG
#define DT_REG 2
+#endif
+#ifndef DT_LNK
#define DT_LNK 3
+#endif
#define DTYPE(de) DT_UNKNOWN
#endif
--
1.1.2-ge577
next reply other threads:[~2006-01-18 13:47 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-18 13:47 Alex Riesen [this message]
2006-01-19 5:29 ` cygwin-latest: compile errors related to sockaddr_storage, dirent->d_type and dirent->d_ino Christopher Faylor
2006-01-19 8:59 ` Junio C Hamano
2006-01-19 16:10 ` Christopher Faylor
2006-01-19 20:34 ` Christopher Faylor
2006-01-19 21:16 ` Linus Torvalds
2006-01-19 21:28 ` Christopher Faylor
2006-01-19 21:44 ` Linus Torvalds
2006-01-19 21:51 ` Christopher Faylor
2006-01-20 1:13 ` [PATCH] fsck-objects: support platforms without d_ino in struct dirent Junio C Hamano
2006-01-20 3:38 ` Christopher Faylor
2006-01-19 10:42 ` cygwin-latest: compile errors related to sockaddr_storage, dirent->d_type and dirent->d_ino Alex Riesen
2006-01-19 18:31 ` Christopher Faylor
2006-01-19 22:08 ` Alex Riesen
2006-01-19 22:51 ` Christopher Faylor
2006-01-19 12:51 ` Petr Baudis
2006-01-19 15:04 ` Alex Riesen
2006-01-19 13:00 ` Petr Baudis
2006-01-19 15:07 ` Alex Riesen
2006-01-20 1:13 ` Junio C Hamano
2006-01-20 13:23 ` Alex Riesen
2006-01-20 1:13 ` [PATCH] DT_UNKNOWN: do not fully trust existence of DT_UNKNOWN Junio C Hamano
2006-01-20 15:01 ` Alex Riesen
2006-01-20 19:10 ` Junio C Hamano
2006-01-20 21:53 ` Alex Riesen
2006-01-21 8:09 ` Junio C Hamano
2006-01-23 13:07 ` Alex Riesen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=81b0412b0601180547q4a812c8xb632de6ab13a5e62@mail.gmail.com \
--to=raa.lkml@gmail.com \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).