KhronosGroup / KhronosGroup/OpenCOLLADA

armv7 / armv7s throwing uncatchable ARM_DA_ALIGN

Open
#284 0 comments 0 reactions 0 assignees View on GitHub
contribution requested
Dominant language
C++
Stars
679
Forks
260
PR merge metrics
No merged PRs in 30d

Description

OpenCollada built for iOS fails when parsing a dae on an armv7 or armv7s device but works on an ARM64 device.

The line that fails is 733 in GeneratedSaxParserParserTemplate.h:
typedBuffer[0] = fragmentData;

Applying a memcpy to this line then causes line 761 in GeneratedSaxParserParserTemplate.h to fail:
typedBuffer[dataBufferIndex] = dataValue;

If both are made into memcpy then the library reaches the point where it tries to use the parsed information then fails. This happens in the class URI in the COLLADABU namespace when the URI is being copied.

Is this a compiler flag issue or is there a workaround available for armv7 and armv7s devices?

This library is built using Xcode 6.1 onto iOS8 with C++11 dialects.

Any help would be fantastic.

Kind Regards

Carl Anderson

Contributor guide

No contributing guide indexed for this repository

Research direction

Read GeneratedSaxParserParserTemplate.h around lines 733 and 761, then inspect the URI class in the COLLADABU namespace. Reproduce the parsing failure on an armv7 or armv7s iOS device and compare it with ARM64 behavior. Done means the same DAE parses and the parsed URI information can be used without ARM_DA_ALIGN failures.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.