[Bug target/16350] gcc only understands little endian ARM systems
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16350 Sam Thursfield changed: What|Removed |Added CC||sam.thursfield at codethink ||dot co.uk --- Comment #30 from Sam Thursfield 2013-01-09 11:36:46 UTC --- I hit this bug trying to build a GCC 4.6.2 that defaulted to ARMv7-a big-endian. Correct code would only be produced if "-mbig-endian" was passed during linking so that the --be8 flag was passed to the linker, but this meant that the compiler on my target system defaulted to producing code that didn't work on the target system -- not pretty. This particular issue has been fixed in 4.7.3 and later, however: 2012-07-25 Bharathi Seshadri Jim Wilson * config/arm/bpabi.h (BE8_LINK_SPEC): Set according to TARGET_BIG_ENDIAN_DEFAULT. >From http://gcc.gnu.org/git/gcc.git: commit c6e19dd6c296449f6d9e54d630f8198acf103d24 Author: wilson Date: Wed Jul 25 20:13:46 2012 + Pass -be8 by default for armv7-a when configured big-endian. config/arm/bpabi.h (BE8_LINK_SPEC): Set according to TARGET_BIG_ENDIAN_DEFAULT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189867 138bc75d-0d04-0410-961f-82ee72b054a4 Backporting this patch to 4.6.2 means that I now have a compiler that produces correct code just from appending "eb" to the CPU in the target triplet and configuring GCC with the correct --with-arch= flag.
[Bug target/16350] gcc only understands little endian ARM systems
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16350 --- Comment #31 from Sam Thursfield 2013-01-09 11:46:59 UTC --- Ignore the comment about GCC 4.7.3, which doesn't even exist. Looks like the fix is only in trunk so far.
[Bug libstdc++/82033] New: C++11 library doesn't work on AIX if GCC is built with --disable-bootstrap
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82033 Bug ID: 82033 Summary: C++11 library doesn't work on AIX if GCC is built with --disable-bootstrap Product: gcc Version: 7.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: sam.thursfield at codethink dot co.uk Target Milestone: --- Host: powerpc-ibm-aix7.1.0.0 Target: powerpc-ibm-aix7.1.0.0 Build: powerpc-ibm-aix7.1.0.0 Here's a simple testcase: ``` #include #include #include using namespace std; void task1(string msg) { cout << "task1 says: " << msg; } int main() { std::thread t1(task1, "Hello"); t1.join(); } ``` This builds fine using `g++ -std=c++11 -pthread`. *Unless* you built the compiler with `--disable-bootstrap`. In that case, it fails: ```threadtest.cpp: In function 'int main()': threadtest.cpp:16:10: error: 'thread' is not a member of 'std' std::thread t1(task1, "Hello"); ^~ threadtest.cpp:16:10: note: suggested alternative: 'tera' std::thread t1(task1, "Hello"); ^~ tera threadtest.cpp:19:5: error: 't1' was not declared in this scope t1.join(); ^~ threadtest.cpp:19:5: note: suggested alternative: 'tm' t1.join(); ^~ tm ```
[Bug libstdc++/82033] C++11 library doesn't work on AIX if GCC is built with --disable-bootstrap
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82033 --- Comment #2 from Sam Thursfield --- Sorry, I really thought I'd tracked down the correct cause before reporting the bug, but it seems something else I'm doing is breaking the library.
[Bug libstdc++/82033] C++11 library doesn't work on AIX if GCC is built with --disable-bootstrap
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82033 Sam Thursfield changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #3 from Sam Thursfield --- This was me jumping to conclusions, sorry.
[Bug libstdc++/82033] C++11 library doesn't work on AIX if GCC is built with --disable-bootstrap
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82033 --- Comment #4 from Sam Thursfield --- For posterity, the actual cause of my issue was passing `--disable-multilib` to configure. It's pretty clear why this broke some threading stuff -- 'pthread' is a whole separate set of libs on AIX.