From owner-freebsd-bugs Tue Aug 17 8:11:11 1999 Delivered-To: freebsd-bugs@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id 4CADC1503B for ; Tue, 17 Aug 1999 08:11:10 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id IAA41732; Tue, 17 Aug 1999 08:10:01 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: by hub.freebsd.org (Postfix, from userid 32767) id 54A4E15714; Tue, 17 Aug 1999 08:05:20 -0700 (PDT) Message-Id: <19990817150520.54A4E15714@hub.freebsd.org> Date: Tue, 17 Aug 1999 08:05:20 -0700 (PDT) From: ganssauge@gmx.de To: freebsd-gnats-submit@freebsd.org X-Send-Pr-Version: www-1.0 Subject: gnu/13200: The assembler chokes on very long operands when called with -k Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 13200 >Category: gnu >Synopsis: The assembler chokes on very long operands when called with -k >Confidential: no >Severity: serious >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Aug 17 08:10:01 PDT 1999 >Closed-Date: >Last-Modified: >Originator: Gottfried Ganßauge >Release: 2.2.8-STABLE >Organization: >Environment: FreeBSD gg3pc.lasec.de 2.2.8-STABLE FreeBSD 2.2.8-STABLE #0: Wed Dec 9 08:39:17 CET 1998 Root@gg3pc.lasec.de:/.tmp_mount/lasecpc/usr/src/sys/compile/GG3PC i386 >Description: When compiling C++ programs heavily using templates with EGCS-1.1.2 the compilation is aborted with a message stating that the assembler terminated with signal 11. The same problem should happen when compiling to a.out on FreeBSD 3.2. >How-To-Repeat: Try to compile kdelibs11 from the ports collection using egcs-1.1.2. the problem occurs at kab/addressbook.cc and on kab/keyvaluemap.cc. >Fix: Here is a patch to the assembler: --- gnu/usr.bin/as/config/tc-i386.c Fri Feb 5 12:53:30 1999 +++ /usr/src/gnu/usr.bin/as/config/tc-i386.c Tue Aug 17 16:57:48 1999 @@ -1608,7 +1608,7 @@ register char *cp; if (picmode && (cp = strchr(input_line_pointer,'@'))) { - char tmpbuf[BUFSIZ]; + char *tmpbuf = alloca (cp - input_line_pointer + 20); if (strncmp(cp+1, "PLT", 3) == 0) { i.disp_reloc[this_operand] = RELOC_JMP_T BL; >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message