What version of Sybase you are using. I recall a bug in 11.5 long time ago. Here's a copy of the case with Sybase.
Stored procedures sp_helpsegment and sp_helpdb return negative free space values.
Tip or Workaround:
The negative space values occur because a value in the dbtable structure is incorrect. Sp_helpsegment and sp_helpdb both use a system function curunreservedpgs() which accesses the databases internal memory structure - the DBTABLE - and reads the value for dbt_unrsvd for each database fragment, if this value is negative then the value returned by the procedure will also be negative.
The fact that the dbt_unrsvd value is incorrect should not in any way effect the space usage in the database. When pages need to be allocated ASE uses the allocation pages and GAM pages, not the value stored in the dbtable, to determine if there is space available. The dbt_unrsvd value should however be regularly updated on extent allocations and deallocations. Currently there are no open bugs logged for these negative dbt_unrsvd values.
Currently no bugfix available - reboot the Server as a workaround.