This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH: Add missing ia64 .proc


>>>>> 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)


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