wiki:kOptions

Version 1 (modified by guest, 12 years ago) (diff)

Initial list of all -Z options that I could find

GCC on OS/2 supports several extra options. They all start with -Z. With the exception of -Zomf (others?) they are affecting the linking.

  • -Zcrtdll: link the C library dynamically
  • -Zdll: create a dynamic link library
  • -Zexe: touch output file, add .exe extension
  • -Zhigh-mem: link so that the C library calls in the program make use of "high memory". This is similiar to specifying OBJ_ANY to OS/2 API memory calls. If you use this option you should include os2safe.h as the first include file in every C file that uses OS/2 APIs.
  • -Zlinker: pass option through to linker (like -Zlinker /EXEPACK:2 -Zlinker /PACKCODE)
  • -Zmap: tell linker or emxbind to create a .map file that contains the addresses of all symbols
  • -Zno-autoconv: switch off automatic conversion between a.out and OMF format when linking.
  • -Zomf: compile and link using OMF format instead of a.out.

These are mentioned in ReleaseNotes?.os2 but not sure what they do exactly:

  • -Zargs-wild: something with wildcards?
  • -Zargs-resp: ??
  • -Zdll-search: ??
  • -Zhigh-low: ??
  • -Zno-fork: turn off the fork() function?
  • -Zno-unix: non-unix like mode, affects slash handling and fork()?

These were supported options with EMX/gcc 2.8.x, not sure if they are still supported now:

  • -Zbin-files: open files in binary mode by default
  • -Zbsd-signals: select the `BSD' signal processing model
  • -Zmt: multithread code
  • -Zmtd: multithread code, link C library dynamically
  • -Zmts: multithread code, link C library statically
  • -Zno-rte: create DLL without runtime environment
  • -Zsmall-conv: use small, fast, and inaccurate routines for converting decimal numbers to binary and vice versa
  • -Zstack: set the stack size
  • -Zso: create stand-alone DLL
  • -Zsys: create stand-alone OS/2 program (no emx.dll)
  • -Zsysv-signals: select the `System V' signal processing model