+ I386_ATT switch

This commit is contained in:
peter 1998-05-23 01:14:06 +00:00
parent d273864b0e
commit 1b68629d67

View File

@ -3,6 +3,8 @@
This file is part of the Free Pascal run time library. This file is part of the Free Pascal run time library.
Copyright (c) 1993,97 by the Free Pascal development team. Copyright (c) 1993,97 by the Free Pascal development team.
Strings unit for PChar (asciiz/C compatible strings) handling
See the file COPYING.FPC, included in this distribution, See the file COPYING.FPC, included in this distribution,
for details about the copyright. for details about the copyright.
@ -11,15 +13,8 @@
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************} **********************************************************************}
unit strings; unit strings;
interface
{ Zero-terminated (ascii-z) string handling }
interface
{$ifndef FPK}
{$E-}
{$endif}
{ Returns the length of a string } { Returns the length of a string }
function strlen(p : pchar) : longint; function strlen(p : pchar) : longint;
@ -95,7 +90,7 @@ unit strings;
{ Releases a null-terminated string from the heap } { Releases a null-terminated string from the heap }
procedure strdispose(p : pchar); procedure strdispose(p : pchar);
implementation implementation
function strcopy(dest,source : pchar) : pchar; function strcopy(dest,source : pchar) : pchar;
@ -254,7 +249,7 @@ unit strings;
stosb stosb
cmpl $7,%eax cmpl $7,%eax
jl .LStrPas2 jl .LStrPas2
movl %edi,%ecx # Align on 32bits movl %edi,%ecx // Align on 32bits
negl %ecx negl %ecx
andl $3,%ecx andl $3,%ecx
subl %ecx,%eax subl %ecx,%eax
@ -590,49 +585,8 @@ end.
{ {
$Log$ $Log$
Revision 1.1 1998-03-25 11:18:42 root Revision 1.2 1998-05-23 01:14:06 peter
Initial revision + I386_ATT switch
Revision 1.7 1998/02/24 17:50:46 peter
* upto 100% (255's char is different ;) faster STRCMP
* faster StrPas from i386.inc also strings.pp
Revision 1.6 1998/01/26 11:59:12 michael
+ Added log at the end
revision 1.5
date: 1998/01/16 16:14:08; author: michael; state: Exp; lines: +11 -1
+ Implemented StrAlloc() function.
----------------------------
revision 1.4
date: 1997/12/01 18:21:39; author: pierre; state: Exp; lines: +2 -2
* small bug without importance fixed
in strrscan a call to a label in strscan was called
----------------------------
revision 1.3
date: 1997/12/01 12:34:38; author: michael; state: Exp; lines: +11 -4
+ added copyright reference in header.
----------------------------
revision 1.2
date: 1997/11/28 18:59:10; author: pierre; state: Exp; lines: +42 -42
local labels prefixed with .L
----------------------------
revision 1.1
date: 1997/11/27 08:33:47; author: michael; state: Exp;
Initial revision
----------------------------
revision 1.1.1.1
date: 1997/11/27 08:33:47; author: michael; state: Exp; lines: +0 -0
FPC RTL CVS start
=============================================================================
1.5.1994: Version 0.9
Unit ist komplett implementiert (noch nicht getestet)
20.3.1995: Version 0.91
strmove korriert, f<EFBFBD>r system.move m<EFBFBD>ssen Pointer
dereferenziert werden
24.12.1995: Version 0.92
strcomp war fehlerhaft; korrigiert
dito strlcomp
} }