On Thu, Jan 09, 2003 at 08:58:29PM +0100, Andy Polyakov wrote:
> I found the documentation for .def ... .endef, but it doesn't say a
> thing about the values of .scl and .type. So I just copied from an .s
> file generated by compiler. Verify the values with your people.

This is from the gas info pages:

--- SNIP ---

`.scl CLASS'
============

   Set the storage-class value for a symbol.  This directive may only be
used inside a `.def'/`.endef' pair.  Storage class may flag whether a
symbol is static or external, or it may record further symbolic
debugging information.

   The `.scl' directive is primarily associated with COFF output; when
configured to generate `b.out' output format, `as' accepts this
directive but ignores it.

`.type INT' (COFF version)
==========================

   This directive, permitted only within `.def'/`.endef' pairs, records
the integer INT as the type attribute of a symbol table entry.

   `.type' is associated only with COFF format output; when `as' is
configured for `b.out' output, it accepts this directive but ignores it.

--- SNAP ---

The value needed for .scl is C_EXT = 2
and the value for .type is (DT_FCN << N_BTSHFT) = 32

so that should be ok.

> Oh! BTW, I probably have to object against calling the package openssl2,
> openssl097 is probably more appropriate. A.

The "2" is just sort of a counter which is needed to allow more than
one package installed at the same time.  E.g. we have two concurrent
versions of libreadline called libreadline4 and libreadline5.  This
is *not* related to the official version number of the packages, which
in case of the libreadline packages are 4.1 and 4.3.  This official
version number is part of the full package name, e.g. in case of
libreadline currently:

    libreadline4-4.1-2.tar.bz2
    libreadline5-4.3-2.tar.bz2
 
so in case of openssl this will become

    openssl-0.9.6h-2.tar.bz2
    openssl2-0.9.7-1.tar.bz2

The next version, 0.9.8, would become

    openssl3-0.9.8-1.tar.bz2

The names of the real DLLs don't contain this counter:

  cygcrypto.dll       == 0.9.6x, no version number for backward compatibility
  cygcrypto.dll-0.9.7
  cygcrypto.dll-0.9.8

> *** crypto/perlasm/x86asm.pl.orig       Thu Jul 18 14:38:03 2002
> --- crypto/perlasm/x86asm.pl    Thu Jan  9 20:41:52 2003
> ***************
> *** 91,97 ****
>   #undef SIZE
>   #undef TYPE
>   #define SIZE(a,b)
> ! #define TYPE(a,b)
>   #endif /* __CYGWIN || __DJGPP */
>   #endif
> 
> --- 91,97 ----
>   #undef SIZE
>   #undef TYPE
>   #define SIZE(a,b)
> ! #define TYPE(a,b)     .def a; .scl 2; .type 32; .endef
>   #endif /* __CYGWIN || __DJGPP */
>   #endif

Builds fine, all tests pass, ssh works again with this patch.

Thanks very much!
Corinna

-- 
Corinna Vinschen
Cygwin Developer
Red Hat, Inc.
mailto:[EMAIL PROTECTED]
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to