diff options
author | dnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-12-03 22:57:20 +0000 |
---|---|---|
committer | dnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-12-03 22:57:20 +0000 |
commit | 31ac4ec5c6af649398c216b7b13540dc59de2fe8 (patch) | |
tree | 5fc2145f298160d19df9785db58c5c032a837144 /libiberty | |
parent | 21dd72bb5fe8a3d7a0ab817ecd83411ddca0f3f2 (diff) |
Merge with basic-improvements as of 2002-12-03.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-ssa-20020619-branch@59787 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libiberty')
-rw-r--r-- | libiberty/ChangeLog | 16 | ||||
-rw-r--r-- | libiberty/Makefile.in | 3 | ||||
-rw-r--r-- | libiberty/functions.texi | 25 | ||||
-rw-r--r-- | libiberty/md5.c | 108 |
4 files changed, 98 insertions, 54 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 7121b4aec01..c58dc1fd782 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,19 @@ +2002-11-24 Nick Clifton <nickc@redhat.com> + + * make-relative-prefix.c (make_relative_prefix): Ensure return + string is empty before using strcat to construct it. + +2002-11-22 Daniel Jacobowitz <drow@mvista.com> + + * Makefile.in: Add make-relative-prefix.c. + * make-relative-prefix.c: New file. + * functions.texi: Rebuilt. + +2002-11-16 Jakub Jelinek <jakub@redhat.com> + + * md5.c (md5_process_block): Avoid `function-like macro "F{G,H,I}" must be + used with arguments in traditional C' warnings. + 2002-10-16 Jakub Jelinek <jakub@redhat.com> * config.table: Use mh-s390pic for s390x too. diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in index e0bb15a7519..cdf14a4311b 100644 --- a/libiberty/Makefile.in +++ b/libiberty/Makefile.in @@ -135,6 +135,7 @@ CFILES = alloca.c argv.c asprintf.c atexit.c \ hashtab.c hex.c \ index.c insque.c \ lbasename.c \ + make-relative-prefix.c \ make-temp-file.c md5.c memchr.c memcmp.c memcpy.c memmove.c \ memset.c mkstemps.c \ objalloc.c obstack.c \ @@ -159,6 +160,7 @@ REQUIRED_OFILES = regex.o cplus-dem.o cp-demangle.o md5.o \ getopt.o getopt1.o getpwd.o getruntime.o \ hashtab.o hex.o \ lbasename.o \ + make-relative-prefix.o \ make-temp-file.o \ objalloc.o obstack.o \ partition.o pexecute.o \ @@ -432,6 +434,7 @@ hashtab.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/hashtab.h \ hex.o: $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h lbasename.o: $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \ $(INCDIR)/safe-ctype.h +make-relative-prefix.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h make-temp-file.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h md5.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/md5.h memchr.o: $(INCDIR)/ansidecl.h diff --git a/libiberty/functions.texi b/libiberty/functions.texi index b518243d95a..7d9c181d219 100644 --- a/libiberty/functions.texi +++ b/libiberty/functions.texi @@ -276,7 +276,7 @@ itself. @end deftypefn -@c getruntime.c:78 +@c getruntime.c:82 @deftypefn Replacement long get_run_time (void) Returns the time used so far, in microseconds. If possible, this is @@ -322,11 +322,12 @@ between calls to @code{getpwd}. Initializes the array mapping the current character set to corresponding hex values. This function must be called before any -call to @code{hex_p} or @code{hex_value}. +call to @code{hex_p} or @code{hex_value}. If you fail to call it, a +default ASCII-based table will normally be used on ASCII systems. @end deftypefn -@c hex.c:33 +@c hex.c:34 @deftypefn Extension int hex_p (int @var{c}) Evaluates to non-zero if the given character is a valid hex character, @@ -335,7 +336,7 @@ or zero if it is not. Note that the value you pass will be cast to @end deftypefn -@c hex.c:41 +@c hex.c:42 @deftypefn Extension int hex_value (int @var{c}) Returns the numeric equivalent of the given character when interpreted @@ -391,6 +392,22 @@ and a path ending in @code{/} returns the empty string after it. @end deftypefn +@c make-relative-prefix.c:24 +@deftypefn Extension {const char*} make_relative_prefix (const char *@var{progname}, const char *@var{bin_prefix}, const char *@var{prefix}) + +Given three strings @var{progname}, @var{bin_prefix}, @var{prefix}, return a string +that gets to @var{prefix} starting with the directory portion of @var{progname} and +a relative pathname of the difference between @var{bin_prefix} and @var{prefix}. + +For example, if @var{bin_prefix} is @code{/alpha/beta/gamma/gcc/delta}, @var{prefix} +is @code{/alpha/beta/gamma/omega/}, and @var{progname} is @code{/red/green/blue/gcc}, +then this function will return @code{/red/green/blue/../../omega/}. + +The return value is normally allocated via @code{malloc}. If no relative prefix +can be found, return @code{NULL}. + +@end deftypefn + @c make-temp-file.c:138 @deftypefn Replacement char* make_temp_file (const char *@var{suffix}) diff --git a/libiberty/md5.c b/libiberty/md5.c index 2e829fb3ee1..e458f2a6a64 100644 --- a/libiberty/md5.c +++ b/libiberty/md5.c @@ -343,68 +343,76 @@ md5_process_block (buffer, len, ctx) in CORRECT_WORDS. Redefine the macro to take an additional first argument specifying the function to use. */ #undef OP -#define OP(f, a, b, c, d, k, s, T) \ +#define OP(a, b, c, d, k, s, T) \ do \ { \ - a += f (b, c, d) + correct_words[k] + T; \ + a += FX (b, c, d) + correct_words[k] + T; \ CYCLIC (a, s); \ a += b; \ } \ while (0) +#define FX(b, c, d) FG (b, c, d) + /* Round 2. */ - OP (FG, A, B, C, D, 1, 5, (md5_uint32) 0xf61e2562); - OP (FG, D, A, B, C, 6, 9, (md5_uint32) 0xc040b340); - OP (FG, C, D, A, B, 11, 14, (md5_uint32) 0x265e5a51); - OP (FG, B, C, D, A, 0, 20, (md5_uint32) 0xe9b6c7aa); - OP (FG, A, B, C, D, 5, 5, (md5_uint32) 0xd62f105d); - OP (FG, D, A, B, C, 10, 9, (md5_uint32) 0x02441453); - OP (FG, C, D, A, B, 15, 14, (md5_uint32) 0xd8a1e681); - OP (FG, B, C, D, A, 4, 20, (md5_uint32) 0xe7d3fbc8); - OP (FG, A, B, C, D, 9, 5, (md5_uint32) 0x21e1cde6); - OP (FG, D, A, B, C, 14, 9, (md5_uint32) 0xc33707d6); - OP (FG, C, D, A, B, 3, 14, (md5_uint32) 0xf4d50d87); - OP (FG, B, C, D, A, 8, 20, (md5_uint32) 0x455a14ed); - OP (FG, A, B, C, D, 13, 5, (md5_uint32) 0xa9e3e905); - OP (FG, D, A, B, C, 2, 9, (md5_uint32) 0xfcefa3f8); - OP (FG, C, D, A, B, 7, 14, (md5_uint32) 0x676f02d9); - OP (FG, B, C, D, A, 12, 20, (md5_uint32) 0x8d2a4c8a); + OP (A, B, C, D, 1, 5, (md5_uint32) 0xf61e2562); + OP (D, A, B, C, 6, 9, (md5_uint32) 0xc040b340); + OP (C, D, A, B, 11, 14, (md5_uint32) 0x265e5a51); + OP (B, C, D, A, 0, 20, (md5_uint32) 0xe9b6c7aa); + OP (A, B, C, D, 5, 5, (md5_uint32) 0xd62f105d); + OP (D, A, B, C, 10, 9, (md5_uint32) 0x02441453); + OP (C, D, A, B, 15, 14, (md5_uint32) 0xd8a1e681); + OP (B, C, D, A, 4, 20, (md5_uint32) 0xe7d3fbc8); + OP (A, B, C, D, 9, 5, (md5_uint32) 0x21e1cde6); + OP (D, A, B, C, 14, 9, (md5_uint32) 0xc33707d6); + OP (C, D, A, B, 3, 14, (md5_uint32) 0xf4d50d87); + OP (B, C, D, A, 8, 20, (md5_uint32) 0x455a14ed); + OP (A, B, C, D, 13, 5, (md5_uint32) 0xa9e3e905); + OP (D, A, B, C, 2, 9, (md5_uint32) 0xfcefa3f8); + OP (C, D, A, B, 7, 14, (md5_uint32) 0x676f02d9); + OP (B, C, D, A, 12, 20, (md5_uint32) 0x8d2a4c8a); + +#undef FX +#define FX(b, c, d) FH (b, c, d) /* Round 3. */ - OP (FH, A, B, C, D, 5, 4, (md5_uint32) 0xfffa3942); - OP (FH, D, A, B, C, 8, 11, (md5_uint32) 0x8771f681); - OP (FH, C, D, A, B, 11, 16, (md5_uint32) 0x6d9d6122); - OP (FH, B, C, D, A, 14, 23, (md5_uint32) 0xfde5380c); - OP (FH, A, B, C, D, 1, 4, (md5_uint32) 0xa4beea44); - OP (FH, D, A, B, C, 4, 11, (md5_uint32) 0x4bdecfa9); - OP (FH, C, D, A, B, 7, 16, (md5_uint32) 0xf6bb4b60); - OP (FH, B, C, D, A, 10, 23, (md5_uint32) 0xbebfbc70); - OP (FH, A, B, C, D, 13, 4, (md5_uint32) 0x289b7ec6); - OP (FH, D, A, B, C, 0, 11, (md5_uint32) 0xeaa127fa); - OP (FH, C, D, A, B, 3, 16, (md5_uint32) 0xd4ef3085); - OP (FH, B, C, D, A, 6, 23, (md5_uint32) 0x04881d05); - OP (FH, A, B, C, D, 9, 4, (md5_uint32) 0xd9d4d039); - OP (FH, D, A, B, C, 12, 11, (md5_uint32) 0xe6db99e5); - OP (FH, C, D, A, B, 15, 16, (md5_uint32) 0x1fa27cf8); - OP (FH, B, C, D, A, 2, 23, (md5_uint32) 0xc4ac5665); + OP (A, B, C, D, 5, 4, (md5_uint32) 0xfffa3942); + OP (D, A, B, C, 8, 11, (md5_uint32) 0x8771f681); + OP (C, D, A, B, 11, 16, (md5_uint32) 0x6d9d6122); + OP (B, C, D, A, 14, 23, (md5_uint32) 0xfde5380c); + OP (A, B, C, D, 1, 4, (md5_uint32) 0xa4beea44); + OP (D, A, B, C, 4, 11, (md5_uint32) 0x4bdecfa9); + OP (C, D, A, B, 7, 16, (md5_uint32) 0xf6bb4b60); + OP (B, C, D, A, 10, 23, (md5_uint32) 0xbebfbc70); + OP (A, B, C, D, 13, 4, (md5_uint32) 0x289b7ec6); + OP (D, A, B, C, 0, 11, (md5_uint32) 0xeaa127fa); + OP (C, D, A, B, 3, 16, (md5_uint32) 0xd4ef3085); + OP (B, C, D, A, 6, 23, (md5_uint32) 0x04881d05); + OP (A, B, C, D, 9, 4, (md5_uint32) 0xd9d4d039); + OP (D, A, B, C, 12, 11, (md5_uint32) 0xe6db99e5); + OP (C, D, A, B, 15, 16, (md5_uint32) 0x1fa27cf8); + OP (B, C, D, A, 2, 23, (md5_uint32) 0xc4ac5665); + +#undef FX +#define FX(b, c, d) FI (b, c, d) /* Round 4. */ - OP (FI, A, B, C, D, 0, 6, (md5_uint32) 0xf4292244); - OP (FI, D, A, B, C, 7, 10, (md5_uint32) 0x432aff97); - OP (FI, C, D, A, B, 14, 15, (md5_uint32) 0xab9423a7); - OP (FI, B, C, D, A, 5, 21, (md5_uint32) 0xfc93a039); - OP (FI, A, B, C, D, 12, 6, (md5_uint32) 0x655b59c3); - OP (FI, D, A, B, C, 3, 10, (md5_uint32) 0x8f0ccc92); - OP (FI, C, D, A, B, 10, 15, (md5_uint32) 0xffeff47d); - OP (FI, B, C, D, A, 1, 21, (md5_uint32) 0x85845dd1); - OP (FI, A, B, C, D, 8, 6, (md5_uint32) 0x6fa87e4f); - OP (FI, D, A, B, C, 15, 10, (md5_uint32) 0xfe2ce6e0); - OP (FI, C, D, A, B, 6, 15, (md5_uint32) 0xa3014314); - OP (FI, B, C, D, A, 13, 21, (md5_uint32) 0x4e0811a1); - OP (FI, A, B, C, D, 4, 6, (md5_uint32) 0xf7537e82); - OP (FI, D, A, B, C, 11, 10, (md5_uint32) 0xbd3af235); - OP (FI, C, D, A, B, 2, 15, (md5_uint32) 0x2ad7d2bb); - OP (FI, B, C, D, A, 9, 21, (md5_uint32) 0xeb86d391); + OP (A, B, C, D, 0, 6, (md5_uint32) 0xf4292244); + OP (D, A, B, C, 7, 10, (md5_uint32) 0x432aff97); + OP (C, D, A, B, 14, 15, (md5_uint32) 0xab9423a7); + OP (B, C, D, A, 5, 21, (md5_uint32) 0xfc93a039); + OP (A, B, C, D, 12, 6, (md5_uint32) 0x655b59c3); + OP (D, A, B, C, 3, 10, (md5_uint32) 0x8f0ccc92); + OP (C, D, A, B, 10, 15, (md5_uint32) 0xffeff47d); + OP (B, C, D, A, 1, 21, (md5_uint32) 0x85845dd1); + OP (A, B, C, D, 8, 6, (md5_uint32) 0x6fa87e4f); + OP (D, A, B, C, 15, 10, (md5_uint32) 0xfe2ce6e0); + OP (C, D, A, B, 6, 15, (md5_uint32) 0xa3014314); + OP (B, C, D, A, 13, 21, (md5_uint32) 0x4e0811a1); + OP (A, B, C, D, 4, 6, (md5_uint32) 0xf7537e82); + OP (D, A, B, C, 11, 10, (md5_uint32) 0xbd3af235); + OP (C, D, A, B, 2, 15, (md5_uint32) 0x2ad7d2bb); + OP (B, C, D, A, 9, 21, (md5_uint32) 0xeb86d391); /* Add the starting values of the context. */ A += A_save; |