Port-powerpc archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: switching ppc to GCC 4.8
matthew green wrote:
> actually, my pegasos has had a GCC 4.8 userland for about a year,
> but only ever had one kernel that booted (i suspect somethings
> are just aligned right), until recently i had been GCC 4.5 kernels
> only.
I made tests with gcc 4.8, 12 months ago, and a macppc kernel crashed very
early on a PowerBook5,6 after printing the memory regions.
This is much better now. A 7.99.2 kernel and userland, compiled with gcc 4.8
works fine.
>> Did you compare the ATF output of a system compiled with 4.5 with 4.8?
>> That seems the easiest way to me for verifying 4.8 is ok.
>
> i didn't compare them recently, but last time i did, the userland
> was identical output with a GCC 4.5 kernels.
Unfortunately I have a serious problem with atf on the above mentioned
PowerBook. Not a single test works:
---8<---
powerbook# pwd
/usr/tests
powerbook# atf-run | atf-report
Tests root: /usr/tests
bin/cat/t_cat (1/602): 2 test cases
align: [0.104806s] Passed.
nonexistent: atf-report: ERROR: 34: Unexpected token `<<EOF>>'; expected
end of test
atf-report: case or test case's stdout/stderr line
[1] Segmentation fault (core dumped) atf-run |
Done(1) atf-report
---8<---
atf-run crashed in __tls_get_addr():
---8<---
(gdb) bt
#0 0xfdfed644 in __tls_get_addr () from /usr/libexec/ld.elf_so
#1 0xfdf2fe14 in __cxa_get_globals () from /usr/lib/libstdc++.so.7
#2 0xfdf2e4b4 in __cxa_throw () from /usr/lib/libstdc++.so.7
#3 0x01823cb0 in ?? ()
#4 0x01823f38 in tools::fs::exists(tools::fs::path const&) ()
#5 0x01806cdc in atf_run::run_test_program(tools::fs::path const&,
tools::test_program::atf_tps_writer&, std::map<std::string, std::string,
std::less<std::string>, std::allocator<std::pair<std::string const,
std::string> > > const&) ()
#6 0x01808abc in atf_run::run_test(tools::fs::path const&,
tools::test_program::atf_tps_writer&, std::map<std::string, std::string,
std::less<std::string>, std::allocator<std::pair<std::string const,
std::string> > > const&) ()
#7 0x01808ce0 in atf_run::run_test_directory(tools::fs::path const&,
tools::test_program::atf_tps_writer&) ()
#8 0x01808b08 in atf_run::run_test(tools::fs::path const&,
tools::test_program::atf_tps_writer&, std::map<std::string, std::string,
std::less<std::string>, std::allocator<std::pair<std::string const,
std::string> > > const&) ()
#9 0x01808ce0 in atf_run::run_test_directory(tools::fs::path const&,
tools::test_program::atf_tps_writer&) ()
#10 0x01808b08 in atf_run::run_test(tools::fs::path const&,
tools::test_program::atf_tps_writer&, std::map<std::string, std::string,
std::less<std::string>, std::allocator<std::pair<std::string const,
std::string> > > const&) ()
#11 0x018284d0 in atf_run::main() ()
#12 0x0181d028 in tools::application::app::run(int, char* const*) ()
#13 0x01828184 in main ()
(gdb) disassemble __tls_get_addr
Dump of assembler code for function __tls_get_addr:
0xfdd03fa8 <+0>: stwu r1,-32(r1)
0xfdd03fac <+4>: mflr r0
0xfdd03fb0 <+8>: bcl 20,4*cr7+so,0xfdd03fb4 <__tls_get_addr+12>
0xfdd03fb4 <+12>: stw r30,24(r1)
0xfdd03fb8 <+16>: mflr r30
0xfdd03fbc <+20>: stw r0,36(r1)
0xfdd03fc0 <+24>: addis r30,r30,18
0xfdd03fc4 <+28>: addi r30,r30,10840
0xfdd03fc8 <+32>: bl 0xfddab910
<00008000.got2.plt_pic32.abort+320>
End of assembler dump.
---8<---
Although I'm not sure why...
---8<---
(gdb) info reg
r0 0xfdf2e4b4 4260553908
r1 0xffffd190 4294955408
[...]
r30 0xfdfdbe20 4261264928
r31 0xfdb14150 4256252240
pc 0xfdfed644 0xfdfed644 <__tls_get_addr+16>
msr <unavailable>
cr 0x24000082 603979906
lr 0xfdf2fe14 0xfdf2fe14 <__cxa_get_globals+60>
---8<---
--
Frank Wille
Home |
Main Index |
Thread Index |
Old Index