| delorie.com/archives/browse.cgi | search |
| Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
| List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
| List-Archive: | <http://sources.redhat.com/ml/cygwin/> |
| List-Post: | <mailto:cygwin AT cygwin DOT com> |
| List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs> |
| Sender: | cygwin-owner AT cygwin DOT com |
| Mail-Followup-To: | cygwin AT cygwin DOT com |
| Delivered-To: | mailing list cygwin AT cygwin DOT com |
| MIME-Version: | 1.0 |
| Message-ID: | <16379.59867.150000.61566@gargle.gargle.HOWL> |
| Date: | Wed, 7 Jan 2004 12:13:30 +0100 |
| To: | cygwin AT cygwin DOT com |
| Subject: | Windows shared libraries limitation |
| From: | Pascal Obry <obry AT act-europe DOT fr> |
| X-MIME-Autoconverted: | from quoted-printable to 8bit by delorie.com id i07BEJZq028502 |
Here is the problem. The auto-import feature for non scalar syms works only
if the syms are the DATA section. So for constant arrays this not working.
The following simple example will not work properly:
clib.c:
const char arr[] = "azertyazertyazertyazertyazertyazertyazertyazertyazerty";
$ gcc -shared -o clib.dll clib.c
main.c:
#include <stdio.h>
extern const char arr[];
int main (void)
{
int k;
for (k=0; k<6; k++)
printf ("arr[%d]=%c\n", k, arr[k]);
}
$ gcc -o main main.c clib.dll
$ ./main
arr[0]=ÿ
arr[1]=%
arr[2]=à
arr[3]=`
arr[4]=@
arr[5]=
Of course the obvious fix is to remove the "const" attribute. But this is not
a general solution. The problem occurs, for example, in the standard Ada
libraries where it is not an option to change a constant to a variable (the
spec are part of the standard).
Is there a solution with the current GCC ?
If not a solution would be to add an option to GCC for force all such syms
into the DATA section.
Thoughts ?
Let me know if there is a more appropriate mailing-list to discuss this issue.
Thanks,
Pascal.
--
--|------------------------------------------------------
--| Pascal Obry Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--| http://perso.wanadoo.fr/pascal.obry
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |