This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: [PATCH] doloop_optimize miscompiles openssl


> From: Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
> Date: Thu, 28 Sep 2000 19:37:21 +0200
> Cc: Geoff Keating <geoffk@cygnus.com>, gcc-patches@gcc.gnu.org,
>         Michael Hayes <mhayes@cygnus.com>
> 
> 
> --------------Boundary-00=_9AYLYQAQWCV0RI0MRPT1
> Content-Type: text/plain
> Content-Transfer-Encoding: 8bit
> 
> On Wed, 27 Sep 2000, Franz Sirl wrote:
> > At 13:57 27.09.00, Michael Hayes wrote:
> > >Franz Sirl writes:
> > >  > BTW, I will try to turn both testcases in this thread into executable
> > >  > testcases.
> > >
> > >This would be useful.  I haven't had a chance to look at this thread
> > >yet; could you post me a simple testcase?
> >
> > The other testcase is at
> > <http://gcc.gnu.org/ml/gcc-patches/2000-09/msg00999.html>. I converted this
> > one into an non-PPC specific executable testcase too. I'll post my current
> > patch and the executable testcases later today.
> 
> Here is my final patch (sorry for the delay, but I couldn't reach gcc.gnu.org 
> yesterday anymore) and the executable testcases extracted from openssl.
> 
> GCC with the patch bootstraps fine and causes no regressions in the testsuite.
> 
> OK to commit the patch and the testcases?

The patch is OK.

The testcases are not.  I believe they are under this license:

 * Copyright remains Eric Young's, and as such any Copyright notices in
 * the code are not to be removed.
 * If this package is used in a product, Eric Young should be given attribution
 * as the author of the parts of the library used.
 * This can be in the form of a textual message at program startup or
 * in documentation (online or textual) provided with the package.
 * 
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *    "This product includes cryptographic software written by
 *     Eric Young (eay@cryptsoft.com)"
 *    The word 'cryptographic' can be left out if the rouines from the library
 *    being used are not cryptographic related :-).
 * 4. If you include any Windows specific code (or a derivative thereof) from 
 *    the apps directory (application code) you must include an acknowledgement:
 *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
 * 
 * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 * 
 * The licence and distribution terms for any publically available version or
 * derivative of this code cannot be changed.  i.e. this code cannot simply be
 * copied and put under another distribution licence
 * [including the GNU Public Licence.]

Clause (3) above is not acceptable for code contributed to the GCC
project, even as testcases.  Also, you've removed the copyright
notices, which is generally not allowed.

> Franz.
> 
> 	* doloop.c (doloop_modify): Prevent delete_insn() from
> 	deleting too much.  Prefer loop->top over loop->start as
> 	target for the new JUMP insn.
> 	(doloop_valid_p): Ignore loop with exit_count != 0.

-- 
- Geoffrey Keating <geoffk@cygnus.com>

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]