English Amiga Board

English Amiga Board (https://eab.abime.net/index.php)
-   News (https://eab.abime.net/forumdisplay.php?f=29)
-   -   vbcc V0.9e released (https://eab.abime.net/showthread.php?t=82136)

phx 23 March 2016 21:40

vbcc V0.9e released
 
I hope I didn't forget too much. These releases are becoming way too complicated...

http://sun.hasenbraten.de/vbcc/

Changes since last release:
  • New options -deps and -deps-for-libs to output dependencies for a Makefile.
  • Print whole include-stack when encountering an error in include files.
  • Fixed undefined symbols in DWARF output by avoiding debug information for removed static variables.
  • Do not consider floats as induction variables. Fixes -O3 optimized loops with float variables.
  • Fixed bug with nested designated initalizers in unions.
  • Updated Warp3D headers and link libraries to V4.2a.
  • Make sure kick13 config file is included for m68k-amigaos (Kickstart 1.x compatibility).
  • m68k: Fixed asm-peephole optimization of move.l dx,ay; move.l ay,dx when cc of ay is used.
  • vclib: Improve C99 compatibility in m881, m040 and m040 libraries with Inf and NaN values.
  • vclib: 6888x, 68040 and 68060 math libraries for Atari.
  • vclib: C99 inttypes.h, strtoimax(), strtoumax(), imaxabs(), imaxdiv(), isblank().
  • vclib: Fixed sign of remainder in div(), ldiv(), lldiv().
  • vclib: sscanf() erroneously included the string terminator.
  • vclib: Fixed float operations with m13.lib (Kickstart 1.x mathffp).
  • vclib: setjmp/longjmp() also save/restore FPU registers.
  • vclib: minstart.o fixes for OS4 and MorphOS (small data and WB start).
  • amigalib: Fixed rtEZRequest() and rtEZRequestTags()

kamelito 23 March 2016 22:17

Thanks for your work on this.
Kamelito

majikeyric 24 March 2016 10:31

Great! Thanks!!!

Cowcat 24 March 2016 12:23

Cool !! :)
But those W3D headers aren't 4.2a (there's no V4 stuff : Drawarrays, DrawElements , etc ) :)

phx 24 March 2016 14:04

Hmm... you're right. I was afraid that I forget something. Will check for the reason this evening (bad FD oder header file passd into fd2pragma?).

Cowcat 24 March 2016 15:20

There are warp3d_protos already done on my Q2 sources for minigl (just in case).

Just found that in order to use ppcmath.lib, "-mrel" is needed for vlink ( on config warpos_warpos ).

matthey 24 March 2016 20:11

Quote:

Originally Posted by phx (Post 1079885)
Hmm... you're right. I was afraid that I forget something. Will check for the reason this evening (bad FD oder header file passd into fd2pragma?).

The Warp3D SDK has Warp3D.fd (and Warp3DPPC.fd) but this should be Warp3D_lib.fd using standard .fd naming. My FD: directory has Warp3D.fd and Warp3D_lib.fd but both of mine are the new versions. Perhaps the problem is related to this unusual naming?

phx 24 March 2016 21:02

Ok, found the problem. My clib/Warp3D_protos.h was too old. The FD-files were ok.

Did a "silent update" for the m68k-amigaos and ppc-warpos targets.

phx 24 March 2016 21:15

Quote:

Originally Posted by Cowcat (Post 1079910)
Just found that in order to use ppcmath.lib, "-mrel" is needed for vlink ( on config warpos_warpos ).

Oh, indeed. Unfortunately I don't have the sources for ppcmath.lib, and it was built with StormC, so the section names differ and the new vlink no longer automatically merges them.

Might be a good idea to add -mrel to the warpos config. Will update that too.

Cowcat 24 March 2016 21:40

The whole ppcmath.lib source is located in RayStorm rendering package, made open source a couple of years ago. Some work with macros & stuff is needed to recompile for a clean vbcc lib. Just to inform, not to demand a new one from Phx ;)

phx 25 March 2016 15:26

Quote:

Originally Posted by Cowcat (Post 1079978)
The whole ppcmath.lib source is located in RayStorm rendering package, made open source a couple of years ago.

I found the source on GitHub, but unfortunately it is not the final version. Parts of the lib_ppcmath source cannot work. For example, look at the "RELOC:" in log_asm.pasm, or the missing initialization of r3 with log_table_base in pow_asm.pasm.

Seems it would be better to do that from scratch.

Cowcat 25 March 2016 15:44

Quote:

"RELOC:"
Missed that !
And wtf is ?? Maybe some Sherlock work on the disassembly could show where it points: Did that some time ago and most of the original library is similar to the sources. Dunno now.

Leffmann 25 March 2016 23:25

Thanks a lot!

tolkien 26 March 2016 01:53

Thanks! Downloading to my Amiga/MorphOS setups!

ReadOnlyCat 28 March 2016 16:04

Thanks for your work, phx!

Hedeon 31 October 2016 18:47

Looking at the source of ppcmath.lib inside Raystorm I think there are a couple of things mixed-up. pow.c and pow_asm.pasm are actually equivalent to exp_asm.pasm (the latter has the correct log_table_base reference).

same for log_asm.pasm. That one is also in exp_asm.pasm.

I think you only need
acos.c
atan_asm.pasm
exp_asm.pasm
sqrt_asm.pasm
trig_asm.pasm

(also the only ones referenced in the StormC build files).

Hedeon 31 October 2016 19:03

Oh and it seems to be disassembled by wosira. So I guess you have to adjust the source to make it compile with vasm

Hedeon 31 October 2016 21:18

I compiled bltzquake without ppcmath.lib and I don't see a difference speed-wise with the one compiled by CowCat (which I presume is linked to ppcmath).

edit: nevermind. Used the wrong executables. Not usre if ppcmath is faster or equally fast as m.


All times are GMT +2. The time now is 19:58.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.

Page generated in 0.04949 seconds with 11 queries