From: Adrian Bunk <bunk@stusta.de>
To: Andrew Morton <akpm@osdl.org>
Cc: linux-kernel@vger.kernel.org
Subject: [2.6 patch] kill IN_STRING_C (fwd)
Date: Thu, 16 Dec 2004 22:17:23 +0100 [thread overview]
Message-ID: <20041216211723.GQ12937@stusta.de> (raw)
The patch forwarded below still applies and compiles against
2.6.10-rc3-mm1.
With -ffreestanding it shouldn't even cause any problems in case we'd
one day drop the -fno-unit-at-a-time (which caused the problems Andi
dobserved on X86_64).
Please apply.
----- Forwarded message from Adrian Bunk <bunk@stusta.de> -----
Date: Sun, 7 Nov 2004 15:24:45 +0100
From: Adrian Bunk <bunk@stusta.de>
To: Andi Kleen <ak@suse.de>
Cc: linux-kernel@vger.kernel.org
Subject: [2.6 patch] kill IN_STRING_C
Hi Andi,
some months ago, you invented a IN_STRING_C with the following comment:
<-- snip -->
gcc 3.4 optimizes sprintf(foo,"%s",string) into strcpy.
Unfortunately that isn't seen by the inliner and linux/i386 has no
out-of-line strcpy so you end up with a linker error.
This patch adds out of line copies for most string functions to avoid
this.
...
<-- snip -->
I tried 2.6.10-rc1-mm3 with gcc 3.4.2 and the patch below and didn't
observe the problems you described.
Can you still reproduce this problem?
If not, I'll suggest to apply the patch below which saves a few kB in
lib/string.o .
Signed-off-by: Adrian Bunk <bunk@stusta.de>
--- linux-2.6.10-rc1-mm3-full/include/asm-i386/string.h.old 2004-11-07 13:27:44.000000000 +0100
+++ linux-2.6.10-rc1-mm3-full/include/asm-i386/string.h 2004-11-07 13:28:47.000000000 +0100
@@ -25,7 +25,6 @@
/* AK: in fact I bet it would be better to move this stuff all out of line.
*/
-#if !defined(IN_STRING_C)
#define __HAVE_ARCH_STRCPY
static inline char * strcpy(char * dest,const char *src)
@@ -180,8 +179,6 @@
return __res;
}
-#endif
-
#define __HAVE_ARCH_STRLEN
static inline size_t strlen(const char * s)
{
--- linux-2.6.10-rc1-mm3-full/lib/string.c.old 2004-11-07 13:29:00.000000000 +0100
+++ linux-2.6.10-rc1-mm3-full/lib/string.c 2004-11-07 13:29:05.000000000 +0100
@@ -19,8 +19,6 @@
* - Kissed strtok() goodbye
*/
-#define IN_STRING_C 1
-
#include <linux/types.h>
#include <linux/string.h>
#include <linux/ctype.h>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
----- End forwarded message -----
reply other threads:[~2004-12-16 21:17 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20041216211723.GQ12937@stusta.de \
--to=bunk@stusta.de \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
/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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox