This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: PATCH: Add missing ia64 .proc
- From: David Mosberger <davidm at napali dot hpl dot hp dot com>
- To: "H. J. Lu" <hjl at lucon dot org>
- Cc: Ulrich Drepper <drepper at redhat dot com>,GNU C Library <libc-alpha at sources dot redhat dot com>, davidm at hpl dot hp dot com
- Date: Thu, 24 Mar 2005 21:56:24 -0800
- Subject: Re: PATCH: Add missing ia64 .proc
- References: <20050209203017.GA31395@lucon.org><423CFCBB.2010107@redhat.com><20050320061253.GD29959@lucon.org>
- Reply-to: davidm at hpl dot hp dot com
>>>>> On Sat, 19 Mar 2005 22:12:53 -0800, "H. J. Lu" <hjl@lucon.org> said:
HJ> It turned out that David's Intel libm import scripts didn't handle
HJ> .endp foo
HJ> .proc bar
HJ> bar:
HJ> It wants
HJ> .endp foo
HJ> .proc bar
HJ> bar:
HJ> That is why my patch is needed. Since we need the new Intel libm to fix
HJ> the nextafter bug, David, can you make sure your scripts work with
HJ> .endp foo
HJ> .proc bar
HJ> so that the next imported libm is ok?
How about the attached patch? On a toy example it seems to work as
desired:
$ cat t
// static char cvs_id[] = "$Id: sqrt.asm,v 1.1.2.4 2003/03/05 00:06:27 nalex Ex\
p $";
// WARRANTY DISCLAIMER
.proc foo#
foo:
nop.f 0
.endp foo#
.proc bar#
bar:
nop.m 0
.endp bar#
$ awk -f import_file.awk -v FUNC='(foo|bar)' t
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
//
// * 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.
//
// * The name of Intel Corporation may not be used to endorse or promote
// products derived from this software without specific prior written
// permission.
GLOBAL_LIBM_ENTRY(foo)
nop.f 0
GLOBAL_LIBM_END(foo)
GLOBAL_LIBM_ENTRY(bar)
nop.m 0
GLOBAL_LIBM_END(bar)
Also, I did a reimport of the libm and the only thing that changed was
whitespace and in a couple of files (e.g., e_scalb.S), it now catches
the start of __libm_error_region, which was missed before.
--david
Index: import_file.awk
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/ia64/fpu/import_file.awk,v
retrieving revision 1.1
diff -u -r1.1 import_file.awk
--- import_file.awk 6 Jan 2005 11:29:21 -0000 1.1
+++ import_file.awk 25 Mar 2005 05:50:41 -0000
@@ -115,7 +115,6 @@
print
getline;
}
- getline;
printf "%s_END(%s)\n", type, name;
if (match(name, "^exp10[fl]?$")) {
t=substr(name,6)