Geoff,
EPICS has been tested on the alpha before, but not on a true 64 bit OS.
How does it feel to have 64 bit longs that the rest of us are lacking?
During revisions for EPICS R3.14 the routine issue_ca_array_put () has
been eliminated and there is now a more efficient replacement. Are you
interested in beta testing R3.14?
I also back patched the EPICS R3.13 CVS branch so that this will be fixed
if there is another R3.13 release.
Thanks for bringing this to my attention.
Jeff
> -----Original Message-----
> From: [email protected] [mailto:[email protected]]
> Sent: Tuesday, August 29, 2000 11:56 AM
> To: tech-talk
> Subject: Unaligned access
>
>
> Hi,
>
> When using CA puts on our 64-bit alpha machines running Tru64 Unix I am
> getting unaligned access faults. Here's the reason.
>
> In src/ca/access.c issue_ca_array_put are the lines
> case DBR_LONG:
> *(long *)pdest = htonl (*(dbr_long_t *)pvalue);
> break;
>
> in src/db_db_access.h
>
> typedef epicsInt32 dbr_long_t;
>
> in src/include/epicsTypes.h
>
> typedef int epicsInt32;
>
> The code is attempting to equate a long with an int. This works on a 32
> bit machine but not a 64 bit machine.
>
> All the native C data types (long, char, ...) in the issue_ca_array_put
> routine should be changed to be the epics dbr_xxxx data types for
> consistency.
>
> Would someone please correct this in the next release so that I don't
> have to keep patching our code. Are we the only ones using 64-bit
> computers? Has anyone else encoutered this problem?
>
> Thanks
>
> Geoff
>
>
- Replies:
- Re: Unaligned access Brian McAllister
- References:
- Unaligned access Geoff Savage
- Navigate by Date:
- Prev:
Unaligned access Geoff Savage
- Next:
Re: Unaligned access Brian McAllister
- Index:
1994
1995
1996
1997
1998
1999
<2000>
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Unaligned access Geoff Savage
- Next:
Re: Unaligned access Brian McAllister
- Index:
1994
1995
1996
1997
1998
1999
<2000>
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|