Fix broken build on m68k

The GCC + valgrind fix caused the m68k build to fail (Bug#35711).
Simplify string allocation a bit to make similar problems less
likely in the future.
* src/alloc.c (sdata, SDATA_NBYTES, SDATA_DATA) [GC_CHECK_STRING_BYTES]:
Use the same implementation as with !GC_CHECK_STRING_BYTES,
as the special case is no longer needed.
(SDATA_ALIGN): New constant.
(SDATA_SIZE): Remove this macro, replacing with ...
(sdata_size): ... this new function.  All uses changed.
Properly account for sizes and alignments even in the m68k case,
and even if GC_CHECK_STRING_BYTES is not defined.
1 job for master in 90 minutes and 5 seconds (queued for 3 seconds)
Status Job ID Name Coverage
  Test
failed #1740
test-all

01:30:05

 
Name Stage Failure
failed
test-all Test The script exceeded the maximum execution time set for the job
  GEN      lisp/international/ccl-tests.log
ELC lisp/international/mule-tests.elc
GEN lisp/international/mule-tests.log
ELC lisp/international/mule-util-tests.elc
GEN lisp/international/mule-util-tests.log
ELC lisp/international/ucs-normalize-tests.elc
GEN lisp/international/ucs-normalize-tests.log
Pulling docker image gitlab/gitlab-runner-helper:x86_64-f100a208 ...
ERROR: Job failed: execution took longer than 1h30m0s seconds