Giter Site home page Giter Site logo

Comments (22)

cbakgly avatar cbakgly commented on July 21, 2024

Yes, libc++ is not ready now. There's still plenty of work including libc upgrading.

from crossbridge.

cbakgly avatar cbakgly commented on July 21, 2024

Libc upgrading is roughly done. Wish libc++ to be done soon.

from crossbridge.

stopiccot avatar stopiccot commented on July 21, 2024

Any progress with libc++?

from crossbridge.

cbakgly avatar cbakgly commented on July 21, 2024

I think it will be done very soon. I can upload the files if you'd like to try it.

Oh, I am a little over-optimistic. So let code in first.

from crossbridge.

stopiccot avatar stopiccot commented on July 21, 2024

Hi. Just tested commit e6b4dfe. I'm getting a few errors. First one occurs while building stdlibs target:

/Users/stopiccot/code/flash/crossbridge/build/mac/libthr/libthr/thread/thr_exit.c:110:1: error: conflicting types for '_Unwind_GetCFA'
_Unwind_GetCFA(struct _Unwind_Context *context)

which can be fixed obviously. The second occurs while building as3wig target and seems to be more complex:

In file included from AS3Wig.cpp:22:
In file included from /Users/stopiccot/code/flash/crossbridge/sdk/usr/bin/../../usr/include/AS3++/AS3Wig.h:23:
In file included from /Users/stopiccot/code/flash/crossbridge/sdk/usr/bin/../../usr/include/AS3/AS3++.h:16:
In file included from /Users/stopiccot/code/flash/crossbridge/sdk/usr/bin/../../usr/include/c++/4.2/string:56:
In file included from /Users/stopiccot/code/flash/crossbridge/sdk/usr/bin/../../usr/include/c++/4.2/algorithm:67:
/Users/stopiccot/code/flash/crossbridge/sdk/usr/bin/../../usr/include/c++/4.2/bits/stl_algo.h:1985:40: error: no member named 'rand' in namespace 'std'
      std::iter_swap(__i, __first + (std::rand() % ((__i - __first) + 1)));
                                     ~~~~~^

It seems that despite we should use libc++, gcc 4.2 headers are somehow getting into compilation which is obviously incorrect. Looking forward for your response.

from crossbridge.

stopiccot avatar stopiccot commented on July 21, 2024

Hi. Just tested commit 37b738b. I've changed my main.cpp to:

#include <iostream>

int main() {
    std::cout << "crossbridge test" << std::endl;
    return 0;
}

It compiled fine using command line:

$ .../crossbridge/sdk/usr/bin/clang++ ./main.cpp -emit-swf -o ~/test.swf

It's already a good milestone :) But generated swf crashes on startup. Here is what I have in my flashlog.txt:

Error
    at global/C_Run::F__sync_val_compare_and_swap_1()
    at global/C_Run::F__ZNSt3__16locale8__globalEv()
    at global/C_Run::F__ZNSt3__110__stdinbufIcEC2EP7__sFILEP11__mbstate_t()
    at global/C_Run::F__ZNSt3__18ios_base4InitC2Ev()
    at global/C_Run__2F_var_2F_folders_2F_gy_2F_5rs8cgt96sj_1bf1qxcpqmtw0000gn_2F_T_2F__2F_sK9QJI_2E_lto_2E_bc_3A_6F0C363B_2D_EC8B_2D_439B_2D_86C8_2D_8F    DFED6DCB03::F__GLOBAL__I_a()
    at com.adobe.flascc::CModule$/callI()
    at com.adobe.flascc::CModule/runCtors()
    at com.adobe.flascc::CModule$/runCtors()
    at global/C_Run::F__init()
    at global/C_Run::F__start1()
    at com.adobe.flascc::CModule$/callI()
    at com.adobe.flascc::CModule$/start()
    at com.adobe.flascc::CModule$/startAsync()
    at com.adobe.flascc::Console/init()
    at com.adobe.flascc::Console()
    at com.adobe.flascc.preloader::DefaultPreloader/onPreloaderComplete()

FlasCC does not support CAS on a non-32bit values..

from crossbridge.

cbakgly avatar cbakgly commented on July 21, 2024

Thanks. Known issue.

from crossbridge.

cbakgly avatar cbakgly commented on July 21, 2024

A minor fix is uploaded. Hope it works all the time.

from crossbridge.

rtissera avatar rtissera commented on July 21, 2024

What toolchain/OS combo do you use guys to get the futures branch "working" ?

from crossbridge.

cbakgly avatar cbakgly commented on July 21, 2024

@rtissera Mac OS X Lion 10.7.5 (11G63b) + Xcode Version 4.6.3 (4H1503).
Also major parts are also working in Cygwin.

from crossbridge.

stopiccot avatar stopiccot commented on July 21, 2024

Hi. Recent commits to futures branch made it workable for simple test programs that use C++11 features. So I decided to test our project. I'm getting a lot of weird link time errors:

error: z: no archive symbol table (run ranlib)
error: LLVM gold plugin has failed to create LTO module: Invalid MODULE_CODE_GLOBALVAR record
error: SDL: member at 7992 is not an ELF object
error: LLVM gold plugin has failed to create LTO module: Invalid MODULE_CODE_GLOBALVAR record
error: SDL: member at 286344 is not an ELF object
error: LLVM gold plugin has failed to create LTO module: Invalid MODULE_CODE_GLOBALVAR record
error: SDL: member at 289732 is not an ELF object
error: LLVM gold plugin has failed to create LTO module: Invalid MODULE_CODE_GLOBALVAR record
error: SDL: member at 340280 is not an ELF object
error: LLVM gold plugin has failed to create LTO module: Invalid MODULE_CODE_GLOBALVAR record
error: SDL: member at 371328 is not an ELF object
error: LLVM gold plugin has failed to create LTO module: Invalid MODULE_CODE_GLOBALVAR record
error: SDL: member at 389676 is not an ELF object
....

Do you have any idea what can be causing these errors?

from crossbridge.

rtissera avatar rtissera commented on July 21, 2024

It's better for me :)
I just missed the following symbols at link time :

_powl
__openat
__fstatat

Seems missing from libc.a :(

2013/10/17 Alexey [email protected]

Hi. Recent commits to futures branch made it workable for simple test
programs that use C++11 features. So I decided to test our project. I'm
getting a lot of weird link time errors:

error: z: no archive symbol table (run ranlib)
error: LLVM gold plugin has failed to create LTO module: Invalid MODULE_CODE_GLOBALVAR record
error: SDL: member at 7992 is not an ELF object
error: LLVM gold plugin has failed to create LTO module: Invalid MODULE_CODE_GLOBALVAR record
error: SDL: member at 286344 is not an ELF object
error: LLVM gold plugin has failed to create LTO module: Invalid MODULE_CODE_GLOBALVAR record
error: SDL: member at 289732 is not an ELF object
error: LLVM gold plugin has failed to create LTO module: Invalid MODULE_CODE_GLOBALVAR record
error: SDL: member at 340280 is not an ELF object
error: LLVM gold plugin has failed to create LTO module: Invalid MODULE_CODE_GLOBALVAR record
error: SDL: member at 371328 is not an ELF object
error: LLVM gold plugin has failed to create LTO module: Invalid MODULE_CODE_GLOBALVAR record
error: SDL: member at 389676 is not an ELF object
....

Do you have any idea what can be causing these errors?


Reply to this email directly or view it on GitHubhttps://github.com//issues/14#issuecomment-26532495
.

from crossbridge.

cbakgly avatar cbakgly commented on July 21, 2024

@stopiccot Did you use the file made by previous version of LLVM?
You may take a look at line 384 at llvm-3.2/tools/gold/gold-plugin.cpp.

from crossbridge.

cbakgly avatar cbakgly commented on July 21, 2024

@rtissera
powl, make it an alias of pow.
openat is in thread lib.
fstatat, you should not rely on such APIs, otherwise have to implement yourself. Image that how can you access the real file system in Flash Player?

from crossbridge.

rtissera avatar rtissera commented on July 21, 2024

Not using openat neither fstatat directly in my code, it seems to be called by some underneath library or API hidden by Crossbridge. Using ZipBackingStore VFS btw, maybe the source of the issue ?

from crossbridge.

stopiccot avatar stopiccot commented on July 21, 2024

@cbakgly Yes, you are right. There were some mess with libs compiled by master branch version of crossbridge. I've tried to recompile dependencies (https://github.com/alexmac/alcextra) using newer crossbridge:

libtool: link: ranlib build/.libs/libSDL_mixer.a
bfd plugin: Failed to create LLVM module: Unknown bitstream version!
ld: warning: ignoring file build/.libs/libSDL_mixer.a, file was built for archive which is not the architecture being linked (x86_64): build/.libs/libSDL_mixer.a
ld: file too small for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

from crossbridge.

stopiccot avatar stopiccot commented on July 21, 2024

I've also compiled our project once again (but with libSDL_mixer disabled). This time it compiled and linked successfully. But when I try to run it using Flash Player Debugger 11.2.202.228 it fails on printf() call:

ReferenceError: Error #1065: Variable F_puts is not defined.

I have no idea why it is happening because simple test programs (int main() with just one printf()) wok fine for me. Any ideas what can be causing this issue?

from crossbridge.

cbakgly avatar cbakgly commented on July 21, 2024

@stopiccot
I feel that they both are version-mixed issues.
1st, like a different LLVM bitcode version. Just note that LLVM bitcode is not completely compatible. So a file from 2.9 should not be used to link with 3.2.
2nd, I think you used a bitcode file gen'ed from 2.9 compiler, and use it with 3.2 compiler. Because with previous one, 'put' will be converted later into some function; but in 3.2 "printf" just keeps its name. For this part I don't remember clearly. Hope I am right.

from crossbridge.

cbakgly avatar cbakgly commented on July 21, 2024

@rtissera Hmm, maybe you are right. Does Crossbridge has a ZipBackingStore?

from crossbridge.

rtissera avatar rtissera commented on July 21, 2024

ZipBackingStore is a custom alcextra class based on InMemoryBackingStore

2013/10/21 Ye Liu [email protected]

@rtissera https://github.com/rtissera Hmm, maybe you are right. Does
Crossbridge has a ZipBackingStore?


Reply to this email directly or view it on GitHubhttps://github.com//issues/14#issuecomment-26699093
.

from crossbridge.

cbakgly avatar cbakgly commented on July 21, 2024

Oh yes, but guess he won't update anymore :(

from crossbridge.

alexmac avatar alexmac commented on July 21, 2024

If anyone wants commit access to the various alc* repos on my github page just send me a pull request, having a futures branch for each of them would be great but I probably won't have time to keep them up to date myself

from crossbridge.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.