All of lore.kernel.org
 help / color / mirror / Atom feed
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
Date: Sun, 7 Nov 2004 15:24:45 +0100	[thread overview]
Message-ID: <20041107142445.GH14308@stusta.de> (raw)

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>

             reply	other threads:[~2004-11-07 14:25 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-07 14:24 Adrian Bunk [this message]
2004-11-08 13:44 ` [2.6 patch] kill IN_STRING_C Andi Kleen
2004-11-08 15:34   ` Adrian Bunk
2004-11-08 16:19     ` Andi Kleen
2004-11-08 16:31       ` Adrian Bunk
2004-11-08 17:51         ` Andi Kleen
2004-11-08 18:34           ` Adrian Bunk
2004-11-08 19:01             ` Andi Kleen
2004-11-08 23:38               ` Use -ffreestanding? Adrian Bunk
2004-11-09  5:01                 ` Andi Kleen
2004-11-10  1:45                   ` [2.6 patch] " Adrian Bunk
2004-11-10  1:51                     ` Linus Torvalds
2004-11-10  1:57                       ` Adrian Bunk
2004-11-10 21:01                       ` Bill Davidsen
2004-11-08 18:04         ` [2.6 patch] kill IN_STRING_C Paweł Sikora
2004-11-08 18:31           ` Adrian Bunk
2004-11-08 19:12             ` linux-os
2004-11-08 21:27               ` Adrian Bunk
2004-11-08 22:15                 ` linux-os
2004-11-08 22:29                   ` Adrian Bunk
2004-11-08 22:57                     ` linux-os
2004-11-08 23:08                       ` Adrian Bunk
2004-11-09 12:44                         ` linux-os
2004-11-09 13:43                           ` linux-os
2004-11-08 18:22       ` linux-os
2004-11-08 19:31         ` Ryan Cumming
2004-11-09 13:58     ` Arnd Bergmann
2004-11-10  2:30       ` Adrian Bunk
     [not found] ` <200411081942.38954.pluto@pld-linux.org>
     [not found]   ` <20041108185222.GE15077@stusta.de>
2004-11-08 19:11     ` Paweł Sikora
2004-11-08 21:25       ` Adrian Bunk
  -- strict thread matches above, loose matches on Subject: below --
2004-11-08 18:43 Paweł Sikora

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=20041107142445.GH14308@stusta.de \
    --to=bunk@stusta.de \
    --cc=ak@suse.de \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.