Skip to content
Snippets Groups Projects
Select Git revision
  • aead-api
  • master default
  • rsa-crt-hardening
  • chacha96
  • fat-library
  • versioned-symbols
  • curve25519
  • dsa-reorg
  • set_key-changes
  • poly1305
  • aes-reorg
  • nettle-2.7-fixes
  • size_t-changes
  • ecc-support
  • experimental-20050201
  • lsh-1.4.2
  • nettle_3.1.1_release_20150424
  • nettle_3.1_release_20150407
  • nettle_3.1rc3
  • nettle_3.1rc2
  • nettle_3.1rc1
  • nettle_3.0_release_20140607
  • nettle_2.7.1_release_20130528
  • nettle_2.7_release_20130424
  • nettle_2.6_release_20130116
  • nettle_2.5_release_20120707
  • converted-master-branch-to-git
  • nettle_2.4_release_20110903
  • nettle_2.3_release_20110902
  • nettle_2.2_release_20110711
  • nettle_2.1_release_20100725
  • camellia_32bit_20100720
  • nettle_2.0_release_20090608
  • nettle_1.15_release_20061128
  • after_experimental_merge_20060516
  • head_before_experimental_merge_20060516
36 results

machine.m4

Blame
  • Forked from Nettle / nettle
    Source project has a limited visibility.
    asm.m4 1.75 KiB
    divert(-1)
    changequote(<,>)dnl
    dnl (progn (modify-syntax-entry ?< "(>") (modify-syntax-entry ?> ")<") )
    
    dnl FORTRAN style comment character
    define(<C>, <
    dnl>)dnl
    dnl Disable m4 comment processing, since the default, #, is used for
    dnl constants on some architectures, in particular ARM.
    changecom()dnl
    
    dnl Including files from the srcdir
    define(<include_src>, <include(srcdir/$1)>)dnl
    
    dnl Pseudo ops
    
    define(<PROLOGUE>,
    <ifelse(ELF_STYLE,yes,
    <.globl C_NAME($1)
    .type C_NAME($1),TYPE_FUNCTION
    C_NAME($1):>,
    <.globl C_NAME($1)
    C_NAME($1):>)>)
    
    define(<EPILOGUE>,
    <ifelse(ELF_STYLE,yes,
    <.size C_NAME($1), . - C_NAME($1)>,<>)>)
    
    dnl Argument to ALIGN is always logarithmic
    dnl FIXME: the << operator is not supported by Solaris m4,
    dnl and ** is not supported by OpenBSD m4.
    dnl We should switch to non-logarithmic ALIGN instead.
    
    dnl Need changequote to be able to use the << operator.
    define(<ALIGN>,
    <changequote([,])dnl
    .align ifelse(ALIGN_LOG,yes,$1,eval(1 << $1))dnl >> balance
    changequote(<,>)dnl
    >)
    
    dnl Struct defining macros
    
    dnl STRUCTURE(prefix) 
    define(<STRUCTURE>, <define(<SOFFSET>, 0)define(<SPREFIX>, <$1>)>)dnl
    
    dnl STRUCT(name, size)
    define(<STRUCT>,
    <define(SPREFIX<_>$1, SOFFSET)dnl
     define(<SOFFSET>, eval(SOFFSET + ($2)))>)dnl
    
    dnl UCHAR(name)
    define(<UCHAR>, <STRUCT(<$1>, 1)>)dnl
    
    dnl UNSIGNED(name)
    define(<UNSIGNED>, <STRUCT(<$1>, 4)>)dnl
    
    dnl Offsets in arcfour_ctx
    STRUCTURE(ARCFOUR)
      STRUCT(S, 256)
      UCHAR(I)
      UCHAR(J)
    
    dnl Offsets in aes_ctx and aes_table
    STRUCTURE(AES)
      STRUCT(KEYS, 4*60)
      UNSIGNED(NROUNDS)
    
    define(AES_SBOX_SIZE,	256)dnl
    define(AES_TABLE_SIZE,	1024)dnl
    
    STRUCTURE(AES)
      STRUCT(SBOX, AES_SBOX_SIZE)
      STRUCT(TABLE0, AES_TABLE_SIZE)
      STRUCT(TABLE1, AES_TABLE_SIZE)
      STRUCT(TABLE2, AES_TABLE_SIZE)
      STRUCT(TABLE3, AES_TABLE_SIZE)
    
    divert