From patchwork Tue Oct 11 12:19:59 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Konrad Eisele X-Patchwork-Id: 118979 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id E5AFAB6F65 for ; Tue, 11 Oct 2011 23:26:36 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752947Ab1JKM0g (ORCPT ); Tue, 11 Oct 2011 08:26:36 -0400 Received: from mail202c2.megamailservers.com ([69.49.111.103]:38258 "EHLO mail202c2.megamailservers.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752797Ab1JKM0g (ORCPT ); Tue, 11 Oct 2011 08:26:36 -0400 X-Authenticated-User: konrad.gaisler.com Received: from localhost.localdomain (gaisler.se [92.33.28.242]) (authenticated bits=0) by mail202c2.megamailservers.com (8.13.6/8.13.1) with ESMTP id p9BCQQ6x032445; Tue, 11 Oct 2011 08:26:29 -0400 From: Konrad Eisele To: davem@davemloft.net Cc: sparclinux@vger.kernel.org, julian.calaby@gmail.com, kristoffer@gaisler.com, daniel@gaisler.com Subject: [PATCH 3/5] kernel,debug: SPARC KGDB stub strcpy fix Date: Tue, 11 Oct 2011 14:19:59 +0200 Message-Id: <1318335600-25561-1-git-send-email-konrad@gaisler.com> X-Mailer: git-send-email 1.6.4.1 In-Reply-To: <4E943381.5060401@gaisler.com> References: <4E943381.5060401@gaisler.com> X-CSC: 0 X-CHA: v=1.1 cv=t6P6ZnH7F4B+FTDzBT2sv7Wly1PyMf9jGdjNuUfj6/c= c=1 sm=1 a=jXkHzaNnGdYA:10 a=U62ajLuCel8A:10 a=jXKJviUpWSOlMmIvGrHOfw==:17 a=ebG-ZW-8AAAA:8 a=ge-fhIyFuSXb0IvuPd0A:9 a=cCYF7-FHeg4A:10 a=uPOF6FfEbc6srns2:21 a=jXKJviUpWSOlMmIvGrHOfw==:117 Sender: sparclinux-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: sparclinux@vger.kernel.org Works aroung the fact that strcpy with a constant string is converted to memcpy by gcc and that memcpy in SPARC returns 0. Signed-off-by: Konrad Eisele --- kernel/debug/gdbstub.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/kernel/debug/gdbstub.c b/kernel/debug/gdbstub.c index a11db95..380753e 100644 --- a/kernel/debug/gdbstub.c +++ b/kernel/debug/gdbstub.c @@ -946,7 +946,8 @@ int gdb_serial_stub(struct kgdb_state *ks) ptr = remcom_out_buffer; *ptr++ = 'T'; ptr = pack_hex_byte(ptr, ks->signo); - ptr += strlen(strcpy(ptr, "thread:")); + strcpy(ptr, "thread:"); + ptr += strlen(ptr); int_to_threadref(thref, shadow_pid(current->pid)); ptr = pack_threadid(ptr, thref); *ptr++ = ';';